{ "name": "StakingPool", "desc": "", "methods": [ { "name": "updateApplication", "args": [], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "UpdateApplication" ] } }, { "name": "createApplication", "desc": "Initialize the staking pool w/ owner and manager, but can only be created by the validator contract.", "args": [ { "name": "creatingContractId", "type": "uint64", "desc": "id of contract that constructed us - the validator application (single global instance)" }, { "name": "validatorId", "type": "uint64", "desc": "id of validator we're a staking pool of" }, { "name": "poolId", "type": "uint64", "desc": "which pool id are we" }, { "name": "minEntryStake", "type": "uint64", "desc": "minimum amount to be in pool, but also minimum amount balance can't go below (without removing all!)" } ], "returns": { "type": "void" }, "actions": { "create": [ "NoOp" ], "call": [] } }, { "name": "gas", "desc": "gas is a dummy no-op call that can be used to pool-up resource references and opcode cost", "args": [], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "initStorage", "desc": "Called after we're created and then funded, so we can create our large stakers ledger storage\nCaller has to get MBR amounts from ValidatorRegistry to know how much to fund us to cover the box storage cost\nIf this is pool 1 AND the validator has specified a reward token, opt-in to that token\nso that the validator can seed the pool with future rewards of that token.", "args": [ { "name": "mbrPayment", "type": "pay", "desc": "payment from caller which covers mbr increase of new staking pools' storage" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "addStake", "desc": "Adds stake to the given account.\nCan ONLY be called by the validator contract that created us\nMust receive payment from the validator contract for amount being staked.", "args": [ { "name": "stakedAmountPayment", "type": "pay", "desc": "prior payment coming from validator contract to us on behalf of staker." }, { "name": "staker", "type": "address", "desc": "The account adding new stake" } ], "returns": { "type": "uint64", "desc": "uint64 new 'entry round' round number of stake add" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "removeStake", "desc": "Removes stake on behalf of caller (removing own stake). If any token rewards exist, those are always sent in\nfull. Also notifies the validator contract for this pools validator of the staker / balance changes.", "args": [ { "name": "staker", "type": "address", "desc": "account to remove. normally same as sender, but the validator owner or manager can also call\nthis to remove the specified staker explicitly. The removed stake MUST only go to the staker of course. This is\nso a validator can shut down a poool and refund the stakers. It can also be used to kick out stakers who no longer\nmeet the gating requirements (determined by the node daemon)." }, { "name": "amountToUnstake", "type": "uint64", "desc": "The amount of stake to be removed. Specify 0 to remove all stake." } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "claimTokens", "desc": "Claims all the available reward tokens a staker has available, sending their entire balance to the staker from\npool 1 (either directly, or via validator-pool1 to pay it out)\nAlso notifies the validator contract for this pools validator of the staker / balance changes.", "args": [], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "getStakerInfo", "desc": "Retrieves the staked information for a given staker.", "args": [ { "name": "staker", "type": "address", "desc": "The address of the staker." } ], "returns": { "type": "(address,uint64,uint64,uint64,uint64)", "desc": "StakedInfo - The staked information for the given staker.", "struct": "StakedInfo" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "payTokenReward", "desc": "[Internal protocol method] Remove a specified amount of 'community token' rewards for a staker.\nThis can ONLY be called by our validator and only if we're pool 1 - with the token.\nNote: this can also be called by validator as part of OWNER wanting to send the reward tokens\nsomewhere else (ie if they're sunsetting their validator and need the reward tokens back).\nIt's up to the validator to ensure that the balance in rewardTokenHeldBack is honored.", "args": [ { "name": "staker", "type": "address", "desc": "the staker account to send rewards to" }, { "name": "rewardToken", "type": "uint64", "desc": "id of reward token (to avoid re-entrancy in calling validator back to get id)" }, { "name": "amountToSend", "type": "uint64", "desc": "amount to send the staker (there is significant trust here(!) - also why only validator can call us" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "updateAlgodVer", "desc": "Update the (honor system) algod version for the node associated to this pool. The node management daemon\nshould compare its current nodes version to the version stored in global state, updating when different.\nThe reti node daemon composes its own version string using format:\nmajor.minor.build branch [commit hash],\nie: 3.22.0 rel/stable [6b508975]\n[ ONLY OWNER OR MANAGER CAN CALL ]", "args": [ { "name": "algodVer", "type": "string", "desc": "string representing the algorand node daemon version (reti node daemon composes its own meta version)" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "epochBalanceUpdate", "desc": "Updates the balance of stakers in the pool based on the received 'rewards' (current balance vs known staked balance)\nstakers outstanding balance is adjusted based on their % of stake and time in the current epoch - so that balance\ncompounds over time and staker can remove that amount at will.\nThe validator is paid their percentage each epoch payout.\n\n\nNote: ANYONE can call this.", "args": [], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "goOnline", "desc": "Registers a staking pool key online against a participation key.\n[ ONLY OWNER OR MANAGER CAN CALL ]", "args": [ { "name": "feePayment", "type": "pay", "desc": "payment to cover extra fee of going online if offline - or 0 if not renewal" }, { "name": "votePK", "type": "byte[]", "desc": "The vote public key." }, { "name": "selectionPK", "type": "byte[]", "desc": "The selection public key." }, { "name": "stateProofPK", "type": "byte[]", "desc": "The state proof public key." }, { "name": "voteFirst", "type": "uint64", "desc": "The first vote index." }, { "name": "voteLast", "type": "uint64", "desc": "The last vote index." }, { "name": "voteKeyDilution", "type": "uint64", "desc": "The vote key dilution value." } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "goOffline", "desc": "Marks a staking pool key OFFLINE.\n[ ONLY OWNER OR MANAGER CAN CALL ]", "args": [], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "linkToNFD", "args": [ { "name": "nfdAppId", "type": "uint64" }, { "name": "nfdName", "type": "string" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "proxiedSetTokenPayoutRatio", "desc": "proxiedSetTokenPayoutRatio is meant to be called by pools != 1 - calling US, pool #1\nWe need to verify that we are in fact being called by another of OUR pools (not us)\nand then we'll call the validator on their behalf to update the token payouts", "args": [ { "name": "poolKey", "type": "(uint64,uint64,uint64)", "desc": "ValidatorPoolKey tuple", "struct": "ValidatorPoolKey" } ], "returns": { "type": "(uint64[24],uint64)", "struct": "PoolTokenPayoutRatio" }, "actions": { "create": [], "call": [ "NoOp" ] } } ], "arcs": [ 4, 56 ], "structs": { "StakedInfo": [ { "name": "account", "type": "address" }, { "name": "balance", "type": "uint64" }, { "name": "totalRewarded", "type": "uint64" }, { "name": "rewardTokenBalance", "type": "uint64" }, { "name": "entryRound", "type": "uint64" } ], "PoolTokenPayoutRatio": [ { "name": "poolPctOfWhole", "type": "uint64[24]" }, { "name": "updatedForPayout", "type": "uint64" } ], "ValidatorPoolKey": [ { "name": "id", "type": "uint64" }, { "name": "poolId", "type": "uint64" }, { "name": "poolAppId", "type": "uint64" } ] }, "state": { "schema": { "global": { "bytes": 3, "ints": 11 }, "local": { "bytes": 0, "ints": 0 } }, "keys": { "global": { "creatingValidatorContractAppId": { "key": "Y3JlYXRvckFwcA==", "keyType": "AVMBytes", "valueType": "uint64" }, "validatorId": { "key": "dmFsaWRhdG9ySWQ=", "keyType": "AVMBytes", "valueType": "uint64" }, "poolId": { "key": "cG9vbElk", "keyType": "AVMBytes", "valueType": "uint64" }, "numStakers": { "key": "bnVtU3Rha2Vycw==", "keyType": "AVMBytes", "valueType": "uint64" }, "totalAlgoStaked": { "key": "c3Rha2Vk", "keyType": "AVMBytes", "valueType": "uint64" }, "minEntryStake": { "key": "bWluRW50cnlTdGFrZQ==", "keyType": "AVMBytes", "valueType": "uint64" }, "lastPayout": { "key": "bGFzdFBheW91dA==", "keyType": "AVMBytes", "valueType": "uint64" }, "epochNumber": { "key": "ZXBvY2hOdW1iZXI=", "keyType": "AVMBytes", "valueType": "uint64" }, "algodVer": { "key": "YWxnb2RWZXI=", "keyType": "AVMBytes", "valueType": "AVMBytes" }, "roundsPerDay": { "key": "cm91bmRzUGVyRGF5", "keyType": "AVMBytes", "valueType": "uint64" }, "binRoundStart": { "key": "YmluUm91bmRTdGFydA==", "keyType": "AVMBytes", "valueType": "uint64" }, "stakeAccumulator": { "key": "c3Rha2VBY2N1bXVsYXRvcg==", "keyType": "AVMBytes", "valueType": "uint128" }, "rewardAccumulator": { "key": "cmV3YXJkQWNjdW11bGF0b3I=", "keyType": "AVMBytes", "valueType": "uint64" }, "weightedMovingAverage": { "key": "ZXdtYQ==", "keyType": "AVMBytes", "valueType": "uint128" } }, "local": {}, "box": { "stakers": { "key": "c3Rha2Vycw==", "keyType": "AVMBytes", "valueType": "(address,uint64,uint64,uint64,uint64)[200]" } } }, "maps": { "global": {}, "local": {}, "box": {} } }, "bareActions": { "create": [], "call": [] }, "sourceInfo": { "approval": { "sourceInfo": [ { "teal": 15, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ 1, 2 ] }, { "teal": 16, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ 3 ] }, { "teal": 17, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ 4 ] }, { "teal": 18, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ 5 ] }, { "teal": 19, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ 6, 7 ] }, { "teal": 20, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ 8 ] }, { "teal": 21, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34 ] }, { "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": [ 35 ] }, { "teal": 30, "source": "examples/reti/stakingPool.algo.ts:93", "pc": [ 36, 37, 38 ] }, { "teal": 31, "source": "examples/reti/stakingPool.algo.ts:93", "pc": [ 39 ] }, { "teal": 32, "source": "examples/reti/stakingPool.algo.ts:93", "pc": [ 40 ] }, { "teal": 36, "source": "examples/reti/stakingPool.algo.ts:93", "pc": [ 41, 42, 43 ] }, { "teal": 43, "source": "examples/reti/stakingPool.algo.ts:95", "pc": [ 44, 45 ] }, { "teal": 44, "source": "examples/reti/stakingPool.algo.ts:95", "pc": [ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79 ] }, { "teal": 45, "source": "examples/reti/stakingPool.algo.ts:95", "pc": [ 80 ] }, { "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": [ 81 ] }, { "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 ] }, { "teal": 58, "source": "examples/reti/stakingPool.algo.ts:107", "pc": [ 87, 88, 89 ] }, { "teal": 59, "source": "examples/reti/stakingPool.algo.ts:107", "pc": [ 90 ] }, { "teal": 62, "source": "examples/reti/stakingPool.algo.ts:107", "pc": [ 91, 92, 93 ] }, { "teal": 63, "source": "examples/reti/stakingPool.algo.ts:107", "pc": [ 94 ] }, { "teal": 66, "source": "examples/reti/stakingPool.algo.ts:107", "pc": [ 95, 96, 97 ] }, { "teal": 67, "source": "examples/reti/stakingPool.algo.ts:107", "pc": [ 98 ] }, { "teal": 70, "source": "examples/reti/stakingPool.algo.ts:107", "pc": [ 99, 100, 101 ] }, { "teal": 71, "source": "examples/reti/stakingPool.algo.ts:107", "pc": [ 102 ] }, { "teal": 72, "source": "examples/reti/stakingPool.algo.ts:107", "pc": [ 103 ] }, { "teal": 82, "source": "examples/reti/stakingPool.algo.ts:107", "pc": [ 104, 105, 106 ] }, { "teal": 87, "source": "examples/reti/stakingPool.algo.ts:108", "pc": [ 107, 108 ] }, { "teal": 88, "source": "examples/reti/stakingPool.algo.ts:108", "pc": [ 109 ] }, { "teal": 89, "source": "examples/reti/stakingPool.algo.ts:108", "pc": [ 110 ] }, { "teal": 90, "source": "examples/reti/stakingPool.algo.ts:108", "pc": [ 111, 112, 113 ] }, { "teal": 95, "source": "examples/reti/stakingPool.algo.ts:110", "pc": [ 114, 115 ] }, { "teal": 96, "source": "examples/reti/stakingPool.algo.ts:110", "pc": [ 116 ] }, { "teal": 97, "source": "examples/reti/stakingPool.algo.ts:110", "pc": [ 117 ] }, { "teal": 98, "source": "examples/reti/stakingPool.algo.ts:110", "pc": [ 118 ] }, { "teal": 102, "source": "examples/reti/stakingPool.algo.ts:111", "pc": [ 119, 120 ] }, { "teal": 103, "source": "examples/reti/stakingPool.algo.ts:111", "pc": [ 121 ] }, { "teal": 104, "source": "examples/reti/stakingPool.algo.ts:111", "pc": [ 122 ] }, { "teal": 105, "source": "examples/reti/stakingPool.algo.ts:111", "pc": [ 123 ] }, { "teal": 106, "source": "examples/reti/stakingPool.algo.ts:108", "pc": [ 124, 125, 126 ] }, { "teal": 111, "source": "examples/reti/stakingPool.algo.ts:113", "pc": [ 127, 128 ] }, { "teal": 112, "source": "examples/reti/stakingPool.algo.ts:113", "pc": [ 129 ] }, { "teal": 113, "source": "examples/reti/stakingPool.algo.ts:113", "pc": [ 130 ] }, { "teal": 114, "source": "examples/reti/stakingPool.algo.ts:113", "pc": [ 131 ] }, { "teal": 118, "source": "examples/reti/stakingPool.algo.ts:114", "pc": [ 132, 133 ] }, { "teal": 119, "source": "examples/reti/stakingPool.algo.ts:114", "pc": [ 134 ] }, { "teal": 120, "source": "examples/reti/stakingPool.algo.ts:114", "pc": [ 135 ] }, { "teal": 121, "source": "examples/reti/stakingPool.algo.ts:114", "pc": [ 136 ] }, { "teal": 126, "source": "examples/reti/stakingPool.algo.ts:116", "pc": [ 137, 138 ] }, { "teal": 127, "source": "examples/reti/stakingPool.algo.ts:116", "pc": [ 139, 140, 141, 142 ] }, { "teal": 128, "source": "examples/reti/stakingPool.algo.ts:116", "pc": [ 143 ] }, { "teal": 131, "source": "examples/reti/stakingPool.algo.ts:116", "errorMessage": "staking pool must have minimum entry of 1 algo", "pc": [ 144 ] }, { "teal": 135, "source": "examples/reti/stakingPool.algo.ts:117", "pc": [ 145 ] }, { "teal": 136, "source": "examples/reti/stakingPool.algo.ts:117", "pc": [ 146, 147 ] }, { "teal": 137, "source": "examples/reti/stakingPool.algo.ts:117", "pc": [ 148 ] }, { "teal": 141, "source": "examples/reti/stakingPool.algo.ts:118", "pc": [ 149 ] }, { "teal": 142, "source": "examples/reti/stakingPool.algo.ts:118", "pc": [ 150, 151 ] }, { "teal": 143, "source": "examples/reti/stakingPool.algo.ts:118", "pc": [ 152 ] }, { "teal": 147, "source": "examples/reti/stakingPool.algo.ts:119", "pc": [ 153, 154 ] }, { "teal": 148, "source": "examples/reti/stakingPool.algo.ts:119", "pc": [ 155, 156 ] }, { "teal": 149, "source": "examples/reti/stakingPool.algo.ts:119", "pc": [ 157 ] }, { "teal": 153, "source": "examples/reti/stakingPool.algo.ts:120", "pc": [ 158, 159 ] }, { "teal": 154, "source": "examples/reti/stakingPool.algo.ts:120", "pc": [ 160 ] }, { "teal": 155, "source": "examples/reti/stakingPool.algo.ts:120", "pc": [ 161 ] }, { "teal": 159, "source": "examples/reti/stakingPool.algo.ts:121", "pc": [ 162, 163 ] }, { "teal": 160, "source": "examples/reti/stakingPool.algo.ts:121", "pc": [ 164 ] }, { "teal": 161, "source": "examples/reti/stakingPool.algo.ts:121", "pc": [ 165 ] }, { "teal": 165, "source": "examples/reti/stakingPool.algo.ts:122", "pc": [ 166, 167 ] }, { "teal": 166, "source": "examples/reti/stakingPool.algo.ts:122", "pc": [ 168, 169 ] }, { "teal": 167, "source": "examples/reti/stakingPool.algo.ts:122", "pc": [ 170 ] }, { "teal": 171, "source": "examples/reti/stakingPool.algo.ts:123", "pc": [ 171, 172 ] }, { "teal": 172, "source": "examples/reti/stakingPool.algo.ts:123", "pc": [ 173, 174 ] }, { "teal": 173, "source": "examples/reti/stakingPool.algo.ts:123", "pc": [ 175 ] }, { "teal": 177, "source": "examples/reti/stakingPool.algo.ts:124", "pc": [ 176, 177 ] }, { "teal": 178, "source": "examples/reti/stakingPool.algo.ts:124", "pc": [ 178 ] }, { "teal": 179, "source": "examples/reti/stakingPool.algo.ts:124", "pc": [ 179 ] }, { "teal": 183, "source": "examples/reti/stakingPool.algo.ts:126", "pc": [ 180, 181, 182 ] }, { "teal": 187, "source": "examples/reti/stakingPool.algo.ts:127", "pc": [ 183, 184 ] }, { "teal": 188, "source": "examples/reti/stakingPool.algo.ts:127", "pc": [ 185, 186 ] }, { "teal": 189, "source": "examples/reti/stakingPool.algo.ts:127", "pc": [ 187, 188 ] }, { "teal": 190, "source": "examples/reti/stakingPool.algo.ts:127", "pc": [ 189, 190 ] }, { "teal": 191, "source": "examples/reti/stakingPool.algo.ts:127", "pc": [ 191 ] }, { "teal": 192, "source": "examples/reti/stakingPool.algo.ts:127", "pc": [ 192 ] }, { "teal": 193, "source": "examples/reti/stakingPool.algo.ts:127", "pc": [ 193 ] }, { "teal": 194, "source": "examples/reti/stakingPool.algo.ts:127", "pc": [ 194 ] }, { "teal": 198, "source": "examples/reti/stakingPool.algo.ts:128", "pc": [ 195, 196 ] }, { "teal": 199, "source": "examples/reti/stakingPool.algo.ts:128", "pc": [ 197, 198 ] }, { "teal": 200, "source": "examples/reti/stakingPool.algo.ts:128", "pc": [ 199 ] }, { "teal": 204, "source": "examples/reti/stakingPool.algo.ts:129", "pc": [ 200, 201 ] }, { "teal": 205, "source": "examples/reti/stakingPool.algo.ts:129", "pc": [ 202 ] }, { "teal": 206, "source": "examples/reti/stakingPool.algo.ts:129", "pc": [ 203 ] }, { "teal": 210, "source": "examples/reti/stakingPool.algo.ts:130", "pc": [ 204, 205 ] }, { "teal": 211, "source": "examples/reti/stakingPool.algo.ts:130", "pc": [ 206, 207 ] }, { "teal": 212, "source": "examples/reti/stakingPool.algo.ts:130", "pc": [ 208 ] }, { "teal": 213, "source": "examples/reti/stakingPool.algo.ts:107", "pc": [ 209 ] }, { "teal": 218, "source": "examples/reti/stakingPool.algo.ts:136", "pc": [ 210, 211, 212 ] }, { "teal": 219, "source": "examples/reti/stakingPool.algo.ts:136", "pc": [ 213 ] }, { "teal": 220, "source": "examples/reti/stakingPool.algo.ts:136", "pc": [ 214 ] }, { "teal": 226, "source": "examples/reti/stakingPool.algo.ts:136", "pc": [ 215, 216, 217 ] }, { "teal": 227, "source": "examples/reti/stakingPool.algo.ts:136", "pc": [ 218 ] }, { "teal": 231, "source": "examples/reti/stakingPool.algo.ts:138", "pc": [ 219, 220, 221 ] }, { "teal": 235, "source": "examples/reti/stakingPool.algo.ts:142", "pc": [ 222, 223, 224 ] }, { "teal": 236, "source": "examples/reti/stakingPool.algo.ts:142", "pc": [ 225, 226 ] }, { "teal": 237, "source": "examples/reti/stakingPool.algo.ts:142", "pc": [ 227, 228 ] }, { "teal": 238, "source": "examples/reti/stakingPool.algo.ts:142", "pc": [ 229 ] }, { "teal": 239, "source": "examples/reti/stakingPool.algo.ts:142", "pc": [ 230 ] }, { "teal": 240, "source": "examples/reti/stakingPool.algo.ts:138", "pc": [ 231 ] }, { "teal": 245, "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ 232, 233 ] }, { "teal": 246, "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ 234 ] }, { "teal": 247, "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ 235 ] }, { "teal": 248, "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ 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": 251, "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ 240 ] }, { "teal": 254, "source": "examples/reti/stakingPool.algo.ts:152", "errorMessage": "argument 0 (mbrPayment) for initStorage must be a pay transaction", "pc": [ 241 ] }, { "teal": 257, "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ 242, 243, 244 ] }, { "teal": 258, "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ 245 ] }, { "teal": 259, "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ 246 ] }, { "teal": 269, "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ 247, 248, 249 ] }, { "teal": 272, "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ 250 ] }, { "teal": 273, "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ 251, 252 ] }, { "teal": 277, "source": "examples/reti/stakingPool.algo.ts:153", "pc": [ 253 ] }, { "teal": 278, "source": "examples/reti/stakingPool.algo.ts:153", "pc": [ 254 ] }, { "teal": 279, "source": "examples/reti/stakingPool.algo.ts:153", "pc": [ 255 ] }, { "teal": 280, "source": "examples/reti/stakingPool.algo.ts:153", "pc": [ 256 ] }, { "teal": 281, "source": "examples/reti/stakingPool.algo.ts:153", "pc": [ 257 ] }, { "teal": 284, "source": "examples/reti/stakingPool.algo.ts:153", "errorMessage": "staking pool already initialized", "pc": [ 258 ] }, { "teal": 291, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ 259 ] }, { "teal": 292, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ 260 ] }, { "teal": 293, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ 261, 262 ] }, { "teal": 294, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ 263, 264 ] }, { "teal": 295, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ 265, 266 ] }, { "teal": 299, "source": "examples/reti/stakingPool.algo.ts:157", "pc": [ 267 ] }, { "teal": 300, "source": "examples/reti/stakingPool.algo.ts:157", "pc": [ 268 ] }, { "teal": 301, "source": "examples/reti/stakingPool.algo.ts:157", "pc": [ 269, 270 ] }, { "teal": 305, "source": "examples/reti/stakingPool.algo.ts:158", "pc": [ 271 ] }, { "teal": 306, "source": "examples/reti/stakingPool.algo.ts:158", "pc": [ 272 ] }, { "teal": 307, "source": "examples/reti/stakingPool.algo.ts:158", "pc": [ 273 ] }, { "teal": 308, "source": "examples/reti/stakingPool.algo.ts:158", "pc": [ 274, 275 ] }, { "teal": 311, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ 276 ] }, { "teal": 312, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ 277, 278 ] }, { "teal": 315, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ 279 ] }, { "teal": 316, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ 280, 281 ] }, { "teal": 317, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ 282 ] }, { "teal": 318, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ 283 ] }, { "teal": 319, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ 284, 285 ] }, { "teal": 320, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ 286, 287, 288 ] }, { "teal": 321, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ 289, 290 ] }, { "teal": 325, "source": "examples/reti/stakingPool.algo.ts:160", "pc": [ 291, 292 ] }, { "teal": 326, "source": "examples/reti/stakingPool.algo.ts:160", "pc": [ 293, 294, 295 ] }, { "teal": 327, "source": "examples/reti/stakingPool.algo.ts:160", "pc": [ 296 ] }, { "teal": 328, "source": "examples/reti/stakingPool.algo.ts:160", "pc": [ 297 ] }, { "teal": 329, "source": "examples/reti/stakingPool.algo.ts:160", "pc": [ 298 ] }, { "teal": 330, "source": "examples/reti/stakingPool.algo.ts:160", "pc": [ 299, 300 ] }, { "teal": 334, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ 301, 302 ] }, { "teal": 335, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ 303 ] }, { "teal": 336, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ 304, 305, 306 ] }, { "teal": 337, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ 307, 308 ] }, { "teal": 338, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ 309 ] }, { "teal": 339, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ 310 ] }, { "teal": 340, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ 311 ] }, { "teal": 341, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ 312 ] }, { "teal": 344, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ 313, 314, 315 ] }, { "teal": 345, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ 316, 317 ] }, { "teal": 346, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ 318, 319, 320 ] }, { "teal": 349, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ 321 ] }, { "teal": 352, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ 322, 323 ] }, { "teal": 359, "source": "examples/reti/stakingPool.algo.ts:163", "pc": [ 324, 325 ] }, { "teal": 360, "source": "examples/reti/stakingPool.algo.ts:164", "pc": [ 326, 327 ] }, { "teal": 361, "source": "examples/reti/stakingPool.algo.ts:163", "pc": [ 328 ] }, { "teal": 362, "source": "examples/reti/stakingPool.algo.ts:165", "pc": [ 329, 330, 331 ] }, { "teal": 363, "source": "examples/reti/stakingPool.algo.ts:165", "pc": [ 332, 333, 334 ] }, { "teal": 364, "source": "examples/reti/stakingPool.algo.ts:164", "pc": [ 335 ] }, { "teal": 365, "source": "examples/reti/stakingPool.algo.ts:162", "pc": [ 336, 337 ] }, { "teal": 370, "source": "examples/reti/stakingPool.algo.ts:168", "pc": [ 338, 339 ] }, { "teal": 371, "source": "examples/reti/stakingPool.algo.ts:168", "pc": [ 340, 341 ] }, { "teal": 372, "source": "examples/reti/stakingPool.algo.ts:168", "pc": [ 342, 343 ] }, { "teal": 373, "source": "examples/reti/stakingPool.algo.ts:168", "pc": [ 344 ] }, { "teal": 376, "source": "examples/reti/stakingPool.algo.ts:168", "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", "pc": [ 345 ] }, { "teal": 379, "source": "examples/reti/stakingPool.algo.ts:168", "pc": [ 346, 347 ] }, { "teal": 380, "source": "examples/reti/stakingPool.algo.ts:168", "pc": [ 348, 349 ] }, { "teal": 381, "source": "examples/reti/stakingPool.algo.ts:168", "pc": [ 350, 351 ] }, { "teal": 382, "source": "examples/reti/stakingPool.algo.ts:168", "pc": [ 352 ] }, { "teal": 385, "source": "examples/reti/stakingPool.algo.ts:168", "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"amount\",\"expected\":\"PoolInitMbr\"}", "pc": [ 353 ] }, { "teal": 389, "source": "examples/reti/stakingPool.algo.ts:169", "pc": [ 354 ] }, { "teal": 390, "source": "examples/reti/stakingPool.algo.ts:169", "pc": [ 355, 356, 357 ] }, { "teal": 391, "source": "examples/reti/stakingPool.algo.ts:169", "pc": [ 358 ] }, { "teal": 392, "source": "examples/reti/stakingPool.algo.ts:169", "pc": [ 359 ] }, { "teal": 397, "source": "examples/reti/stakingPool.algo.ts:171", "pc": [ 360, 361 ] }, { "teal": 398, "source": "examples/reti/stakingPool.algo.ts:171", "pc": [ 362 ] }, { "teal": 399, "source": "examples/reti/stakingPool.algo.ts:171", "pc": [ 363, 364, 365 ] }, { "teal": 400, "source": "examples/reti/stakingPool.algo.ts:171", "pc": [ 366, 367 ] }, { "teal": 401, "source": "examples/reti/stakingPool.algo.ts:171", "pc": [ 368 ] }, { "teal": 402, "source": "examples/reti/stakingPool.algo.ts:171", "pc": [ 369 ] }, { "teal": 403, "source": "examples/reti/stakingPool.algo.ts:171", "pc": [ 370 ] }, { "teal": 404, "source": "examples/reti/stakingPool.algo.ts:171", "pc": [ 371 ] }, { "teal": 407, "source": "examples/reti/stakingPool.algo.ts:171", "pc": [ 372, 373, 374 ] }, { "teal": 416, "source": "examples/reti/stakingPool.algo.ts:173", "pc": [ 375 ] }, { "teal": 417, "source": "examples/reti/stakingPool.algo.ts:173", "pc": [ 376, 377 ] }, { "teal": 418, "source": "examples/reti/stakingPool.algo.ts:173", "pc": [ 378, 379 ] }, { "teal": 422, "source": "examples/reti/stakingPool.algo.ts:174", "pc": [ 380, 381 ] }, { "teal": 423, "source": "examples/reti/stakingPool.algo.ts:174", "pc": [ 382, 383, 384 ] }, { "teal": 424, "source": "examples/reti/stakingPool.algo.ts:174", "pc": [ 385 ] }, { "teal": 425, "source": "examples/reti/stakingPool.algo.ts:174", "pc": [ 386, 387 ] }, { "teal": 429, "source": "examples/reti/stakingPool.algo.ts:175", "pc": [ 388, 389 ] }, { "teal": 430, "source": "examples/reti/stakingPool.algo.ts:175", "pc": [ 390, 391 ] }, { "teal": 434, "source": "examples/reti/stakingPool.algo.ts:176", "pc": [ 392 ] }, { "teal": 435, "source": "examples/reti/stakingPool.algo.ts:176", "pc": [ 393, 394 ] }, { "teal": 438, "source": "examples/reti/stakingPool.algo.ts:173", "pc": [ 395 ] }, { "teal": 439, "source": "examples/reti/stakingPool.algo.ts:173", "pc": [ 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": 450, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 400, 401 ] }, { "teal": 453, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 402, 403, 404 ] }, { "teal": 454, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 405 ] }, { "teal": 455, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 406 ] }, { "teal": 456, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 407, 408 ] }, { "teal": 457, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 409 ] }, { "teal": 460, "source": "examples/reti/stakingPool.algo.ts:191", "errorMessage": "argument 0 (staker) for addStake must be a address", "pc": [ 410 ] }, { "teal": 463, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 411, 412 ] }, { "teal": 464, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 413 ] }, { "teal": 465, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 414 ] }, { "teal": 466, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 415 ] }, { "teal": 467, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 416, 417 ] }, { "teal": 468, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 418 ] }, { "teal": 469, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 419 ] }, { "teal": 472, "source": "examples/reti/stakingPool.algo.ts:191", "errorMessage": "argument 1 (stakedAmountPayment) for addStake must be a pay transaction", "pc": [ 420 ] }, { "teal": 475, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 421, 422, 423 ] }, { "teal": 476, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 424 ] }, { "teal": 477, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 425 ] }, { "teal": 478, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 426 ] }, { "teal": 479, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 427 ] }, { "teal": 480, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 428 ] }, { "teal": 493, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 429, 430, 431 ] }, { "teal": 496, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 432 ] }, { "teal": 497, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 433, 434 ] }, { "teal": 501, "source": "examples/reti/stakingPool.algo.ts:192", "pc": [ 435 ] }, { "teal": 502, "source": "examples/reti/stakingPool.algo.ts:192", "pc": [ 436 ] }, { "teal": 503, "source": "examples/reti/stakingPool.algo.ts:192", "pc": [ 437 ] }, { "teal": 504, "source": "examples/reti/stakingPool.algo.ts:192", "pc": [ 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": 515, "source": "examples/reti/stakingPool.algo.ts:196", "pc": [ 442 ] }, { "teal": 516, "source": "examples/reti/stakingPool.algo.ts:196", "pc": [ 443 ] }, { "teal": 517, "source": "examples/reti/stakingPool.algo.ts:196", "pc": [ 444, 445 ] }, { "teal": 518, "source": "examples/reti/stakingPool.algo.ts:196", "pc": [ 446 ] }, { "teal": 519, "source": "examples/reti/stakingPool.algo.ts:196", "pc": [ 447 ] }, { "teal": 522, "source": "examples/reti/stakingPool.algo.ts:195", "errorMessage": "stake can only be added via the validator contract", "pc": [ 448 ] }, { "teal": 526, "source": "examples/reti/stakingPool.algo.ts:199", "pc": [ 449, 450 ] }, { "teal": 527, "source": "examples/reti/stakingPool.algo.ts:199", "pc": [ 451, 452 ] }, { "teal": 528, "source": "examples/reti/stakingPool.algo.ts:199", "pc": [ 453 ] }, { "teal": 529, "source": "examples/reti/stakingPool.algo.ts:199", "pc": [ 454 ] }, { "teal": 533, "source": "examples/reti/stakingPool.algo.ts:202", "pc": [ 455, 456, 457 ] }, { "teal": 542, "source": "examples/reti/stakingPool.algo.ts:206", "pc": [ 458, 459 ] }, { "teal": 543, "source": "examples/reti/stakingPool.algo.ts:207", "pc": [ 460, 461 ] }, { "teal": 544, "source": "examples/reti/stakingPool.algo.ts:207", "pc": [ 462 ] }, { "teal": 545, "source": "examples/reti/stakingPool.algo.ts:207", "pc": [ 463 ] }, { "teal": 546, "source": "examples/reti/stakingPool.algo.ts:207", "pc": [ 464, 465 ] }, { "teal": 547, "source": "examples/reti/stakingPool.algo.ts:207", "pc": [ 466 ] }, { "teal": 548, "source": "examples/reti/stakingPool.algo.ts:207", "pc": [ 467 ] }, { "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": [ 468 ] }, { "teal": 554, "source": "examples/reti/stakingPool.algo.ts:206", "pc": [ 469, 470 ] }, { "teal": 555, "source": "examples/reti/stakingPool.algo.ts:208", "pc": [ 471, 472 ] }, { "teal": 556, "source": "examples/reti/stakingPool.algo.ts:208", "pc": [ 473, 474 ] }, { "teal": 557, "source": "examples/reti/stakingPool.algo.ts:208", "pc": [ 475 ] }, { "teal": 560, "source": "examples/reti/stakingPool.algo.ts:208", "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", "pc": [ 476 ] }, { "teal": 563, "source": "examples/reti/stakingPool.algo.ts:206", "pc": [ 477, 478 ] }, { "teal": 564, "source": "examples/reti/stakingPool.algo.ts:209", "pc": [ 479, 480 ] }, { "teal": 565, "source": "examples/reti/stakingPool.algo.ts:209", "pc": [ 481, 482 ] }, { "teal": 566, "source": "examples/reti/stakingPool.algo.ts:209", "pc": [ 483, 484 ] }, { "teal": 567, "source": "examples/reti/stakingPool.algo.ts:209", "pc": [ 485 ] }, { "teal": 570, "source": "examples/reti/stakingPool.algo.ts:209", "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"amount\",\"expected\":\"stakedAmountPayment.amount\"}", "pc": [ 486 ] }, { "teal": 574, "source": "examples/reti/stakingPool.algo.ts:215", "pc": [ 487, 488 ] }, { "teal": 575, "source": "examples/reti/stakingPool.algo.ts:215", "pc": [ 489, 490, 491 ] }, { "teal": 576, "source": "examples/reti/stakingPool.algo.ts:215", "pc": [ 492 ] }, { "teal": 577, "source": "examples/reti/stakingPool.algo.ts:215", "pc": [ 493, 494 ] }, { "teal": 581, "source": "examples/reti/stakingPool.algo.ts:216", "pc": [ 495 ] }, { "teal": 582, "source": "examples/reti/stakingPool.algo.ts:216", "pc": [ 496, 497 ] }, { "teal": 586, "source": "examples/reti/stakingPool.algo.ts:218", "pc": [ 498, 499 ] }, { "teal": 587, "source": "examples/reti/stakingPool.algo.ts:218", "pc": [ 500 ] }, { "teal": 588, "source": "examples/reti/stakingPool.algo.ts:218", "pc": [ 501, 502 ] }, { "teal": 589, "source": "examples/reti/stakingPool.algo.ts:218", "pc": [ 503, 504 ] }, { "teal": 590, "source": "examples/reti/stakingPool.algo.ts:218", "pc": [ 505 ] }, { "teal": 591, "source": "examples/reti/stakingPool.algo.ts:218", "pc": [ 506, 507 ] }, { "teal": 592, "source": "examples/reti/stakingPool.algo.ts:218", "pc": [ 508 ] }, { "teal": 593, "source": "examples/reti/stakingPool.algo.ts:218", "pc": [ 509 ] }, { "teal": 597, "source": "examples/reti/stakingPool.algo.ts:220", "pc": [ 510, 511 ] }, { "teal": 598, "source": "examples/reti/stakingPool.algo.ts:220", "pc": [ 512 ] }, { "teal": 599, "source": "examples/reti/stakingPool.algo.ts:220", "pc": [ 513, 514 ] }, { "teal": 600, "source": "examples/reti/stakingPool.algo.ts:220", "pc": [ 515 ] }, { "teal": 601, "source": "examples/reti/stakingPool.algo.ts:220", "pc": [ 516 ] }, { "teal": 602, "source": "examples/reti/stakingPool.algo.ts:220", "pc": [ 517, 518 ] }, { "teal": 603, "source": "examples/reti/stakingPool.algo.ts:220", "pc": [ 519 ] }, { "teal": 604, "source": "examples/reti/stakingPool.algo.ts:220", "pc": [ 520, 521 ] }, { "teal": 609, "source": "examples/reti/stakingPool.algo.ts:221", "pc": [ 522, 523 ] }, { "teal": 610, "source": "examples/reti/stakingPool.algo.ts:221", "pc": [ 524 ] }, { "teal": 611, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ 525 ] }, { "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:222", "pc": [ 530 ] }, { "teal": 615, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ 531, 532 ] }, { "teal": 616, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ 533 ] }, { "teal": 617, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ 534 ] }, { "teal": 618, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ 535 ] }, { "teal": 619, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ 536 ] }, { "teal": 620, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ 537 ] }, { "teal": 621, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ 538, 539 ] }, { "teal": 622, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ 540 ] }, { "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": 626, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ 542, 543 ] }, { "teal": 627, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ 544 ] }, { "teal": 628, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ 545 ] }, { "teal": 629, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ 546 ] }, { "teal": 630, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ 547 ] }, { "teal": 631, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ 548, 549 ] }, { "teal": 632, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ 550 ] }, { "teal": 633, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ 551 ] }, { "teal": 634, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ 552 ] }, { "teal": 635, "source": "examples/reti/stakingPool.algo.ts:221", "pc": [ 553 ] }, { "teal": 639, "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ 554 ] }, { "teal": 640, "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ 555, 556 ] }, { "teal": 645, "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ 557, 558 ] }, { "teal": 646, "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ 559, 560 ] }, { "teal": 647, "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ 561 ] }, { "teal": 648, "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ 562, 563, 564 ] }, { "teal": 653, "source": "examples/reti/stakingPool.algo.ts:226", "pc": [ 565, 566 ] }, { "teal": 654, "source": "examples/reti/stakingPool.algo.ts:226", "pc": [ 567, 568 ] }, { "teal": 655, "source": "examples/reti/stakingPool.algo.ts:226", "pc": [ 569 ] }, { "teal": 656, "source": "examples/reti/stakingPool.algo.ts:226", "pc": [ 570, 571, 572 ] }, { "teal": 661, "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ 573 ] }, { "teal": 662, "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ 574 ] }, { "teal": 663, "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ 575, 576 ] }, { "teal": 664, "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ 577 ] }, { "teal": 665, "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ 578, 579 ] }, { "teal": 666, "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ 580, 581 ] }, { "teal": 667, "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ 582 ] }, { "teal": 668, "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ 583, 584 ] }, { "teal": 669, "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ 585, 586 ] }, { "teal": 670, "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ 587, 588 ] }, { "teal": 671, "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ 589, 590 ] }, { "teal": 672, "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ 591 ] }, { "teal": 677, "source": "examples/reti/stakingPool.algo.ts:229", "pc": [ 592, 593 ] }, { "teal": 678, "source": "examples/reti/stakingPool.algo.ts:229", "pc": [ 594 ] }, { "teal": 679, "source": "examples/reti/stakingPool.algo.ts:229", "pc": [ 595 ] }, { "teal": 680, "source": "examples/reti/stakingPool.algo.ts:229", "pc": [ 596 ] }, { "teal": 681, "source": "examples/reti/stakingPool.algo.ts:229", "pc": [ 597 ] }, { "teal": 682, "source": "examples/reti/stakingPool.algo.ts:229", "pc": [ 598, 599 ] }, { "teal": 683, "source": "examples/reti/stakingPool.algo.ts:229", "pc": [ 600 ] }, { "teal": 684, "source": "examples/reti/stakingPool.algo.ts:229", "pc": [ 601, 602 ] }, { "teal": 689, "source": "examples/reti/stakingPool.algo.ts:230", "pc": [ 603, 604 ] }, { "teal": 690, "source": "examples/reti/stakingPool.algo.ts:230", "pc": [ 605, 606, 607 ] }, { "teal": 691, "source": "examples/reti/stakingPool.algo.ts:230", "pc": [ 608, 609 ] }, { "teal": 692, "source": "examples/reti/stakingPool.algo.ts:230", "pc": [ 610 ] }, { "teal": 693, "source": "examples/reti/stakingPool.algo.ts:230", "pc": [ 611, 612, 613 ] }, { "teal": 698, "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ 614, 615 ] }, { "teal": 699, "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ 616, 617 ] }, { "teal": 700, "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ 618, 619 ] }, { "teal": 701, "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ 620, 621, 622 ] }, { "teal": 702, "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ 623 ] }, { "teal": 703, "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ 624, 625 ] }, { "teal": 704, "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ 626, 627 ] }, { "teal": 705, "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ 628 ] }, { "teal": 706, "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ 629 ] }, { "teal": 707, "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ 630 ] }, { "teal": 708, "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ 631, 632 ] }, { "teal": 712, "source": "examples/reti/stakingPool.algo.ts:233", "pc": [ 633, 634 ] }, { "teal": 713, "source": "examples/reti/stakingPool.algo.ts:233", "pc": [ 635, 636 ] }, { "teal": 714, "source": "examples/reti/stakingPool.algo.ts:233", "pc": [ 637, 638 ] }, { "teal": 715, "source": "examples/reti/stakingPool.algo.ts:233", "pc": [ 639 ] }, { "teal": 716, "source": "examples/reti/stakingPool.algo.ts:233", "pc": [ 640 ] }, { "teal": 717, "source": "examples/reti/stakingPool.algo.ts:233", "pc": [ 641, 642 ] }, { "teal": 721, "source": "examples/reti/stakingPool.algo.ts:236", "pc": [ 643, 644 ] }, { "teal": 722, "source": "examples/reti/stakingPool.algo.ts:236", "pc": [ 645 ] }, { "teal": 723, "source": "examples/reti/stakingPool.algo.ts:236", "pc": [ 646 ] }, { "teal": 724, "source": "examples/reti/stakingPool.algo.ts:236", "pc": [ 647, 648 ] }, { "teal": 725, "source": "examples/reti/stakingPool.algo.ts:236", "pc": [ 649 ] }, { "teal": 726, "source": "examples/reti/stakingPool.algo.ts:236", "pc": [ 650, 651 ] }, { "teal": 727, "source": "examples/reti/stakingPool.algo.ts:236", "pc": [ 652 ] }, { "teal": 731, "source": "examples/reti/stakingPool.algo.ts:238", "pc": [ 653, 654 ] }, { "teal": 732, "source": "examples/reti/stakingPool.algo.ts:238", "pc": [ 655, 656, 657 ] }, { "teal": 738, "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ 658, 659 ] }, { "teal": 739, "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ 660 ] }, { "teal": 740, "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ 661 ] }, { "teal": 741, "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ 662 ] }, { "teal": 742, "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ 663, 664, 665 ] }, { "teal": 743, "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ 666, 667 ] }, { "teal": 744, "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ 668, 669, 670 ] }, { "teal": 745, "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ 671, 672 ] }, { "teal": 746, "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ 673 ] }, { "teal": 747, "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ 674 ] }, { "teal": 750, "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ 675, 676, 677 ] }, { "teal": 755, "source": "examples/reti/stakingPool.algo.ts:241", "pc": [ 678, 679 ] }, { "teal": 756, "source": "examples/reti/stakingPool.algo.ts:241", "pc": [ 680 ] }, { "teal": 757, "source": "examples/reti/stakingPool.algo.ts:241", "pc": [ 681 ] }, { "teal": 758, "source": "examples/reti/stakingPool.algo.ts:241", "pc": [ 682, 683 ] }, { "teal": 765, "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ 684, 685 ] }, { "teal": 766, "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ 686 ] }, { "teal": 767, "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ 687 ] }, { "teal": 768, "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ 688, 689 ] }, { "teal": 769, "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ 690, 691, 692 ] }, { "teal": 775, "source": "examples/reti/stakingPool.algo.ts:245", "pc": [ 693, 694 ] }, { "teal": 776, "source": "examples/reti/stakingPool.algo.ts:245", "pc": [ 695 ] }, { "teal": 777, "source": "examples/reti/stakingPool.algo.ts:245", "pc": [ 696 ] }, { "teal": 778, "source": "examples/reti/stakingPool.algo.ts:245", "pc": [ 697, 698, 699 ] }, { "teal": 782, "source": "examples/reti/stakingPool.algo.ts:247", "errorMessage": "Staking pool full", "pc": [ 700 ] }, { "teal": 787, "source": "examples/reti/stakingPool.algo.ts:252", "pc": [ 701, 702 ] }, { "teal": 788, "source": "examples/reti/stakingPool.algo.ts:252", "pc": [ 703, 704 ] }, { "teal": 789, "source": "examples/reti/stakingPool.algo.ts:252", "pc": [ 705, 706 ] }, { "teal": 790, "source": "examples/reti/stakingPool.algo.ts:252", "pc": [ 707 ] }, { "teal": 791, "source": "examples/reti/stakingPool.algo.ts:252", "pc": [ 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": 799, "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ 712 ] }, { "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": [ 715 ] }, { "teal": 803, "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ 716 ] }, { "teal": 804, "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ 717 ] }, { "teal": 805, "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ 718, 719 ] }, { "teal": 806, "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ 720 ] }, { "teal": 807, "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ 721, 722 ] }, { "teal": 808, "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ 723 ] }, { "teal": 809, "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ 724, 725 ] }, { "teal": 810, "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ 726 ] }, { "teal": 811, "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ 727 ] }, { "teal": 821, "source": "examples/reti/stakingPool.algo.ts:255", "pc": [ 728, 729 ] }, { "teal": 822, "source": "examples/reti/stakingPool.algo.ts:255", "pc": [ 730 ] }, { "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": [ 733 ] }, { "teal": 826, "source": "examples/reti/stakingPool.algo.ts:256", "pc": [ 734, 735 ] }, { "teal": 827, "source": "examples/reti/stakingPool.algo.ts:257", "pc": [ 736, 737 ] }, { "teal": 828, "source": "examples/reti/stakingPool.algo.ts:257", "pc": [ 738, 739 ] }, { "teal": 829, "source": "examples/reti/stakingPool.algo.ts:257", "pc": [ 740 ] }, { "teal": 830, "source": "examples/reti/stakingPool.algo.ts:257", "pc": [ 741 ] }, { "teal": 831, "source": "examples/reti/stakingPool.algo.ts:258", "pc": [ 742, 743 ] }, { "teal": 832, "source": "examples/reti/stakingPool.algo.ts:258", "pc": [ 744 ] }, { "teal": 833, "source": "examples/reti/stakingPool.algo.ts:259", "pc": [ 745, 746 ] }, { "teal": 834, "source": "examples/reti/stakingPool.algo.ts:259", "pc": [ 747 ] }, { "teal": 835, "source": "examples/reti/stakingPool.algo.ts:260", "pc": [ 748, 749 ] }, { "teal": 836, "source": "examples/reti/stakingPool.algo.ts:260", "pc": [ 750 ] }, { "teal": 837, "source": "examples/reti/stakingPool.algo.ts:260", "pc": [ 751 ] }, { "teal": 838, "source": "examples/reti/stakingPool.algo.ts:255", "pc": [ 752 ] }, { "teal": 839, "source": "examples/reti/stakingPool.algo.ts:255", "pc": [ 753, 754 ] }, { "teal": 840, "source": "examples/reti/stakingPool.algo.ts:255", "pc": [ 755 ] }, { "teal": 844, "source": "examples/reti/stakingPool.algo.ts:262", "pc": [ 756, 757 ] }, { "teal": 845, "source": "examples/reti/stakingPool.algo.ts:262", "pc": [ 758 ] }, { "teal": 846, "source": "examples/reti/stakingPool.algo.ts:262", "pc": [ 759 ] }, { "teal": 847, "source": "examples/reti/stakingPool.algo.ts:262", "pc": [ 760 ] }, { "teal": 848, "source": "examples/reti/stakingPool.algo.ts:262", "pc": [ 761, 762 ] }, { "teal": 849, "source": "examples/reti/stakingPool.algo.ts:262", "pc": [ 763 ] }, { "teal": 850, "source": "examples/reti/stakingPool.algo.ts:262", "pc": [ 764 ] }, { "teal": 854, "source": "examples/reti/stakingPool.algo.ts:263", "pc": [ 765, 766 ] }, { "teal": 858, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 767, 768 ] }, { "teal": 861, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 769, 770 ] }, { "teal": 862, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 771 ] }, { "teal": 867, "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ 772, 773, 774 ] }, { "teal": 868, "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ 775 ] }, { "teal": 871, "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ 776, 777, 778 ] }, { "teal": 872, "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ 779 ] }, { "teal": 873, "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ 780 ] }, { "teal": 874, "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ 781, 782 ] }, { "teal": 875, "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ 783 ] }, { "teal": 878, "source": "examples/reti/stakingPool.algo.ts:277", "errorMessage": "argument 1 (staker) for removeStake must be a address", "pc": [ 784 ] }, { "teal": 881, "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ 785, 786, 787 ] }, { "teal": 882, "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ 788 ] }, { "teal": 883, "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ 789 ] }, { "teal": 897, "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ 790, 791, 792 ] }, { "teal": 900, "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ 793 ] }, { "teal": 901, "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ 794, 795 ] }, { "teal": 906, "source": "examples/reti/stakingPool.algo.ts:280", "pc": [ 796, 797 ] }, { "teal": 907, "source": "examples/reti/stakingPool.algo.ts:280", "pc": [ 798, 799 ] }, { "teal": 908, "source": "examples/reti/stakingPool.algo.ts:280", "pc": [ 800 ] }, { "teal": 909, "source": "examples/reti/stakingPool.algo.ts:280", "pc": [ 801, 802, 803 ] }, { "teal": 917, "source": "examples/reti/stakingPool.algo.ts:282", "pc": [ 804, 805, 806 ] }, { "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": [ 807 ] }, { "teal": 925, "source": "examples/reti/stakingPool.algo.ts:287", "pc": [ 808, 809, 810 ] }, { "teal": 929, "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ 811 ] }, { "teal": 930, "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ 812, 813 ] }, { "teal": 935, "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ 814, 815 ] }, { "teal": 936, "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ 816, 817 ] }, { "teal": 937, "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ 818 ] }, { "teal": 938, "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ 819, 820, 821 ] }, { "teal": 943, "source": "examples/reti/stakingPool.algo.ts:290", "pc": [ 822, 823 ] }, { "teal": 944, "source": "examples/reti/stakingPool.algo.ts:290", "pc": [ 824, 825 ] }, { "teal": 945, "source": "examples/reti/stakingPool.algo.ts:290", "pc": [ 826 ] }, { "teal": 946, "source": "examples/reti/stakingPool.algo.ts:290", "pc": [ 827, 828, 829 ] }, { "teal": 951, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ 830 ] }, { "teal": 952, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ 831 ] }, { "teal": 953, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ 832, 833 ] }, { "teal": 954, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ 834 ] }, { "teal": 955, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ 835, 836 ] }, { "teal": 956, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ 837, 838 ] }, { "teal": 957, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ 839 ] }, { "teal": 958, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ 840, 841 ] }, { "teal": 959, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ 842, 843 ] }, { "teal": 960, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ 844, 845 ] }, { "teal": 961, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ 846, 847 ] }, { "teal": 962, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ 848 ] }, { "teal": 967, "source": "examples/reti/stakingPool.algo.ts:293", "pc": [ 849, 850 ] }, { "teal": 968, "source": "examples/reti/stakingPool.algo.ts:293", "pc": [ 851 ] }, { "teal": 969, "source": "examples/reti/stakingPool.algo.ts:293", "pc": [ 852 ] }, { "teal": 970, "source": "examples/reti/stakingPool.algo.ts:293", "pc": [ 853 ] }, { "teal": 971, "source": "examples/reti/stakingPool.algo.ts:293", "pc": [ 854 ] }, { "teal": 972, "source": "examples/reti/stakingPool.algo.ts:293", "pc": [ 855, 856 ] }, { "teal": 973, "source": "examples/reti/stakingPool.algo.ts:293", "pc": [ 857 ] }, { "teal": 974, "source": "examples/reti/stakingPool.algo.ts:293", "pc": [ 858, 859 ] }, { "teal": 979, "source": "examples/reti/stakingPool.algo.ts:294", "pc": [ 860, 861 ] }, { "teal": 980, "source": "examples/reti/stakingPool.algo.ts:294", "pc": [ 862, 863, 864 ] }, { "teal": 981, "source": "examples/reti/stakingPool.algo.ts:294", "pc": [ 865, 866 ] }, { "teal": 982, "source": "examples/reti/stakingPool.algo.ts:294", "pc": [ 867 ] }, { "teal": 983, "source": "examples/reti/stakingPool.algo.ts:294", "pc": [ 868, 869, 870 ] }, { "teal": 989, "source": "examples/reti/stakingPool.algo.ts:295", "pc": [ 871, 872 ] }, { "teal": 990, "source": "examples/reti/stakingPool.algo.ts:295", "pc": [ 873 ] }, { "teal": 991, "source": "examples/reti/stakingPool.algo.ts:295", "pc": [ 874 ] }, { "teal": 992, "source": "examples/reti/stakingPool.algo.ts:295", "pc": [ 875, 876, 877 ] }, { "teal": 997, "source": "examples/reti/stakingPool.algo.ts:297", "pc": [ 878, 879 ] }, { "teal": 998, "source": "examples/reti/stakingPool.algo.ts:297", "pc": [ 880, 881, 882 ] }, { "teal": 999, "source": "examples/reti/stakingPool.algo.ts:297", "pc": [ 883 ] }, { "teal": 1000, "source": "examples/reti/stakingPool.algo.ts:297", "pc": [ 884, 885 ] }, { "teal": 1006, "source": "examples/reti/stakingPool.algo.ts:299", "pc": [ 886, 887 ] }, { "teal": 1007, "source": "examples/reti/stakingPool.algo.ts:299", "pc": [ 888, 889, 890 ] }, { "teal": 1008, "source": "examples/reti/stakingPool.algo.ts:299", "pc": [ 891 ] }, { "teal": 1009, "source": "examples/reti/stakingPool.algo.ts:299", "pc": [ 892, 893 ] }, { "teal": 1010, "source": "examples/reti/stakingPool.algo.ts:299", "pc": [ 894 ] }, { "teal": 1011, "source": "examples/reti/stakingPool.algo.ts:299", "pc": [ 895, 896, 897 ] }, { "teal": 1015, "source": "examples/reti/stakingPool.algo.ts:300", "errorMessage": "Insufficient balance", "pc": [ 898 ] }, { "teal": 1020, "source": "examples/reti/stakingPool.algo.ts:302", "pc": [ 899, 900 ] }, { "teal": 1021, "source": "examples/reti/stakingPool.algo.ts:302", "pc": [ 901, 902 ] }, { "teal": 1022, "source": "examples/reti/stakingPool.algo.ts:302", "pc": [ 903, 904 ] }, { "teal": 1023, "source": "examples/reti/stakingPool.algo.ts:302", "pc": [ 905, 906, 907 ] }, { "teal": 1024, "source": "examples/reti/stakingPool.algo.ts:302", "pc": [ 908 ] }, { "teal": 1025, "source": "examples/reti/stakingPool.algo.ts:302", "pc": [ 909, 910 ] }, { "teal": 1026, "source": "examples/reti/stakingPool.algo.ts:302", "pc": [ 911 ] }, { "teal": 1027, "source": "examples/reti/stakingPool.algo.ts:302", "pc": [ 912 ] }, { "teal": 1028, "source": "examples/reti/stakingPool.algo.ts:302", "pc": [ 913 ] }, { "teal": 1029, "source": "examples/reti/stakingPool.algo.ts:302", "pc": [ 914, 915 ] }, { "teal": 1033, "source": "examples/reti/stakingPool.algo.ts:303", "pc": [ 916, 917 ] }, { "teal": 1034, "source": "examples/reti/stakingPool.algo.ts:303", "pc": [ 918 ] }, { "teal": 1035, "source": "examples/reti/stakingPool.algo.ts:303", "pc": [ 919, 920 ] }, { "teal": 1036, "source": "examples/reti/stakingPool.algo.ts:303", "pc": [ 921 ] }, { "teal": 1037, "source": "examples/reti/stakingPool.algo.ts:303", "pc": [ 922, 923 ] }, { "teal": 1038, "source": "examples/reti/stakingPool.algo.ts:303", "pc": [ 924 ] }, { "teal": 1039, "source": "examples/reti/stakingPool.algo.ts:303", "pc": [ 925 ] }, { "teal": 1043, "source": "examples/reti/stakingPool.algo.ts:305", "pc": [ 926 ] }, { "teal": 1044, "source": "examples/reti/stakingPool.algo.ts:305", "pc": [ 927, 928 ] }, { "teal": 1049, "source": "examples/reti/stakingPool.algo.ts:306", "pc": [ 929, 930 ] }, { "teal": 1050, "source": "examples/reti/stakingPool.algo.ts:306", "pc": [ 931, 932, 933 ] }, { "teal": 1051, "source": "examples/reti/stakingPool.algo.ts:306", "pc": [ 934 ] }, { "teal": 1052, "source": "examples/reti/stakingPool.algo.ts:306", "pc": [ 935 ] }, { "teal": 1053, "source": "examples/reti/stakingPool.algo.ts:306", "pc": [ 936 ] }, { "teal": 1054, "source": "examples/reti/stakingPool.algo.ts:306", "pc": [ 937, 938, 939 ] }, { "teal": 1060, "source": "examples/reti/stakingPool.algo.ts:308", "pc": [ 940, 941 ] }, { "teal": 1061, "source": "examples/reti/stakingPool.algo.ts:308", "pc": [ 942 ] }, { "teal": 1062, "source": "examples/reti/stakingPool.algo.ts:308", "pc": [ 943 ] }, { "teal": 1063, "source": "examples/reti/stakingPool.algo.ts:308", "pc": [ 944 ] }, { "teal": 1064, "source": "examples/reti/stakingPool.algo.ts:308", "pc": [ 945, 946, 947 ] }, { "teal": 1072, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ 948 ] }, { "teal": 1073, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ 949 ] }, { "teal": 1074, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ 950, 951 ] }, { "teal": 1075, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ 952, 953 ] }, { "teal": 1076, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ 954, 955 ] }, { "teal": 1080, "source": "examples/reti/stakingPool.algo.ts:310", "pc": [ 956 ] }, { "teal": 1081, "source": "examples/reti/stakingPool.algo.ts:310", "pc": [ 957 ] }, { "teal": 1082, "source": "examples/reti/stakingPool.algo.ts:310", "pc": [ 958, 959 ] }, { "teal": 1086, "source": "examples/reti/stakingPool.algo.ts:311", "pc": [ 960 ] }, { "teal": 1087, "source": "examples/reti/stakingPool.algo.ts:311", "pc": [ 961 ] }, { "teal": 1088, "source": "examples/reti/stakingPool.algo.ts:311", "pc": [ 962 ] }, { "teal": 1089, "source": "examples/reti/stakingPool.algo.ts:311", "pc": [ 963, 964 ] }, { "teal": 1092, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ 965 ] }, { "teal": 1093, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ 966, 967 ] }, { "teal": 1096, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ 968 ] }, { "teal": 1097, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ 969, 970 ] }, { "teal": 1098, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ 971 ] }, { "teal": 1099, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ 972 ] }, { "teal": 1100, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ 973, 974 ] }, { "teal": 1101, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ 975, 976, 977 ] }, { "teal": 1102, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ 978, 979 ] }, { "teal": 1110, "source": "examples/reti/stakingPool.algo.ts:317", "pc": [ 980 ] }, { "teal": 1111, "source": "examples/reti/stakingPool.algo.ts:317", "pc": [ 981, 982 ] }, { "teal": 1112, "source": "examples/reti/stakingPool.algo.ts:317", "pc": [ 983, 984 ] }, { "teal": 1116, "source": "examples/reti/stakingPool.algo.ts:318", "pc": [ 985, 986 ] }, { "teal": 1117, "source": "examples/reti/stakingPool.algo.ts:318", "pc": [ 987, 988, 989 ] }, { "teal": 1118, "source": "examples/reti/stakingPool.algo.ts:318", "pc": [ 990 ] }, { "teal": 1119, "source": "examples/reti/stakingPool.algo.ts:318", "pc": [ 991, 992 ] }, { "teal": 1123, "source": "examples/reti/stakingPool.algo.ts:319", "pc": [ 993, 994 ] }, { "teal": 1124, "source": "examples/reti/stakingPool.algo.ts:319", "pc": [ 995, 996 ] }, { "teal": 1128, "source": "examples/reti/stakingPool.algo.ts:320", "pc": [ 997, 998 ] }, { "teal": 1129, "source": "examples/reti/stakingPool.algo.ts:320", "pc": [ 999, 1000, 1001 ] }, { "teal": 1130, "source": "examples/reti/stakingPool.algo.ts:320", "pc": [ 1002 ] }, { "teal": 1131, "source": "examples/reti/stakingPool.algo.ts:320", "pc": [ 1003, 1004 ] }, { "teal": 1134, "source": "examples/reti/stakingPool.algo.ts:317", "pc": [ 1005 ] }, { "teal": 1135, "source": "examples/reti/stakingPool.algo.ts:317", "pc": [ 1006, 1007 ] }, { "teal": 1138, "source": "examples/reti/stakingPool.algo.ts:317", "pc": [ 1008 ] }, { "teal": 1142, "source": "examples/reti/stakingPool.algo.ts:322", "pc": [ 1009, 1010 ] }, { "teal": 1143, "source": "examples/reti/stakingPool.algo.ts:322", "pc": [ 1011, 1012, 1013 ] }, { "teal": 1144, "source": "examples/reti/stakingPool.algo.ts:322", "pc": [ 1014 ] }, { "teal": 1145, "source": "examples/reti/stakingPool.algo.ts:322", "pc": [ 1015, 1016 ] }, { "teal": 1149, "source": "examples/reti/stakingPool.algo.ts:323", "pc": [ 1017, 1018 ] }, { "teal": 1150, "source": "examples/reti/stakingPool.algo.ts:323", "pc": [ 1019, 1020 ] }, { "teal": 1151, "source": "examples/reti/stakingPool.algo.ts:323", "pc": [ 1021, 1022 ] }, { "teal": 1152, "source": "examples/reti/stakingPool.algo.ts:323", "pc": [ 1023, 1024 ] }, { "teal": 1153, "source": "examples/reti/stakingPool.algo.ts:308", "pc": [ 1025, 1026, 1027 ] }, { "teal": 1158, "source": "examples/reti/stakingPool.algo.ts:328", "pc": [ 1028, 1029 ] }, { "teal": 1159, "source": "examples/reti/stakingPool.algo.ts:328", "pc": [ 1030, 1031, 1032 ] }, { "teal": 1160, "source": "examples/reti/stakingPool.algo.ts:328", "pc": [ 1033 ] }, { "teal": 1161, "source": "examples/reti/stakingPool.algo.ts:328", "pc": [ 1034, 1035 ] }, { "teal": 1165, "source": "examples/reti/stakingPool.algo.ts:329", "pc": [ 1036, 1037 ] }, { "teal": 1166, "source": "examples/reti/stakingPool.algo.ts:329", "pc": [ 1038, 1039 ] }, { "teal": 1167, "source": "examples/reti/stakingPool.algo.ts:329", "pc": [ 1040, 1041 ] }, { "teal": 1168, "source": "examples/reti/stakingPool.algo.ts:329", "pc": [ 1042, 1043 ] }, { "teal": 1178, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ 1044, 1045 ] }, { "teal": 1179, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ 1046, 1047, 1048 ] }, { "teal": 1180, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ 1049 ] }, { "teal": 1181, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ 1050 ] }, { "teal": 1182, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ 1051 ] }, { "teal": 1183, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ 1052 ] }, { "teal": 1184, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ 1053, 1054, 1055 ] }, { "teal": 1185, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ 1056, 1057 ] }, { "teal": 1186, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ 1058, 1059, 1060 ] }, { "teal": 1187, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ 1061 ] }, { "teal": 1188, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ 1062, 1063 ] }, { "teal": 1189, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ 1064 ] }, { "teal": 1190, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ 1065 ] }, { "teal": 1191, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ 1066 ] }, { "teal": 1195, "source": "examples/reti/stakingPool.algo.ts:334", "errorMessage": "cannot reduce balance below minimum allowed stake unless all is removed", "pc": [ 1067 ] }, { "teal": 1203, "source": "examples/reti/stakingPool.algo.ts:342", "pc": [ 1068 ] }, { "teal": 1204, "source": "examples/reti/stakingPool.algo.ts:342", "pc": [ 1069 ] }, { "teal": 1205, "source": "examples/reti/stakingPool.algo.ts:342", "pc": [ 1070, 1071 ] }, { "teal": 1209, "source": "examples/reti/stakingPool.algo.ts:343", "pc": [ 1072, 1073 ] }, { "teal": 1210, "source": "examples/reti/stakingPool.algo.ts:343", "pc": [ 1074, 1075 ] }, { "teal": 1214, "source": "examples/reti/stakingPool.algo.ts:344", "pc": [ 1076, 1077 ] }, { "teal": 1215, "source": "examples/reti/stakingPool.algo.ts:344", "pc": [ 1078, 1079 ] }, { "teal": 1219, "source": "examples/reti/stakingPool.algo.ts:345", "pc": [ 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089 ] }, { "teal": 1220, "source": "examples/reti/stakingPool.algo.ts:345", "pc": [ 1090, 1091 ] }, { "teal": 1223, "source": "examples/reti/stakingPool.algo.ts:342", "pc": [ 1092 ] }, { "teal": 1224, "source": "examples/reti/stakingPool.algo.ts:342", "pc": [ 1093, 1094 ] }, { "teal": 1227, "source": "examples/reti/stakingPool.algo.ts:342", "pc": [ 1095 ] }, { "teal": 1231, "source": "examples/reti/stakingPool.algo.ts:347", "pc": [ 1096 ] }, { "teal": 1232, "source": "examples/reti/stakingPool.algo.ts:347", "pc": [ 1097, 1098 ] }, { "teal": 1237, "source": "examples/reti/stakingPool.algo.ts:348", "pc": [ 1099, 1100 ] }, { "teal": 1238, "source": "examples/reti/stakingPool.algo.ts:348", "pc": [ 1101, 1102, 1103 ] }, { "teal": 1239, "source": "examples/reti/stakingPool.algo.ts:348", "pc": [ 1104 ] }, { "teal": 1240, "source": "examples/reti/stakingPool.algo.ts:348", "pc": [ 1105 ] }, { "teal": 1241, "source": "examples/reti/stakingPool.algo.ts:348", "pc": [ 1106 ] }, { "teal": 1242, "source": "examples/reti/stakingPool.algo.ts:348", "pc": [ 1107, 1108, 1109 ] }, { "teal": 1247, "source": "examples/reti/stakingPool.algo.ts:350", "pc": [ 1110, 1111 ] }, { "teal": 1248, "source": "examples/reti/stakingPool.algo.ts:350", "pc": [ 1112 ] }, { "teal": 1249, "source": "examples/reti/stakingPool.algo.ts:350", "pc": [ 1113 ] }, { "teal": 1250, "source": "examples/reti/stakingPool.algo.ts:350", "pc": [ 1114 ] }, { "teal": 1251, "source": "examples/reti/stakingPool.algo.ts:350", "pc": [ 1115, 1116 ] }, { "teal": 1252, "source": "examples/reti/stakingPool.algo.ts:350", "pc": [ 1117 ] }, { "teal": 1253, "source": "examples/reti/stakingPool.algo.ts:350", "pc": [ 1118 ] }, { "teal": 1257, "source": "examples/reti/stakingPool.algo.ts:351", "pc": [ 1119, 1120 ] }, { "teal": 1258, "source": "examples/reti/stakingPool.algo.ts:351", "pc": [ 1121 ] }, { "teal": 1259, "source": "examples/reti/stakingPool.algo.ts:351", "pc": [ 1122, 1123 ] }, { "teal": 1260, "source": "examples/reti/stakingPool.algo.ts:351", "pc": [ 1124 ] }, { "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": 1267, "source": "examples/reti/stakingPool.algo.ts:352", "pc": [ 1131, 1132 ] }, { "teal": 1268, "source": "examples/reti/stakingPool.algo.ts:352", "pc": [ 1133, 1134 ] }, { "teal": 1272, "source": "examples/reti/stakingPool.algo.ts:353", "pc": [ 1135, 1136 ] }, { "teal": 1273, "source": "examples/reti/stakingPool.algo.ts:353", "pc": [ 1137, 1138 ] }, { "teal": 1274, "source": "examples/reti/stakingPool.algo.ts:353", "pc": [ 1139, 1140 ] }, { "teal": 1275, "source": "examples/reti/stakingPool.algo.ts:353", "pc": [ 1141, 1142 ] }, { "teal": 1279, "source": "examples/reti/stakingPool.algo.ts:354", "pc": [ 1143 ] }, { "teal": 1280, "source": "examples/reti/stakingPool.algo.ts:354", "pc": [ 1144, 1145 ] }, { "teal": 1285, "source": "examples/reti/stakingPool.algo.ts:357", "pc": [ 1146, 1147 ] }, { "teal": 1286, "source": "examples/reti/stakingPool.algo.ts:357", "pc": [ 1148 ] }, { "teal": 1287, "source": "examples/reti/stakingPool.algo.ts:357", "pc": [ 1149 ] }, { "teal": 1288, "source": "examples/reti/stakingPool.algo.ts:357", "pc": [ 1150, 1151 ] }, { "teal": 1289, "source": "examples/reti/stakingPool.algo.ts:357", "pc": [ 1152 ] }, { "teal": 1290, "source": "examples/reti/stakingPool.algo.ts:357", "pc": [ 1153, 1154 ] }, { "teal": 1291, "source": "examples/reti/stakingPool.algo.ts:357", "pc": [ 1155 ] }, { "teal": 1295, "source": "examples/reti/stakingPool.algo.ts:359", "pc": [ 1156, 1157 ] }, { "teal": 1296, "source": "examples/reti/stakingPool.algo.ts:359", "pc": [ 1158 ] }, { "teal": 1297, "source": "examples/reti/stakingPool.algo.ts:359", "pc": [ 1159, 1160 ] }, { "teal": 1298, "source": "examples/reti/stakingPool.algo.ts:359", "pc": [ 1161 ] }, { "teal": 1299, "source": "examples/reti/stakingPool.algo.ts:359", "pc": [ 1162 ] }, { "teal": 1300, "source": "examples/reti/stakingPool.algo.ts:359", "pc": [ 1163, 1164 ] }, { "teal": 1301, "source": "examples/reti/stakingPool.algo.ts:359", "pc": [ 1165 ] }, { "teal": 1302, "source": "examples/reti/stakingPool.algo.ts:359", "pc": [ 1166, 1167 ] }, { "teal": 1306, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1168, 1169 ] }, { "teal": 1307, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1170 ] }, { "teal": 1308, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1171, 1172 ] }, { "teal": 1309, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1173 ] }, { "teal": 1310, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1174 ] }, { "teal": 1311, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1175 ] }, { "teal": 1312, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1176 ] }, { "teal": 1313, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1177, 1178 ] }, { "teal": 1314, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1179 ] }, { "teal": 1317, "source": "examples/reti/stakingPool.algo.ts:360", "errorMessage": "(amountToUnstake as uint128) * (roundsLeftInBin as uint128) overflowed 128 bits", "pc": [ 1180 ] }, { "teal": 1318, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1181, 1182 ] }, { "teal": 1319, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1183 ] }, { "teal": 1320, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1184 ] }, { "teal": 1321, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1185 ] }, { "teal": 1322, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1186 ] }, { "teal": 1323, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1187, 1188 ] }, { "teal": 1324, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1189 ] }, { "teal": 1325, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1190 ] }, { "teal": 1326, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1191 ] }, { "teal": 1327, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1192, 1193 ] }, { "teal": 1331, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1194, 1195 ] }, { "teal": 1332, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1196 ] }, { "teal": 1333, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1197 ] }, { "teal": 1334, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1198, 1199 ] }, { "teal": 1335, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1200 ] }, { "teal": 1336, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1201 ] }, { "teal": 1337, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1202 ] }, { "teal": 1338, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1203, 1204 ] }, { "teal": 1339, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1205 ] }, { "teal": 1342, "source": "examples/reti/stakingPool.algo.ts:361", "errorMessage": "this.stakeAccumulator.value - subtractAmount overflowed 128 bits", "pc": [ 1206 ] }, { "teal": 1343, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1207, 1208 ] }, { "teal": 1344, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1209 ] }, { "teal": 1345, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1210 ] }, { "teal": 1346, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1211 ] }, { "teal": 1347, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1212 ] }, { "teal": 1348, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1213, 1214 ] }, { "teal": 1349, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1215 ] }, { "teal": 1350, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1216 ] }, { "teal": 1351, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1217 ] }, { "teal": 1352, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1218 ] }, { "teal": 1365, "source": "examples/reti/stakingPool.algo.ts:366", "pc": [ 1219 ] }, { "teal": 1366, "source": "examples/reti/stakingPool.algo.ts:366", "pc": [ 1220 ] }, { "teal": 1367, "source": "examples/reti/stakingPool.algo.ts:366", "pc": [ 1221, 1222 ] }, { "teal": 1368, "source": "examples/reti/stakingPool.algo.ts:366", "pc": [ 1223, 1224 ] }, { "teal": 1369, "source": "examples/reti/stakingPool.algo.ts:366", "pc": [ 1225, 1226 ] }, { "teal": 1373, "source": "examples/reti/stakingPool.algo.ts:367", "pc": [ 1227 ] }, { "teal": 1374, "source": "examples/reti/stakingPool.algo.ts:367", "pc": [ 1228 ] }, { "teal": 1375, "source": "examples/reti/stakingPool.algo.ts:367", "pc": [ 1229, 1230 ] }, { "teal": 1385, "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ 1231 ] }, { "teal": 1386, "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ 1232 ] }, { "teal": 1387, "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ 1233 ] }, { "teal": 1388, "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ 1234, 1235 ] }, { "teal": 1389, "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ 1236 ] }, { "teal": 1390, "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ 1237 ] }, { "teal": 1391, "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ 1238 ] }, { "teal": 1392, "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ 1239, 1240, 1241 ] }, { "teal": 1393, "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ 1242 ] }, { "teal": 1394, "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ 1243 ] }, { "teal": 1395, "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ 1244, 1245 ] }, { "teal": 1396, "source": "examples/reti/stakingPool.algo.ts:370", "pc": [ 1246, 1247 ] }, { "teal": 1397, "source": "examples/reti/stakingPool.algo.ts:370", "pc": [ 1248, 1249 ] }, { "teal": 1398, "source": "examples/reti/stakingPool.algo.ts:371", "pc": [ 1250, 1251 ] }, { "teal": 1399, "source": "examples/reti/stakingPool.algo.ts:371", "pc": [ 1252 ] }, { "teal": 1400, "source": "examples/reti/stakingPool.algo.ts:371", "pc": [ 1253, 1254 ] }, { "teal": 1401, "source": "examples/reti/stakingPool.algo.ts:372", "pc": [ 1255, 1256 ] }, { "teal": 1402, "source": "examples/reti/stakingPool.algo.ts:372", "pc": [ 1257 ] }, { "teal": 1403, "source": "examples/reti/stakingPool.algo.ts:372", "pc": [ 1258, 1259 ] }, { "teal": 1404, "source": "examples/reti/stakingPool.algo.ts:373", "pc": [ 1260, 1261 ] }, { "teal": 1405, "source": "examples/reti/stakingPool.algo.ts:373", "pc": [ 1262, 1263 ] }, { "teal": 1406, "source": "examples/reti/stakingPool.algo.ts:373", "pc": [ 1264 ] }, { "teal": 1407, "source": "examples/reti/stakingPool.algo.ts:373", "pc": [ 1265, 1266 ] }, { "teal": 1408, "source": "examples/reti/stakingPool.algo.ts:373", "pc": [ 1267 ] }, { "teal": 1409, "source": "examples/reti/stakingPool.algo.ts:373", "pc": [ 1268, 1269 ] }, { "teal": 1412, "source": "examples/reti/stakingPool.algo.ts:366", "pc": [ 1270 ] }, { "teal": 1413, "source": "examples/reti/stakingPool.algo.ts:366", "pc": [ 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": 1427, "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ 1275, 1276 ] }, { "teal": 1428, "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ 1277 ] }, { "teal": 1429, "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ 1278 ] }, { "teal": 1430, "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ 1279, 1280 ] }, { "teal": 1431, "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ 1281, 1282, 1283 ] }, { "teal": 1435, "source": "examples/reti/stakingPool.algo.ts:379", "errorMessage": "account not found", "pc": [ 1284 ] }, { "teal": 1436, "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ 1285 ] }, { "teal": 1441, "source": "examples/reti/stakingPool.algo.ts:387", "pc": [ 1286, 1287, 1288 ] }, { "teal": 1442, "source": "examples/reti/stakingPool.algo.ts:387", "pc": [ 1289 ] }, { "teal": 1443, "source": "examples/reti/stakingPool.algo.ts:387", "pc": [ 1290 ] }, { "teal": 1451, "source": "examples/reti/stakingPool.algo.ts:387", "pc": [ 1291, 1292, 1293 ] }, { "teal": 1454, "source": "examples/reti/stakingPool.algo.ts:387", "pc": [ 1294 ] }, { "teal": 1455, "source": "examples/reti/stakingPool.algo.ts:387", "pc": [ 1295, 1296 ] }, { "teal": 1459, "source": "examples/reti/stakingPool.algo.ts:391", "pc": [ 1297, 1298 ] }, { "teal": 1460, "source": "examples/reti/stakingPool.algo.ts:391", "pc": [ 1299, 1300 ] }, { "teal": 1464, "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ 1301 ] }, { "teal": 1465, "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ 1302, 1303 ] }, { "teal": 1470, "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ 1304, 1305 ] }, { "teal": 1471, "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ 1306, 1307 ] }, { "teal": 1472, "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ 1308 ] }, { "teal": 1473, "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ 1309, 1310, 1311 ] }, { "teal": 1478, "source": "examples/reti/stakingPool.algo.ts:394", "pc": [ 1312, 1313 ] }, { "teal": 1479, "source": "examples/reti/stakingPool.algo.ts:394", "pc": [ 1314, 1315 ] }, { "teal": 1480, "source": "examples/reti/stakingPool.algo.ts:394", "pc": [ 1316 ] }, { "teal": 1481, "source": "examples/reti/stakingPool.algo.ts:394", "pc": [ 1317, 1318, 1319 ] }, { "teal": 1486, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ 1320 ] }, { "teal": 1487, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ 1321 ] }, { "teal": 1488, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ 1322, 1323 ] }, { "teal": 1489, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ 1324 ] }, { "teal": 1490, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ 1325, 1326 ] }, { "teal": 1491, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ 1327, 1328 ] }, { "teal": 1492, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ 1329 ] }, { "teal": 1493, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ 1330, 1331 ] }, { "teal": 1494, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ 1332, 1333 ] }, { "teal": 1495, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ 1334, 1335 ] }, { "teal": 1496, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ 1336, 1337 ] }, { "teal": 1497, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ 1338 ] }, { "teal": 1502, "source": "examples/reti/stakingPool.algo.ts:397", "pc": [ 1339, 1340 ] }, { "teal": 1503, "source": "examples/reti/stakingPool.algo.ts:397", "pc": [ 1341 ] }, { "teal": 1504, "source": "examples/reti/stakingPool.algo.ts:397", "pc": [ 1342 ] }, { "teal": 1505, "source": "examples/reti/stakingPool.algo.ts:397", "pc": [ 1343 ] }, { "teal": 1506, "source": "examples/reti/stakingPool.algo.ts:397", "pc": [ 1344 ] }, { "teal": 1507, "source": "examples/reti/stakingPool.algo.ts:397", "pc": [ 1345, 1346 ] }, { "teal": 1508, "source": "examples/reti/stakingPool.algo.ts:397", "pc": [ 1347 ] }, { "teal": 1509, "source": "examples/reti/stakingPool.algo.ts:397", "pc": [ 1348, 1349 ] }, { "teal": 1514, "source": "examples/reti/stakingPool.algo.ts:398", "pc": [ 1350, 1351 ] }, { "teal": 1515, "source": "examples/reti/stakingPool.algo.ts:398", "pc": [ 1352, 1353, 1354 ] }, { "teal": 1516, "source": "examples/reti/stakingPool.algo.ts:398", "pc": [ 1355, 1356 ] }, { "teal": 1517, "source": "examples/reti/stakingPool.algo.ts:398", "pc": [ 1357 ] }, { "teal": 1518, "source": "examples/reti/stakingPool.algo.ts:398", "pc": [ 1358, 1359, 1360 ] }, { "teal": 1524, "source": "examples/reti/stakingPool.algo.ts:399", "pc": [ 1361, 1362 ] }, { "teal": 1525, "source": "examples/reti/stakingPool.algo.ts:399", "pc": [ 1363, 1364, 1365 ] }, { "teal": 1526, "source": "examples/reti/stakingPool.algo.ts:399", "pc": [ 1366 ] }, { "teal": 1527, "source": "examples/reti/stakingPool.algo.ts:399", "pc": [ 1367 ] }, { "teal": 1528, "source": "examples/reti/stakingPool.algo.ts:399", "pc": [ 1368 ] }, { "teal": 1529, "source": "examples/reti/stakingPool.algo.ts:399", "pc": [ 1369, 1370, 1371 ] }, { "teal": 1534, "source": "examples/reti/stakingPool.algo.ts:400", "pc": [ 1372 ] }, { "teal": 1539, "source": "examples/reti/stakingPool.algo.ts:402", "pc": [ 1373 ] }, { "teal": 1540, "source": "examples/reti/stakingPool.algo.ts:402", "pc": [ 1374, 1375 ] }, { "teal": 1545, "source": "examples/reti/stakingPool.algo.ts:404", "pc": [ 1376, 1377 ] }, { "teal": 1546, "source": "examples/reti/stakingPool.algo.ts:404", "pc": [ 1378 ] }, { "teal": 1547, "source": "examples/reti/stakingPool.algo.ts:404", "pc": [ 1379 ] }, { "teal": 1548, "source": "examples/reti/stakingPool.algo.ts:404", "pc": [ 1380 ] }, { "teal": 1549, "source": "examples/reti/stakingPool.algo.ts:404", "pc": [ 1381, 1382, 1383 ] }, { "teal": 1557, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ 1384 ] }, { "teal": 1558, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ 1385 ] }, { "teal": 1559, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ 1386, 1387 ] }, { "teal": 1560, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ 1388, 1389 ] }, { "teal": 1561, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ 1390, 1391 ] }, { "teal": 1565, "source": "examples/reti/stakingPool.algo.ts:406", "pc": [ 1392 ] }, { "teal": 1566, "source": "examples/reti/stakingPool.algo.ts:406", "pc": [ 1393 ] }, { "teal": 1567, "source": "examples/reti/stakingPool.algo.ts:406", "pc": [ 1394, 1395 ] }, { "teal": 1571, "source": "examples/reti/stakingPool.algo.ts:407", "pc": [ 1396 ] }, { "teal": 1572, "source": "examples/reti/stakingPool.algo.ts:407", "pc": [ 1397 ] }, { "teal": 1573, "source": "examples/reti/stakingPool.algo.ts:407", "pc": [ 1398 ] }, { "teal": 1574, "source": "examples/reti/stakingPool.algo.ts:407", "pc": [ 1399, 1400 ] }, { "teal": 1577, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ 1401 ] }, { "teal": 1578, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ 1402, 1403 ] }, { "teal": 1581, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ 1404 ] }, { "teal": 1582, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ 1405, 1406 ] }, { "teal": 1583, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ 1407 ] }, { "teal": 1584, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ 1408 ] }, { "teal": 1585, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ 1409, 1410 ] }, { "teal": 1586, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ 1411, 1412, 1413 ] }, { "teal": 1587, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ 1414, 1415 ] }, { "teal": 1595, "source": "examples/reti/stakingPool.algo.ts:412", "pc": [ 1416 ] }, { "teal": 1596, "source": "examples/reti/stakingPool.algo.ts:412", "pc": [ 1417, 1418 ] }, { "teal": 1597, "source": "examples/reti/stakingPool.algo.ts:412", "pc": [ 1419, 1420 ] }, { "teal": 1601, "source": "examples/reti/stakingPool.algo.ts:413", "pc": [ 1421, 1422 ] }, { "teal": 1602, "source": "examples/reti/stakingPool.algo.ts:413", "pc": [ 1423, 1424, 1425 ] }, { "teal": 1603, "source": "examples/reti/stakingPool.algo.ts:413", "pc": [ 1426 ] }, { "teal": 1604, "source": "examples/reti/stakingPool.algo.ts:413", "pc": [ 1427, 1428 ] }, { "teal": 1608, "source": "examples/reti/stakingPool.algo.ts:414", "pc": [ 1429, 1430 ] }, { "teal": 1609, "source": "examples/reti/stakingPool.algo.ts:414", "pc": [ 1431, 1432 ] }, { "teal": 1613, "source": "examples/reti/stakingPool.algo.ts:415", "pc": [ 1433, 1434 ] }, { "teal": 1614, "source": "examples/reti/stakingPool.algo.ts:415", "pc": [ 1435, 1436, 1437 ] }, { "teal": 1615, "source": "examples/reti/stakingPool.algo.ts:415", "pc": [ 1438 ] }, { "teal": 1616, "source": "examples/reti/stakingPool.algo.ts:415", "pc": [ 1439, 1440 ] }, { "teal": 1619, "source": "examples/reti/stakingPool.algo.ts:412", "pc": [ 1441 ] }, { "teal": 1620, "source": "examples/reti/stakingPool.algo.ts:412", "pc": [ 1442, 1443 ] }, { "teal": 1623, "source": "examples/reti/stakingPool.algo.ts:412", "pc": [ 1444 ] }, { "teal": 1627, "source": "examples/reti/stakingPool.algo.ts:417", "pc": [ 1445, 1446 ] }, { "teal": 1628, "source": "examples/reti/stakingPool.algo.ts:417", "pc": [ 1447, 1448, 1449 ] }, { "teal": 1629, "source": "examples/reti/stakingPool.algo.ts:417", "pc": [ 1450 ] }, { "teal": 1630, "source": "examples/reti/stakingPool.algo.ts:417", "pc": [ 1451, 1452 ] }, { "teal": 1634, "source": "examples/reti/stakingPool.algo.ts:418", "pc": [ 1453, 1454 ] }, { "teal": 1635, "source": "examples/reti/stakingPool.algo.ts:418", "pc": [ 1455, 1456 ] }, { "teal": 1636, "source": "examples/reti/stakingPool.algo.ts:418", "pc": [ 1457, 1458 ] }, { "teal": 1637, "source": "examples/reti/stakingPool.algo.ts:418", "pc": [ 1459, 1460 ] }, { "teal": 1638, "source": "examples/reti/stakingPool.algo.ts:404", "pc": [ 1461, 1462, 1463 ] }, { "teal": 1643, "source": "examples/reti/stakingPool.algo.ts:423", "pc": [ 1464, 1465 ] }, { "teal": 1644, "source": "examples/reti/stakingPool.algo.ts:423", "pc": [ 1466, 1467, 1468 ] }, { "teal": 1645, "source": "examples/reti/stakingPool.algo.ts:423", "pc": [ 1469 ] }, { "teal": 1646, "source": "examples/reti/stakingPool.algo.ts:423", "pc": [ 1470, 1471 ] }, { "teal": 1650, "source": "examples/reti/stakingPool.algo.ts:424", "pc": [ 1472, 1473 ] }, { "teal": 1651, "source": "examples/reti/stakingPool.algo.ts:424", "pc": [ 1474, 1475 ] }, { "teal": 1652, "source": "examples/reti/stakingPool.algo.ts:424", "pc": [ 1476, 1477 ] }, { "teal": 1653, "source": "examples/reti/stakingPool.algo.ts:424", "pc": [ 1478, 1479 ] }, { "teal": 1658, "source": "examples/reti/stakingPool.algo.ts:428", "pc": [ 1480, 1481 ] }, { "teal": 1659, "source": "examples/reti/stakingPool.algo.ts:428", "pc": [ 1482 ] }, { "teal": 1660, "source": "examples/reti/stakingPool.algo.ts:428", "pc": [ 1483 ] }, { "teal": 1661, "source": "examples/reti/stakingPool.algo.ts:428", "pc": [ 1484, 1485 ] }, { "teal": 1662, "source": "examples/reti/stakingPool.algo.ts:428", "pc": [ 1486 ] }, { "teal": 1663, "source": "examples/reti/stakingPool.algo.ts:428", "pc": [ 1487, 1488 ] }, { "teal": 1664, "source": "examples/reti/stakingPool.algo.ts:428", "pc": [ 1489 ] }, { "teal": 1677, "source": "examples/reti/stakingPool.algo.ts:433", "pc": [ 1490 ] }, { "teal": 1678, "source": "examples/reti/stakingPool.algo.ts:433", "pc": [ 1491 ] }, { "teal": 1679, "source": "examples/reti/stakingPool.algo.ts:433", "pc": [ 1492, 1493 ] }, { "teal": 1680, "source": "examples/reti/stakingPool.algo.ts:433", "pc": [ 1494, 1495 ] }, { "teal": 1681, "source": "examples/reti/stakingPool.algo.ts:433", "pc": [ 1496, 1497 ] }, { "teal": 1685, "source": "examples/reti/stakingPool.algo.ts:434", "pc": [ 1498 ] }, { "teal": 1686, "source": "examples/reti/stakingPool.algo.ts:434", "pc": [ 1499 ] }, { "teal": 1687, "source": "examples/reti/stakingPool.algo.ts:434", "pc": [ 1500, 1501 ] }, { "teal": 1697, "source": "examples/reti/stakingPool.algo.ts:436", "pc": [ 1502 ] }, { "teal": 1698, "source": "examples/reti/stakingPool.algo.ts:436", "pc": [ 1503 ] }, { "teal": 1699, "source": "examples/reti/stakingPool.algo.ts:436", "pc": [ 1504 ] }, { "teal": 1700, "source": "examples/reti/stakingPool.algo.ts:436", "pc": [ 1505, 1506 ] }, { "teal": 1701, "source": "examples/reti/stakingPool.algo.ts:436", "pc": [ 1507 ] }, { "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": [ 1510, 1511, 1512 ] }, { "teal": 1705, "source": "examples/reti/stakingPool.algo.ts:436", "pc": [ 1513 ] }, { "teal": 1706, "source": "examples/reti/stakingPool.algo.ts:436", "pc": [ 1514 ] }, { "teal": 1707, "source": "examples/reti/stakingPool.algo.ts:436", "pc": [ 1515, 1516 ] }, { "teal": 1708, "source": "examples/reti/stakingPool.algo.ts:437", "pc": [ 1517, 1518 ] }, { "teal": 1709, "source": "examples/reti/stakingPool.algo.ts:437", "pc": [ 1519, 1520 ] }, { "teal": 1710, "source": "examples/reti/stakingPool.algo.ts:438", "pc": [ 1521, 1522 ] }, { "teal": 1711, "source": "examples/reti/stakingPool.algo.ts:438", "pc": [ 1523, 1524 ] }, { "teal": 1712, "source": "examples/reti/stakingPool.algo.ts:439", "pc": [ 1525, 1526 ] }, { "teal": 1713, "source": "examples/reti/stakingPool.algo.ts:439", "pc": [ 1527 ] }, { "teal": 1714, "source": "examples/reti/stakingPool.algo.ts:439", "pc": [ 1528, 1529 ] }, { "teal": 1715, "source": "examples/reti/stakingPool.algo.ts:440", "pc": [ 1530 ] }, { "teal": 1716, "source": "examples/reti/stakingPool.algo.ts:440", "pc": [ 1531, 1532 ] }, { "teal": 1717, "source": "examples/reti/stakingPool.algo.ts:440", "pc": [ 1533 ] }, { "teal": 1718, "source": "examples/reti/stakingPool.algo.ts:440", "pc": [ 1534, 1535 ] }, { "teal": 1719, "source": "examples/reti/stakingPool.algo.ts:440", "pc": [ 1536 ] }, { "teal": 1720, "source": "examples/reti/stakingPool.algo.ts:440", "pc": [ 1537, 1538 ] }, { "teal": 1723, "source": "examples/reti/stakingPool.algo.ts:433", "pc": [ 1539 ] }, { "teal": 1724, "source": "examples/reti/stakingPool.algo.ts:433", "pc": [ 1540, 1541 ] }, { "teal": 1727, "source": "examples/reti/stakingPool.algo.ts:433", "pc": [ 1542 ] }, { "teal": 1731, "source": "examples/reti/stakingPool.algo.ts:443", "pc": [ 1543 ] }, { "teal": 1738, "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ 1544, 1545 ] }, { "teal": 1739, "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ 1546 ] }, { "teal": 1740, "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ 1547 ] }, { "teal": 1741, "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ 1548, 1549 ] }, { "teal": 1742, "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ 1550, 1551, 1552 ] }, { "teal": 1746, "source": "examples/reti/stakingPool.algo.ts:446", "errorMessage": "account not found", "pc": [ 1553 ] }, { "teal": 1747, "source": "examples/reti/stakingPool.algo.ts:387", "pc": [ 1554 ] }, { "teal": 1752, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ 1555, 1556 ] }, { "teal": 1755, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ 1557, 1558, 1559 ] }, { "teal": 1756, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ 1560 ] }, { "teal": 1757, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ 1561 ] }, { "teal": 1758, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ 1562, 1563 ] }, { "teal": 1759, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ 1564 ] }, { "teal": 1762, "source": "examples/reti/stakingPool.algo.ts:457", "errorMessage": "argument 0 (staker) for getStakerInfo must be a address", "pc": [ 1565 ] }, { "teal": 1765, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ 1566, 1567, 1568 ] }, { "teal": 1766, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ 1569 ] }, { "teal": 1767, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ 1570 ] }, { "teal": 1768, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ 1571 ] }, { "teal": 1769, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ 1572 ] }, { "teal": 1779, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ 1573, 1574, 1575 ] }, { "teal": 1782, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ 1576 ] }, { "teal": 1786, "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ 1577 ] }, { "teal": 1787, "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ 1578, 1579 ] }, { "teal": 1792, "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ 1580, 1581 ] }, { "teal": 1793, "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ 1582, 1583 ] }, { "teal": 1794, "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ 1584 ] }, { "teal": 1795, "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ 1585, 1586, 1587 ] }, { "teal": 1800, "source": "examples/reti/stakingPool.algo.ts:459", "pc": [ 1588, 1589 ] }, { "teal": 1801, "source": "examples/reti/stakingPool.algo.ts:459", "pc": [ 1590, 1591 ] }, { "teal": 1802, "source": "examples/reti/stakingPool.algo.ts:459", "pc": [ 1592 ] }, { "teal": 1803, "source": "examples/reti/stakingPool.algo.ts:459", "pc": [ 1593, 1594, 1595 ] }, { "teal": 1808, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ 1596 ] }, { "teal": 1809, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ 1597 ] }, { "teal": 1810, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ 1598, 1599 ] }, { "teal": 1811, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ 1600 ] }, { "teal": 1812, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ 1601, 1602 ] }, { "teal": 1813, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ 1603, 1604 ] }, { "teal": 1814, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ 1605 ] }, { "teal": 1815, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ 1606, 1607 ] }, { "teal": 1816, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ 1608, 1609 ] }, { "teal": 1817, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ 1610, 1611 ] }, { "teal": 1818, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ 1612, 1613 ] }, { "teal": 1819, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ 1614 ] }, { "teal": 1825, "source": "examples/reti/stakingPool.algo.ts:462", "pc": [ 1615, 1616 ] }, { "teal": 1826, "source": "examples/reti/stakingPool.algo.ts:462", "pc": [ 1617 ] }, { "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": [ 1620 ] }, { "teal": 1830, "source": "examples/reti/stakingPool.algo.ts:462", "pc": [ 1621, 1622 ] }, { "teal": 1831, "source": "examples/reti/stakingPool.algo.ts:462", "pc": [ 1623 ] }, { "teal": 1832, "source": "examples/reti/stakingPool.algo.ts:462", "pc": [ 1624, 1625 ] }, { "teal": 1833, "source": "examples/reti/stakingPool.algo.ts:462", "pc": [ 1626 ] }, { "teal": 1834, "source": "examples/reti/stakingPool.algo.ts:462", "pc": [ 1627, 1628 ] }, { "teal": 1835, "source": "examples/reti/stakingPool.algo.ts:462", "pc": [ 1629 ] }, { "teal": 1836, "source": "examples/reti/stakingPool.algo.ts:462", "pc": [ 1630, 1631, 1632 ] }, { "teal": 1841, "source": "examples/reti/stakingPool.algo.ts:463", "pc": [ 1633, 1634 ] }, { "teal": 1842, "source": "examples/reti/stakingPool.algo.ts:463", "pc": [ 1635 ] }, { "teal": 1843, "source": "examples/reti/stakingPool.algo.ts:463", "pc": [ 1636 ] }, { "teal": 1844, "source": "examples/reti/stakingPool.algo.ts:463", "pc": [ 1637 ] }, { "teal": 1845, "source": "examples/reti/stakingPool.algo.ts:463", "pc": [ 1638 ] }, { "teal": 1846, "source": "examples/reti/stakingPool.algo.ts:463", "pc": [ 1639, 1640 ] }, { "teal": 1847, "source": "examples/reti/stakingPool.algo.ts:463", "pc": [ 1641 ] }, { "teal": 1848, "source": "examples/reti/stakingPool.algo.ts:463", "pc": [ 1642, 1643, 1644 ] }, { "teal": 1855, "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ 1645, 1646 ] }, { "teal": 1856, "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ 1647 ] }, { "teal": 1857, "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ 1648 ] }, { "teal": 1858, "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ 1649, 1650 ] }, { "teal": 1859, "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ 1651, 1652, 1653 ] }, { "teal": 1863, "source": "examples/reti/stakingPool.algo.ts:466", "errorMessage": "account not found", "pc": [ 1654 ] }, { "teal": 1867, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ 1655, 1656 ] }, { "teal": 1868, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ 1657 ] }, { "teal": 1873, "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ 1658, 1659, 1660 ] }, { "teal": 1874, "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ 1661 ] }, { "teal": 1877, "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ 1662, 1663, 1664 ] }, { "teal": 1878, "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ 1665 ] }, { "teal": 1881, "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ 1666, 1667, 1668 ] }, { "teal": 1882, "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ 1669 ] }, { "teal": 1883, "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ 1670 ] }, { "teal": 1884, "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ 1671, 1672 ] }, { "teal": 1885, "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ 1673 ] }, { "teal": 1888, "source": "examples/reti/stakingPool.algo.ts:479", "errorMessage": "argument 2 (staker) for payTokenReward must be a address", "pc": [ 1674 ] }, { "teal": 1891, "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ 1675, 1676, 1677 ] }, { "teal": 1892, "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ 1678 ] }, { "teal": 1893, "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ 1679 ] }, { "teal": 1906, "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ 1680, 1681, 1682 ] }, { "teal": 1913, "source": "examples/reti/stakingPool.algo.ts:482", "pc": [ 1683, 1684 ] }, { "teal": 1914, "source": "examples/reti/stakingPool.algo.ts:482", "pc": [ 1685 ] }, { "teal": 1915, "source": "examples/reti/stakingPool.algo.ts:482", "pc": [ 1686 ] }, { "teal": 1916, "source": "examples/reti/stakingPool.algo.ts:482", "pc": [ 1687, 1688 ] }, { "teal": 1917, "source": "examples/reti/stakingPool.algo.ts:482", "pc": [ 1689 ] }, { "teal": 1918, "source": "examples/reti/stakingPool.algo.ts:482", "pc": [ 1690 ] }, { "teal": 1921, "source": "examples/reti/stakingPool.algo.ts:481", "errorMessage": "this can only be called via the validator contract", "pc": [ 1691 ] }, { "teal": 1925, "source": "examples/reti/stakingPool.algo.ts:485", "pc": [ 1692, 1693 ] }, { "teal": 1926, "source": "examples/reti/stakingPool.algo.ts:485", "pc": [ 1694 ] }, { "teal": 1927, "source": "examples/reti/stakingPool.algo.ts:485", "pc": [ 1695 ] }, { "teal": 1928, "source": "examples/reti/stakingPool.algo.ts:485", "pc": [ 1696 ] }, { "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": [ 1697 ] }, { "teal": 1935, "source": "examples/reti/stakingPool.algo.ts:486", "pc": [ 1698, 1699 ] }, { "teal": 1936, "source": "examples/reti/stakingPool.algo.ts:486", "pc": [ 1700 ] }, { "teal": 1937, "source": "examples/reti/stakingPool.algo.ts:486", "pc": [ 1701 ] }, { "teal": 1940, "source": "examples/reti/stakingPool.algo.ts:486", "errorMessage": "can only claim token rewards from validator that has them", "pc": [ 1702 ] }, { "teal": 1948, "source": "examples/reti/stakingPool.algo.ts:489", "pc": [ 1703 ] }, { "teal": 1949, "source": "examples/reti/stakingPool.algo.ts:489", "pc": [ 1704, 1705 ] }, { "teal": 1950, "source": "examples/reti/stakingPool.algo.ts:489", "pc": [ 1706, 1707 ] }, { "teal": 1954, "source": "examples/reti/stakingPool.algo.ts:490", "pc": [ 1708, 1709 ] }, { "teal": 1955, "source": "examples/reti/stakingPool.algo.ts:490", "pc": [ 1710, 1711 ] }, { "teal": 1959, "source": "examples/reti/stakingPool.algo.ts:491", "pc": [ 1712, 1713 ] }, { "teal": 1960, "source": "examples/reti/stakingPool.algo.ts:491", "pc": [ 1714, 1715 ] }, { "teal": 1964, "source": "examples/reti/stakingPool.algo.ts:492", "pc": [ 1716, 1717 ] }, { "teal": 1965, "source": "examples/reti/stakingPool.algo.ts:492", "pc": [ 1718, 1719 ] }, { "teal": 1968, "source": "examples/reti/stakingPool.algo.ts:489", "pc": [ 1720 ] }, { "teal": 1969, "source": "examples/reti/stakingPool.algo.ts:489", "pc": [ 1721, 1722 ] }, { "teal": 1972, "source": "examples/reti/stakingPool.algo.ts:489", "pc": [ 1723 ] }, { "teal": 1973, "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ 1724 ] }, { "teal": 1978, "source": "examples/reti/stakingPool.algo.ts:505", "pc": [ 1725, 1726, 1727 ] }, { "teal": 1979, "source": "examples/reti/stakingPool.algo.ts:505", "pc": [ 1728, 1729, 1730 ] }, { "teal": 1982, "source": "examples/reti/stakingPool.algo.ts:505", "pc": [ 1731, 1732, 1733 ] }, { "teal": 1983, "source": "examples/reti/stakingPool.algo.ts:505", "pc": [ 1734 ] }, { "teal": 1984, "source": "examples/reti/stakingPool.algo.ts:505", "pc": [ 1735 ] }, { "teal": 1996, "source": "examples/reti/stakingPool.algo.ts:505", "pc": [ 1736, 1737, 1738 ] }, { "teal": 2000, "source": "examples/reti/stakingPool.algo.ts:506", "pc": [ 1739, 1740, 1741 ] }, { "teal": 2003, "source": "examples/reti/stakingPool.algo.ts:506", "errorMessage": "can only be called by owner or manager of validator", "pc": [ 1742 ] }, { "teal": 2007, "source": "examples/reti/stakingPool.algo.ts:507", "pc": [ 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752 ] }, { "teal": 2008, "source": "examples/reti/stakingPool.algo.ts:507", "pc": [ 1753, 1754 ] }, { "teal": 2009, "source": "examples/reti/stakingPool.algo.ts:507", "pc": [ 1755 ] }, { "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": 2017, "source": "examples/reti/stakingPool.algo.ts:518", "pc": [ 1761 ] }, { "teal": 2028, "source": "examples/reti/stakingPool.algo.ts:518", "pc": [ 1762, 1763, 1764 ] }, { "teal": 2031, "source": "examples/reti/stakingPool.algo.ts:518", "pc": [ 1765 ] }, { "teal": 2032, "source": "examples/reti/stakingPool.algo.ts:518", "pc": [ 1766, 1767 ] }, { "teal": 2039, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ 1768 ] }, { "teal": 2040, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ 1769 ] }, { "teal": 2041, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ 1770, 1771 ] }, { "teal": 2042, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ 1772, 1773 ] }, { "teal": 2043, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ 1774, 1775 ] }, { "teal": 2047, "source": "examples/reti/stakingPool.algo.ts:521", "pc": [ 1776 ] }, { "teal": 2048, "source": "examples/reti/stakingPool.algo.ts:521", "pc": [ 1777 ] }, { "teal": 2049, "source": "examples/reti/stakingPool.algo.ts:521", "pc": [ 1778, 1779 ] }, { "teal": 2053, "source": "examples/reti/stakingPool.algo.ts:522", "pc": [ 1780 ] }, { "teal": 2054, "source": "examples/reti/stakingPool.algo.ts:522", "pc": [ 1781 ] }, { "teal": 2055, "source": "examples/reti/stakingPool.algo.ts:522", "pc": [ 1782 ] }, { "teal": 2056, "source": "examples/reti/stakingPool.algo.ts:522", "pc": [ 1783, 1784 ] }, { "teal": 2059, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ 1785 ] }, { "teal": 2060, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ 1786, 1787 ] }, { "teal": 2063, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ 1788 ] }, { "teal": 2064, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ 1789, 1790 ] }, { "teal": 2065, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ 1791 ] }, { "teal": 2066, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ 1792 ] }, { "teal": 2067, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ 1793, 1794 ] }, { "teal": 2068, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ 1795, 1796, 1797 ] }, { "teal": 2069, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ 1798, 1799 ] }, { "teal": 2073, "source": "examples/reti/stakingPool.algo.ts:529", "pc": [ 1800, 1801 ] }, { "teal": 2074, "source": "examples/reti/stakingPool.algo.ts:529", "pc": [ 1802, 1803, 1804 ] }, { "teal": 2075, "source": "examples/reti/stakingPool.algo.ts:529", "pc": [ 1805 ] }, { "teal": 2076, "source": "examples/reti/stakingPool.algo.ts:529", "pc": [ 1806, 1807 ] }, { "teal": 2080, "source": "examples/reti/stakingPool.algo.ts:530", "pc": [ 1808, 1809 ] }, { "teal": 2081, "source": "examples/reti/stakingPool.algo.ts:530", "pc": [ 1810, 1811 ] }, { "teal": 2085, "source": "examples/reti/stakingPool.algo.ts:531", "pc": [ 1812, 1813 ] }, { "teal": 2086, "source": "examples/reti/stakingPool.algo.ts:531", "pc": [ 1814, 1815 ] }, { "teal": 2087, "source": "examples/reti/stakingPool.algo.ts:531", "pc": [ 1816, 1817 ] }, { "teal": 2088, "source": "examples/reti/stakingPool.algo.ts:531", "pc": [ 1818 ] }, { "teal": 2089, "source": "examples/reti/stakingPool.algo.ts:531", "pc": [ 1819 ] }, { "teal": 2090, "source": "examples/reti/stakingPool.algo.ts:531", "pc": [ 1820, 1821 ] }, { "teal": 2095, "source": "examples/reti/stakingPool.algo.ts:534", "pc": [ 1822, 1823, 1824 ] }, { "teal": 2096, "source": "examples/reti/stakingPool.algo.ts:534", "pc": [ 1825, 1826 ] }, { "teal": 2097, "source": "examples/reti/stakingPool.algo.ts:534", "pc": [ 1827 ] }, { "teal": 2098, "source": "examples/reti/stakingPool.algo.ts:534", "pc": [ 1828 ] }, { "teal": 2099, "source": "examples/reti/stakingPool.algo.ts:534", "pc": [ 1829 ] }, { "teal": 2100, "source": "examples/reti/stakingPool.algo.ts:534", "pc": [ 1830, 1831, 1832 ] }, { "teal": 2105, "source": "examples/reti/stakingPool.algo.ts:535", "pc": [ 1833, 1834 ] }, { "teal": 2106, "source": "examples/reti/stakingPool.algo.ts:535", "pc": [ 1835 ] }, { "teal": 2107, "source": "examples/reti/stakingPool.algo.ts:535", "pc": [ 1836, 1837 ] }, { "teal": 2108, "source": "examples/reti/stakingPool.algo.ts:535", "pc": [ 1838 ] }, { "teal": 2109, "source": "examples/reti/stakingPool.algo.ts:535", "pc": [ 1839, 1840 ] }, { "teal": 2110, "source": "examples/reti/stakingPool.algo.ts:535", "pc": [ 1841 ] }, { "teal": 2111, "source": "examples/reti/stakingPool.algo.ts:535", "pc": [ 1842 ] }, { "teal": 2112, "source": "examples/reti/stakingPool.algo.ts:535", "pc": [ 1843, 1844 ] }, { "teal": 2116, "source": "examples/reti/stakingPool.algo.ts:539", "pc": [ 1845, 1846 ] }, { "teal": 2117, "source": "examples/reti/stakingPool.algo.ts:539", "pc": [ 1847, 1848 ] }, { "teal": 2118, "source": "examples/reti/stakingPool.algo.ts:539", "pc": [ 1849 ] }, { "teal": 2121, "source": "examples/reti/stakingPool.algo.ts:539", "errorMessage": "can't call epochBalanceUpdate in same epoch as prior call", "pc": [ 1850 ] }, { "teal": 2126, "source": "examples/reti/stakingPool.algo.ts:542", "pc": [ 1851, 1852, 1853 ] }, { "teal": 2130, "source": "examples/reti/stakingPool.algo.ts:545", "pc": [ 1854, 1855 ] }, { "teal": 2131, "source": "examples/reti/stakingPool.algo.ts:545", "pc": [ 1856, 1857 ] }, { "teal": 2132, "source": "examples/reti/stakingPool.algo.ts:545", "pc": [ 1858 ] }, { "teal": 2136, "source": "examples/reti/stakingPool.algo.ts:546", "pc": [ 1859, 1860 ] }, { "teal": 2137, "source": "examples/reti/stakingPool.algo.ts:546", "pc": [ 1861 ] }, { "teal": 2138, "source": "examples/reti/stakingPool.algo.ts:546", "pc": [ 1862 ] }, { "teal": 2139, "source": "examples/reti/stakingPool.algo.ts:546", "pc": [ 1863 ] }, { "teal": 2140, "source": "examples/reti/stakingPool.algo.ts:546", "pc": [ 1864, 1865 ] }, { "teal": 2141, "source": "examples/reti/stakingPool.algo.ts:546", "pc": [ 1866 ] }, { "teal": 2142, "source": "examples/reti/stakingPool.algo.ts:546", "pc": [ 1867 ] }, { "teal": 2146, "source": "examples/reti/stakingPool.algo.ts:551", "pc": [ 1868, 1869 ] }, { "teal": 2147, "source": "examples/reti/stakingPool.algo.ts:551", "pc": [ 1870, 1871, 1872 ] }, { "teal": 2148, "source": "examples/reti/stakingPool.algo.ts:551", "pc": [ 1873 ] }, { "teal": 2149, "source": "examples/reti/stakingPool.algo.ts:551", "pc": [ 1874 ] }, { "teal": 2150, "source": "examples/reti/stakingPool.algo.ts:551", "pc": [ 1875 ] }, { "teal": 2151, "source": "examples/reti/stakingPool.algo.ts:551", "pc": [ 1876, 1877 ] }, { "teal": 2155, "source": "examples/reti/stakingPool.algo.ts:552", "pc": [ 1878, 1879, 1880 ] }, { "teal": 2156, "source": "examples/reti/stakingPool.algo.ts:552", "pc": [ 1881, 1882 ] }, { "teal": 2160, "source": "examples/reti/stakingPool.algo.ts:553", "pc": [ 1883, 1884 ] }, { "teal": 2161, "source": "examples/reti/stakingPool.algo.ts:553", "pc": [ 1885, 1886 ] }, { "teal": 2166, "source": "examples/reti/stakingPool.algo.ts:558", "pc": [ 1887, 1888 ] }, { "teal": 2167, "source": "examples/reti/stakingPool.algo.ts:558", "pc": [ 1889, 1890, 1891 ] }, { "teal": 2173, "source": "examples/reti/stakingPool.algo.ts:559", "pc": [ 1892, 1893 ] }, { "teal": 2174, "source": "examples/reti/stakingPool.algo.ts:559", "pc": [ 1894 ] }, { "teal": 2175, "source": "examples/reti/stakingPool.algo.ts:559", "pc": [ 1895 ] }, { "teal": 2176, "source": "examples/reti/stakingPool.algo.ts:559", "pc": [ 1896 ] }, { "teal": 2177, "source": "examples/reti/stakingPool.algo.ts:559", "pc": [ 1897, 1898, 1899 ] }, { "teal": 2185, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ 1900 ] }, { "teal": 2186, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ 1901 ] }, { "teal": 2187, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ 1902, 1903 ] }, { "teal": 2188, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ 1904, 1905 ] }, { "teal": 2189, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ 1906, 1907 ] }, { "teal": 2193, "source": "examples/reti/stakingPool.algo.ts:562", "pc": [ 1908 ] }, { "teal": 2194, "source": "examples/reti/stakingPool.algo.ts:562", "pc": [ 1909 ] }, { "teal": 2195, "source": "examples/reti/stakingPool.algo.ts:562", "pc": [ 1910, 1911 ] }, { "teal": 2199, "source": "examples/reti/stakingPool.algo.ts:563", "pc": [ 1912 ] }, { "teal": 2200, "source": "examples/reti/stakingPool.algo.ts:563", "pc": [ 1913 ] }, { "teal": 2201, "source": "examples/reti/stakingPool.algo.ts:563", "pc": [ 1914 ] }, { "teal": 2202, "source": "examples/reti/stakingPool.algo.ts:563", "pc": [ 1915, 1916 ] }, { "teal": 2203, "source": "examples/reti/stakingPool.algo.ts:563", "pc": [ 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1924, 1925, 1926 ] }, { "teal": 2204, "source": "examples/reti/stakingPool.algo.ts:563", "pc": [ 1927, 1928 ] }, { "teal": 2207, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ 1929 ] }, { "teal": 2208, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ 1930, 1931 ] }, { "teal": 2211, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ 1932 ] }, { "teal": 2212, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ 1933, 1934 ] }, { "teal": 2213, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ 1935 ] }, { "teal": 2214, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ 1936 ] }, { "teal": 2215, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ 1937, 1938 ] }, { "teal": 2216, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ 1939, 1940, 1941 ] }, { "teal": 2217, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ 1942 ] }, { "teal": 2218, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ 1943, 1944 ] }, { "teal": 2222, "source": "examples/reti/stakingPool.algo.ts:565", "pc": [ 1945, 1946 ] }, { "teal": 2223, "source": "examples/reti/stakingPool.algo.ts:565", "pc": [ 1947, 1948 ] }, { "teal": 2224, "source": "examples/reti/stakingPool.algo.ts:565", "pc": [ 1949 ] }, { "teal": 2225, "source": "examples/reti/stakingPool.algo.ts:565", "pc": [ 1950, 1951 ] }, { "teal": 2231, "source": "examples/reti/stakingPool.algo.ts:570", "pc": [ 1952, 1953 ] }, { "teal": 2232, "source": "examples/reti/stakingPool.algo.ts:570", "pc": [ 1954 ] }, { "teal": 2233, "source": "examples/reti/stakingPool.algo.ts:570", "pc": [ 1955 ] }, { "teal": 2234, "source": "examples/reti/stakingPool.algo.ts:570", "pc": [ 1956 ] }, { "teal": 2235, "source": "examples/reti/stakingPool.algo.ts:570", "pc": [ 1957, 1958, 1959 ] }, { "teal": 2243, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ 1960 ] }, { "teal": 2244, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ 1961 ] }, { "teal": 2245, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ 1962, 1963 ] }, { "teal": 2246, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ 1964, 1965 ] }, { "teal": 2247, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ 1966, 1967 ] }, { "teal": 2251, "source": "examples/reti/stakingPool.algo.ts:572", "pc": [ 1968 ] }, { "teal": 2252, "source": "examples/reti/stakingPool.algo.ts:572", "pc": [ 1969 ] }, { "teal": 2253, "source": "examples/reti/stakingPool.algo.ts:572", "pc": [ 1970, 1971 ] }, { "teal": 2257, "source": "examples/reti/stakingPool.algo.ts:573", "pc": [ 1972 ] }, { "teal": 2258, "source": "examples/reti/stakingPool.algo.ts:573", "pc": [ 1973 ] }, { "teal": 2259, "source": "examples/reti/stakingPool.algo.ts:573", "pc": [ 1974 ] }, { "teal": 2260, "source": "examples/reti/stakingPool.algo.ts:573", "pc": [ 1975, 1976 ] }, { "teal": 2263, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ 1977 ] }, { "teal": 2264, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ 1978, 1979 ] }, { "teal": 2267, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ 1980 ] }, { "teal": 2268, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ 1981, 1982 ] }, { "teal": 2269, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ 1983 ] }, { "teal": 2270, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ 1984 ] }, { "teal": 2271, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ 1985, 1986 ] }, { "teal": 2272, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ 1987, 1988, 1989 ] }, { "teal": 2273, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ 1990, 1991 ] }, { "teal": 2274, "source": "examples/reti/stakingPool.algo.ts:570", "pc": [ 1992, 1993, 1994 ] }, { "teal": 2282, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ 1995 ] }, { "teal": 2283, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ 1996 ] }, { "teal": 2284, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ 1997, 1998 ] }, { "teal": 2285, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ 1999, 2000 ] }, { "teal": 2286, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ 2001, 2002 ] }, { "teal": 2290, "source": "examples/reti/stakingPool.algo.ts:578", "pc": [ 2003, 2004 ] }, { "teal": 2291, "source": "examples/reti/stakingPool.algo.ts:578", "pc": [ 2005, 2006 ] }, { "teal": 2295, "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ 2007 ] }, { "teal": 2296, "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ 2008 ] }, { "teal": 2297, "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ 2009 ] }, { "teal": 2298, "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ 2010, 2011 ] }, { "teal": 2299, "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ 2012 ] }, { "teal": 2300, "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ 2013 ] }, { "teal": 2301, "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ 2014 ] }, { "teal": 2302, "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ 2015, 2016, 2017 ] }, { "teal": 2303, "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ 2018 ] }, { "teal": 2304, "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ 2019 ] }, { "teal": 2305, "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ 2020, 2021 ] }, { "teal": 2308, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ 2022 ] }, { "teal": 2309, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ 2023, 2024 ] }, { "teal": 2312, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ 2025 ] }, { "teal": 2313, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ 2026, 2027 ] }, { "teal": 2314, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ 2028 ] }, { "teal": 2315, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ 2029 ] }, { "teal": 2316, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ 2030, 2031 ] }, { "teal": 2317, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ 2032, 2033, 2034 ] }, { "teal": 2318, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ 2035, 2036 ] }, { "teal": 2328, "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ 2037 ] }, { "teal": 2329, "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ 2038 ] }, { "teal": 2330, "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ 2039, 2040 ] }, { "teal": 2331, "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ 2041, 2042, 2043, 2044, 2045, 2046 ] }, { "teal": 2332, "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ 2047, 2048 ] }, { "teal": 2336, "source": "examples/reti/stakingPool.algo.ts:587", "pc": [ 2049 ] }, { "teal": 2337, "source": "examples/reti/stakingPool.algo.ts:587", "pc": [ 2050 ] }, { "teal": 2338, "source": "examples/reti/stakingPool.algo.ts:587", "pc": [ 2051, 2052 ] }, { "teal": 2342, "source": "examples/reti/stakingPool.algo.ts:588", "pc": [ 2053 ] }, { "teal": 2343, "source": "examples/reti/stakingPool.algo.ts:588", "pc": [ 2054 ] }, { "teal": 2344, "source": "examples/reti/stakingPool.algo.ts:588", "pc": [ 2055 ] }, { "teal": 2345, "source": "examples/reti/stakingPool.algo.ts:588", "pc": [ 2056, 2057 ] }, { "teal": 2348, "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ 2058 ] }, { "teal": 2349, "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ 2059, 2060 ] }, { "teal": 2352, "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ 2061 ] }, { "teal": 2353, "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ 2062, 2063 ] }, { "teal": 2354, "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ 2064 ] }, { "teal": 2355, "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ 2065 ] }, { "teal": 2356, "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ 2066, 2067 ] }, { "teal": 2357, "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ 2068, 2069, 2070 ] }, { "teal": 2358, "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ 2071, 2072 ] }, { "teal": 2362, "source": "examples/reti/stakingPool.algo.ts:590", "pc": [ 2073, 2074 ] }, { "teal": 2363, "source": "examples/reti/stakingPool.algo.ts:590", "pc": [ 2075, 2076, 2077 ] }, { "teal": 2364, "source": "examples/reti/stakingPool.algo.ts:590", "pc": [ 2078 ] }, { "teal": 2365, "source": "examples/reti/stakingPool.algo.ts:590", "pc": [ 2079, 2080 ] }, { "teal": 2369, "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ 2081, 2082 ] }, { "teal": 2370, "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ 2083, 2084 ] }, { "teal": 2371, "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ 2085 ] }, { "teal": 2372, "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ 2086, 2087 ] }, { "teal": 2373, "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ 2088 ] }, { "teal": 2374, "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ 2089 ] }, { "teal": 2375, "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ 2090, 2091 ] }, { "teal": 2376, "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ 2092, 2093 ] }, { "teal": 2377, "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ 2094 ] }, { "teal": 2378, "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ 2095 ] }, { "teal": 2379, "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ 2096, 2097 ] }, { "teal": 2383, "source": "examples/reti/stakingPool.algo.ts:597", "pc": [ 2098 ] }, { "teal": 2384, "source": "examples/reti/stakingPool.algo.ts:597", "pc": [ 2099, 2100 ] }, { "teal": 2388, "source": "examples/reti/stakingPool.algo.ts:598", "pc": [ 2101, 2102, 2103 ] }, { "teal": 2389, "source": "examples/reti/stakingPool.algo.ts:598", "pc": [ 2104, 2105 ] }, { "teal": 2394, "source": "examples/reti/stakingPool.algo.ts:606", "pc": [ 2106, 2107 ] }, { "teal": 2395, "source": "examples/reti/stakingPool.algo.ts:606", "pc": [ 2108, 2109, 2110 ] }, { "teal": 2396, "source": "examples/reti/stakingPool.algo.ts:606", "pc": [ 2111 ] }, { "teal": 2397, "source": "examples/reti/stakingPool.algo.ts:606", "pc": [ 2112, 2113 ] }, { "teal": 2398, "source": "examples/reti/stakingPool.algo.ts:606", "pc": [ 2114 ] }, { "teal": 2399, "source": "examples/reti/stakingPool.algo.ts:606", "pc": [ 2115, 2116, 2117 ] }, { "teal": 2404, "source": "examples/reti/stakingPool.algo.ts:607", "pc": [ 2118 ] }, { "teal": 2405, "source": "examples/reti/stakingPool.algo.ts:607", "pc": [ 2119, 2120 ] }, { "teal": 2410, "source": "examples/reti/stakingPool.algo.ts:613", "pc": [ 2121 ] }, { "teal": 2411, "source": "examples/reti/stakingPool.algo.ts:613", "pc": [ 2122, 2123 ] }, { "teal": 2415, "source": "examples/reti/stakingPool.algo.ts:614", "pc": [ 2124 ] }, { "teal": 2416, "source": "examples/reti/stakingPool.algo.ts:614", "pc": [ 2125, 2126 ] }, { "teal": 2420, "source": "examples/reti/stakingPool.algo.ts:615", "pc": [ 2127 ] }, { "teal": 2421, "source": "examples/reti/stakingPool.algo.ts:615", "pc": [ 2128, 2129 ] }, { "teal": 2425, "source": "examples/reti/stakingPool.algo.ts:616", "pc": [ 2130 ] }, { "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": 2432, "source": "examples/reti/stakingPool.algo.ts:617", "pc": [ 2135, 2136, 2137 ] }, { "teal": 2438, "source": "examples/reti/stakingPool.algo.ts:619", "pc": [ 2138, 2139 ] }, { "teal": 2439, "source": "examples/reti/stakingPool.algo.ts:619", "pc": [ 2140, 2141 ] }, { "teal": 2440, "source": "examples/reti/stakingPool.algo.ts:619", "pc": [ 2142, 2143, 2144 ] }, { "teal": 2441, "source": "examples/reti/stakingPool.algo.ts:619", "pc": [ 2145 ] }, { "teal": 2442, "source": "examples/reti/stakingPool.algo.ts:619", "pc": [ 2146, 2147 ] }, { "teal": 2443, "source": "examples/reti/stakingPool.algo.ts:619", "pc": [ 2148 ] }, { "teal": 2444, "source": "examples/reti/stakingPool.algo.ts:619", "pc": [ 2149, 2150 ] }, { "teal": 2445, "source": "examples/reti/stakingPool.algo.ts:619", "pc": [ 2151 ] }, { "teal": 2446, "source": "examples/reti/stakingPool.algo.ts:618", "pc": [ 2152, 2153 ] }, { "teal": 2451, "source": "examples/reti/stakingPool.algo.ts:623", "pc": [ 2154, 2155 ] }, { "teal": 2452, "source": "examples/reti/stakingPool.algo.ts:623", "pc": [ 2156, 2157 ] }, { "teal": 2453, "source": "examples/reti/stakingPool.algo.ts:623", "pc": [ 2158, 2159, 2160 ] }, { "teal": 2454, "source": "examples/reti/stakingPool.algo.ts:623", "pc": [ 2161 ] }, { "teal": 2455, "source": "examples/reti/stakingPool.algo.ts:623", "pc": [ 2162 ] }, { "teal": 2456, "source": "examples/reti/stakingPool.algo.ts:623", "pc": [ 2163, 2164, 2165 ] }, { "teal": 2461, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ 2166, 2167 ] }, { "teal": 2462, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ 2168 ] }, { "teal": 2463, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ 2169, 2170 ] }, { "teal": 2464, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ 2171 ] }, { "teal": 2465, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ 2172 ] }, { "teal": 2466, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ 2173 ] }, { "teal": 2467, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ 2174, 2175 ] }, { "teal": 2468, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ 2176 ] }, { "teal": 2469, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ 2177 ] }, { "teal": 2470, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ 2178, 2179 ] }, { "teal": 2471, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ 2180 ] }, { "teal": 2472, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ 2181 ] }, { "teal": 2473, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ 2182, 2183 ] }, { "teal": 2477, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ 2184, 2185 ] }, { "teal": 2478, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ 2186, 2187, 2188 ] }, { "teal": 2479, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ 2189 ] }, { "teal": 2480, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ 2190, 2191 ] }, { "teal": 2481, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ 2192 ] }, { "teal": 2482, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ 2193 ] }, { "teal": 2483, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ 2194, 2195 ] }, { "teal": 2484, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ 2196 ] }, { "teal": 2485, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ 2197 ] }, { "teal": 2486, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ 2198 ] }, { "teal": 2487, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ 2199 ] }, { "teal": 2488, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ 2200 ] }, { "teal": 2491, "source": "examples/reti/stakingPool.algo.ts:632", "errorMessage": "wideRatio failed", "pc": [ 2201 ] }, { "teal": 2492, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ 2202, 2203 ] }, { "teal": 2500, "source": "examples/reti/stakingPool.algo.ts:635", "pc": [ 2204, 2205 ] }, { "teal": 2501, "source": "examples/reti/stakingPool.algo.ts:635", "pc": [ 2206 ] }, { "teal": 2502, "source": "examples/reti/stakingPool.algo.ts:635", "pc": [ 2207 ] }, { "teal": 2503, "source": "examples/reti/stakingPool.algo.ts:635", "pc": [ 2208, 2209, 2210 ] }, { "teal": 2509, "source": "examples/reti/stakingPool.algo.ts:640", "pc": [ 2211, 2212 ] }, { "teal": 2510, "source": "examples/reti/stakingPool.algo.ts:640", "pc": [ 2213, 2214 ] }, { "teal": 2511, "source": "examples/reti/stakingPool.algo.ts:640", "pc": [ 2215 ] }, { "teal": 2512, "source": "examples/reti/stakingPool.algo.ts:640", "pc": [ 2216, 2217, 2218 ] }, { "teal": 2517, "source": "examples/reti/stakingPool.algo.ts:641", "pc": [ 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2233, 2234, 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242 ] }, { "teal": 2518, "source": "examples/reti/stakingPool.algo.ts:641", "pc": [ 2243 ] }, { "teal": 2522, "source": "examples/reti/stakingPool.algo.ts:642", "pc": [ 2244 ] }, { "teal": 2530, "source": "examples/reti/stakingPool.algo.ts:646", "pc": [ 2245, 2246 ] }, { "teal": 2531, "source": "examples/reti/stakingPool.algo.ts:646", "pc": [ 2247, 2248, 2249 ] }, { "teal": 2536, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ 2250, 2251 ] }, { "teal": 2537, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ 2252, 2253 ] }, { "teal": 2538, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ 2254 ] }, { "teal": 2539, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ 2255 ] }, { "teal": 2540, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ 2256, 2257 ] }, { "teal": 2541, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ 2258, 2259, 2260 ] }, { "teal": 2542, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ 2261 ] }, { "teal": 2543, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ 2262 ] }, { "teal": 2544, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ 2263 ] }, { "teal": 2545, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ 2264 ] }, { "teal": 2546, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ 2265 ] }, { "teal": 2547, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ 2266 ] }, { "teal": 2550, "source": "examples/reti/stakingPool.algo.ts:649", "errorMessage": "wideRatio failed", "pc": [ 2267 ] }, { "teal": 2551, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ 2268, 2269 ] }, { "teal": 2555, "source": "examples/reti/stakingPool.algo.ts:651", "pc": [ 2270, 2271 ] }, { "teal": 2556, "source": "examples/reti/stakingPool.algo.ts:651", "pc": [ 2272, 2273 ] }, { "teal": 2557, "source": "examples/reti/stakingPool.algo.ts:651", "pc": [ 2274 ] }, { "teal": 2558, "source": "examples/reti/stakingPool.algo.ts:651", "pc": [ 2275, 2276 ] }, { "teal": 2566, "source": "examples/reti/stakingPool.algo.ts:652", "pc": [ 2277 ] }, { "teal": 2567, "source": "examples/reti/stakingPool.algo.ts:652", "pc": [ 2278 ] }, { "teal": 2568, "source": "examples/reti/stakingPool.algo.ts:652", "pc": [ 2279, 2280 ] }, { "teal": 2572, "source": "examples/reti/stakingPool.algo.ts:653", "pc": [ 2281, 2282 ] }, { "teal": 2573, "source": "examples/reti/stakingPool.algo.ts:653", "pc": [ 2283, 2284 ] }, { "teal": 2577, "source": "examples/reti/stakingPool.algo.ts:654", "pc": [ 2285, 2286, 2287 ] }, { "teal": 2578, "source": "examples/reti/stakingPool.algo.ts:654", "pc": [ 2288, 2289 ] }, { "teal": 2582, "source": "examples/reti/stakingPool.algo.ts:655", "pc": [ 2290, 2291, 2292, 2293, 2294, 2295, 2296, 2297, 2298, 2299, 2300, 2301, 2302, 2303, 2304, 2305, 2306, 2307, 2308, 2309, 2310, 2311, 2312, 2313, 2314, 2315, 2316, 2317, 2318, 2319, 2320, 2321, 2322, 2323, 2324, 2325 ] }, { "teal": 2583, "source": "examples/reti/stakingPool.algo.ts:655", "pc": [ 2326, 2327 ] }, { "teal": 2586, "source": "examples/reti/stakingPool.algo.ts:652", "pc": [ 2328 ] }, { "teal": 2587, "source": "examples/reti/stakingPool.algo.ts:652", "pc": [ 2329, 2330 ] }, { "teal": 2590, "source": "examples/reti/stakingPool.algo.ts:652", "pc": [ 2331 ] }, { "teal": 2594, "source": "examples/reti/stakingPool.algo.ts:658", "pc": [ 2332, 2333 ] }, { "teal": 2595, "source": "examples/reti/stakingPool.algo.ts:658", "pc": [ 2334, 2335 ] }, { "teal": 2596, "source": "examples/reti/stakingPool.algo.ts:646", "pc": [ 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, 2343 ] }, { "teal": 2603, "source": "examples/reti/stakingPool.algo.ts:659", "pc": [ 2344 ] }, { "teal": 2604, "source": "examples/reti/stakingPool.algo.ts:659", "pc": [ 2345 ] }, { "teal": 2605, "source": "examples/reti/stakingPool.algo.ts:659", "pc": [ 2346 ] }, { "teal": 2606, "source": "examples/reti/stakingPool.algo.ts:659", "pc": [ 2347, 2348, 2349 ] }, { "teal": 2614, "source": "examples/reti/stakingPool.algo.ts:663", "pc": [ 2350, 2351 ] }, { "teal": 2615, "source": "examples/reti/stakingPool.algo.ts:663", "pc": [ 2352, 2353 ] }, { "teal": 2616, "source": "examples/reti/stakingPool.algo.ts:663", "pc": [ 2354, 2355, 2356 ] }, { "teal": 2617, "source": "examples/reti/stakingPool.algo.ts:663", "pc": [ 2357 ] }, { "teal": 2618, "source": "examples/reti/stakingPool.algo.ts:662", "pc": [ 2358 ] }, { "teal": 2619, "source": "examples/reti/stakingPool.algo.ts:662", "pc": [ 2359 ] }, { "teal": 2620, "source": "examples/reti/stakingPool.algo.ts:664", "pc": [ 2360, 2361 ] }, { "teal": 2621, "source": "examples/reti/stakingPool.algo.ts:662", "pc": [ 2362 ] }, { "teal": 2622, "source": "examples/reti/stakingPool.algo.ts:662", "pc": [ 2363 ] }, { "teal": 2623, "source": "examples/reti/stakingPool.algo.ts:662", "pc": [ 2364 ] }, { "teal": 2624, "source": "examples/reti/stakingPool.algo.ts:662", "pc": [ 2365 ] }, { "teal": 2625, "source": "examples/reti/stakingPool.algo.ts:662", "pc": [ 2366 ] }, { "teal": 2628, "source": "examples/reti/stakingPool.algo.ts:662", "errorMessage": "wideRatio failed", "pc": [ 2367 ] }, { "teal": 2629, "source": "examples/reti/stakingPool.algo.ts:662", "pc": [ 2368, 2369 ] }, { "teal": 2633, "source": "examples/reti/stakingPool.algo.ts:668", "pc": [ 2370, 2371 ] }, { "teal": 2634, "source": "examples/reti/stakingPool.algo.ts:668", "pc": [ 2372, 2373 ] }, { "teal": 2635, "source": "examples/reti/stakingPool.algo.ts:668", "pc": [ 2374 ] }, { "teal": 2636, "source": "examples/reti/stakingPool.algo.ts:668", "pc": [ 2375, 2376 ] }, { "teal": 2641, "source": "examples/reti/stakingPool.algo.ts:675", "pc": [ 2377, 2378 ] }, { "teal": 2642, "source": "examples/reti/stakingPool.algo.ts:675", "pc": [ 2379 ] }, { "teal": 2643, "source": "examples/reti/stakingPool.algo.ts:675", "pc": [ 2380 ] }, { "teal": 2644, "source": "examples/reti/stakingPool.algo.ts:675", "pc": [ 2381, 2382, 2383 ] }, { "teal": 2649, "source": "examples/reti/stakingPool.algo.ts:678", "pc": [ 2384 ] }, { "teal": 2650, "source": "examples/reti/stakingPool.algo.ts:678", "pc": [ 2385, 2386 ] }, { "teal": 2656, "source": "examples/reti/stakingPool.algo.ts:680", "pc": [ 2387, 2388 ] }, { "teal": 2657, "source": "examples/reti/stakingPool.algo.ts:680", "pc": [ 2389, 2390, 2391 ] }, { "teal": 2658, "source": "examples/reti/stakingPool.algo.ts:680", "pc": [ 2392, 2393 ] }, { "teal": 2659, "source": "examples/reti/stakingPool.algo.ts:680", "pc": [ 2394, 2395, 2396 ] }, { "teal": 2660, "source": "examples/reti/stakingPool.algo.ts:680", "pc": [ 2397 ] }, { "teal": 2661, "source": "examples/reti/stakingPool.algo.ts:680", "pc": [ 2398 ] }, { "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:681", "pc": [ 2407, 2408 ] }, { "teal": 2666, "source": "examples/reti/stakingPool.algo.ts:681", "pc": [ 2409 ] }, { "teal": 2667, "source": "examples/reti/stakingPool.algo.ts:681", "pc": [ 2410, 2411 ] }, { "teal": 2668, "source": "examples/reti/stakingPool.algo.ts:681", "pc": [ 2412, 2413, 2414 ] }, { "teal": 2669, "source": "examples/reti/stakingPool.algo.ts:681", "pc": [ 2415, 2416 ] }, { "teal": 2670, "source": "examples/reti/stakingPool.algo.ts:681", "pc": [ 2417 ] }, { "teal": 2671, "source": "examples/reti/stakingPool.algo.ts:681", "pc": [ 2418 ] }, { "teal": 2672, "source": "examples/reti/stakingPool.algo.ts:681", "pc": [ 2419, 2420 ] }, { "teal": 2673, "source": "examples/reti/stakingPool.algo.ts:681", "pc": [ 2421 ] }, { "teal": 2674, "source": "examples/reti/stakingPool.algo.ts:680", "pc": [ 2422 ] }, { "teal": 2677, "source": "examples/reti/stakingPool.algo.ts:679", "pc": [ 2423, 2424, 2425 ] }, { "teal": 2682, "source": "examples/reti/stakingPool.algo.ts:683", "pc": [ 2426, 2427 ] }, { "teal": 2683, "source": "examples/reti/stakingPool.algo.ts:683", "pc": [ 2428, 2429 ] }, { "teal": 2684, "source": "examples/reti/stakingPool.algo.ts:683", "pc": [ 2430 ] }, { "teal": 2685, "source": "examples/reti/stakingPool.algo.ts:683", "pc": [ 2431, 2432, 2433 ] }, { "teal": 2686, "source": "examples/reti/stakingPool.algo.ts:683", "pc": [ 2434, 2435 ] }, { "teal": 2687, "source": "examples/reti/stakingPool.algo.ts:683", "pc": [ 2436, 2437, 2438 ] }, { "teal": 2690, "source": "examples/reti/stakingPool.algo.ts:683", "pc": [ 2439, 2440 ] }, { "teal": 2693, "source": "examples/reti/stakingPool.algo.ts:683", "pc": [ 2441, 2442 ] }, { "teal": 2701, "source": "examples/reti/stakingPool.algo.ts:684", "pc": [ 2443 ] }, { "teal": 2702, "source": "examples/reti/stakingPool.algo.ts:684", "pc": [ 2444 ] }, { "teal": 2703, "source": "examples/reti/stakingPool.algo.ts:684", "pc": [ 2445, 2446 ] }, { "teal": 2707, "source": "examples/reti/stakingPool.algo.ts:685", "pc": [ 2447, 2448 ] }, { "teal": 2708, "source": "examples/reti/stakingPool.algo.ts:685", "pc": [ 2449, 2450 ] }, { "teal": 2712, "source": "examples/reti/stakingPool.algo.ts:686", "pc": [ 2451, 2452 ] }, { "teal": 2713, "source": "examples/reti/stakingPool.algo.ts:686", "pc": [ 2453, 2454, 2455 ] }, { "teal": 2714, "source": "examples/reti/stakingPool.algo.ts:686", "pc": [ 2456, 2457 ] }, { "teal": 2718, "source": "examples/reti/stakingPool.algo.ts:687", "pc": [ 2458, 2459, 2460, 2461, 2462, 2463, 2464, 2465, 2466, 2467, 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2477, 2478, 2479, 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488, 2489, 2490, 2491, 2492, 2493, 2494, 2495, 2496, 2497, 2498, 2499, 2500, 2501, 2502, 2503, 2504, 2505, 2506, 2507, 2508, 2509, 2510, 2511, 2512 ] }, { "teal": 2719, "source": "examples/reti/stakingPool.algo.ts:687", "pc": [ 2513, 2514 ] }, { "teal": 2722, "source": "examples/reti/stakingPool.algo.ts:684", "pc": [ 2515 ] }, { "teal": 2723, "source": "examples/reti/stakingPool.algo.ts:684", "pc": [ 2516, 2517 ] }, { "teal": 2726, "source": "examples/reti/stakingPool.algo.ts:684", "pc": [ 2518 ] }, { "teal": 2732, "source": "examples/reti/stakingPool.algo.ts:690", "pc": [ 2519, 2520 ] }, { "teal": 2733, "source": "examples/reti/stakingPool.algo.ts:690", "pc": [ 2521, 2522 ] }, { "teal": 2734, "source": "examples/reti/stakingPool.algo.ts:690", "pc": [ 2523 ] }, { "teal": 2735, "source": "examples/reti/stakingPool.algo.ts:690", "pc": [ 2524 ] }, { "teal": 2736, "source": "examples/reti/stakingPool.algo.ts:690", "pc": [ 2525 ] }, { "teal": 2737, "source": "examples/reti/stakingPool.algo.ts:690", "pc": [ 2526, 2527, 2528 ] }, { "teal": 2746, "source": "examples/reti/stakingPool.algo.ts:691", "pc": [ 2529 ] }, { "teal": 2747, "source": "examples/reti/stakingPool.algo.ts:691", "pc": [ 2530 ] }, { "teal": 2748, "source": "examples/reti/stakingPool.algo.ts:691", "pc": [ 2531, 2532 ] }, { "teal": 2752, "source": "examples/reti/stakingPool.algo.ts:692", "pc": [ 2533, 2534 ] }, { "teal": 2753, "source": "examples/reti/stakingPool.algo.ts:692", "pc": [ 2535, 2536 ] }, { "teal": 2754, "source": "examples/reti/stakingPool.algo.ts:692", "pc": [ 2537 ] }, { "teal": 2755, "source": "examples/reti/stakingPool.algo.ts:692", "pc": [ 2538, 2539 ] }, { "teal": 2759, "source": "examples/reti/stakingPool.algo.ts:693", "pc": [ 2540, 2541 ] }, { "teal": 2760, "source": "examples/reti/stakingPool.algo.ts:693", "pc": [ 2542, 2543, 2544 ] }, { "teal": 2761, "source": "examples/reti/stakingPool.algo.ts:693", "pc": [ 2545, 2546 ] }, { "teal": 2765, "source": "examples/reti/stakingPool.algo.ts:694", "pc": [ 2547, 2548, 2549, 2550, 2551, 2552, 2553, 2554, 2555, 2556, 2557, 2558, 2559, 2560, 2561, 2562, 2563, 2564 ] }, { "teal": 2766, "source": "examples/reti/stakingPool.algo.ts:694", "pc": [ 2565, 2566 ] }, { "teal": 2769, "source": "examples/reti/stakingPool.algo.ts:691", "pc": [ 2567 ] }, { "teal": 2770, "source": "examples/reti/stakingPool.algo.ts:691", "pc": [ 2568, 2569 ] }, { "teal": 2773, "source": "examples/reti/stakingPool.algo.ts:691", "pc": [ 2570 ] }, { "teal": 2782, "source": "examples/reti/stakingPool.algo.ts:706", "pc": [ 2571 ] }, { "teal": 2783, "source": "examples/reti/stakingPool.algo.ts:706", "pc": [ 2572, 2573 ] }, { "teal": 2788, "source": "examples/reti/stakingPool.algo.ts:730", "pc": [ 2574, 2575 ] }, { "teal": 2789, "source": "examples/reti/stakingPool.algo.ts:730", "pc": [ 2576 ] }, { "teal": 2790, "source": "examples/reti/stakingPool.algo.ts:730", "pc": [ 2577 ] }, { "teal": 2791, "source": "examples/reti/stakingPool.algo.ts:730", "pc": [ 2578 ] }, { "teal": 2792, "source": "examples/reti/stakingPool.algo.ts:730", "pc": [ 2579, 2580, 2581 ] }, { "teal": 2793, "source": "examples/reti/stakingPool.algo.ts:730", "pc": [ 2582, 2583 ] }, { "teal": 2794, "source": "examples/reti/stakingPool.algo.ts:730", "pc": [ 2584 ] }, { "teal": 2795, "source": "examples/reti/stakingPool.algo.ts:730", "pc": [ 2585 ] }, { "teal": 2796, "source": "examples/reti/stakingPool.algo.ts:730", "pc": [ 2586 ] }, { "teal": 2799, "source": "examples/reti/stakingPool.algo.ts:730", "pc": [ 2587, 2588, 2589 ] }, { "teal": 2804, "source": "examples/reti/stakingPool.algo.ts:731", "pc": [ 2590 ] }, { "teal": 2805, "source": "examples/reti/stakingPool.algo.ts:731", "pc": [ 2591, 2592 ] }, { "teal": 2809, "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ 2593 ] }, { "teal": 2810, "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ 2594, 2595 ] }, { "teal": 2815, "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ 2596, 2597 ] }, { "teal": 2816, "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ 2598, 2599 ] }, { "teal": 2817, "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ 2600 ] }, { "teal": 2818, "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ 2601, 2602, 2603 ] }, { "teal": 2823, "source": "examples/reti/stakingPool.algo.ts:733", "pc": [ 2604, 2605 ] }, { "teal": 2824, "source": "examples/reti/stakingPool.algo.ts:733", "pc": [ 2606, 2607 ] }, { "teal": 2825, "source": "examples/reti/stakingPool.algo.ts:733", "pc": [ 2608 ] }, { "teal": 2826, "source": "examples/reti/stakingPool.algo.ts:733", "pc": [ 2609, 2610, 2611 ] }, { "teal": 2831, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ 2612 ] }, { "teal": 2832, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ 2613 ] }, { "teal": 2833, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ 2614, 2615 ] }, { "teal": 2834, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ 2616 ] }, { "teal": 2835, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ 2617, 2618 ] }, { "teal": 2836, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ 2619, 2620 ] }, { "teal": 2837, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ 2621 ] }, { "teal": 2838, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ 2622, 2623 ] }, { "teal": 2839, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ 2624, 2625 ] }, { "teal": 2840, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ 2626, 2627 ] }, { "teal": 2841, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ 2628, 2629 ] }, { "teal": 2842, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ 2630 ] }, { "teal": 2847, "source": "examples/reti/stakingPool.algo.ts:736", "pc": [ 2631, 2632 ] }, { "teal": 2848, "source": "examples/reti/stakingPool.algo.ts:736", "pc": [ 2633 ] }, { "teal": 2849, "source": "examples/reti/stakingPool.algo.ts:736", "pc": [ 2634 ] }, { "teal": 2850, "source": "examples/reti/stakingPool.algo.ts:736", "pc": [ 2635 ] }, { "teal": 2851, "source": "examples/reti/stakingPool.algo.ts:736", "pc": [ 2636 ] }, { "teal": 2852, "source": "examples/reti/stakingPool.algo.ts:736", "pc": [ 2637, 2638 ] }, { "teal": 2853, "source": "examples/reti/stakingPool.algo.ts:736", "pc": [ 2639 ] }, { "teal": 2854, "source": "examples/reti/stakingPool.algo.ts:736", "pc": [ 2640, 2641 ] }, { "teal": 2859, "source": "examples/reti/stakingPool.algo.ts:737", "pc": [ 2642, 2643 ] }, { "teal": 2860, "source": "examples/reti/stakingPool.algo.ts:737", "pc": [ 2644, 2645, 2646 ] }, { "teal": 2861, "source": "examples/reti/stakingPool.algo.ts:737", "pc": [ 2647, 2648 ] }, { "teal": 2862, "source": "examples/reti/stakingPool.algo.ts:737", "pc": [ 2649 ] }, { "teal": 2863, "source": "examples/reti/stakingPool.algo.ts:737", "pc": [ 2650, 2651, 2652 ] }, { "teal": 2869, "source": "examples/reti/stakingPool.algo.ts:738", "pc": [ 2653, 2654 ] }, { "teal": 2870, "source": "examples/reti/stakingPool.algo.ts:738", "pc": [ 2655, 2656, 2657 ] }, { "teal": 2871, "source": "examples/reti/stakingPool.algo.ts:738", "pc": [ 2658 ] }, { "teal": 2872, "source": "examples/reti/stakingPool.algo.ts:738", "pc": [ 2659, 2660 ] }, { "teal": 2873, "source": "examples/reti/stakingPool.algo.ts:738", "pc": [ 2661 ] }, { "teal": 2874, "source": "examples/reti/stakingPool.algo.ts:738", "pc": [ 2662, 2663, 2664 ] }, { "teal": 2879, "source": "examples/reti/stakingPool.algo.ts:741", "pc": [ 2665, 2666 ] }, { "teal": 2880, "source": "examples/reti/stakingPool.algo.ts:741", "pc": [ 2667, 2668 ] }, { "teal": 2881, "source": "examples/reti/stakingPool.algo.ts:741", "pc": [ 2669, 2670, 2671 ] }, { "teal": 2882, "source": "examples/reti/stakingPool.algo.ts:741", "pc": [ 2672 ] }, { "teal": 2883, "source": "examples/reti/stakingPool.algo.ts:741", "pc": [ 2673 ] }, { "teal": 2884, "source": "examples/reti/stakingPool.algo.ts:741", "pc": [ 2674, 2675 ] }, { "teal": 2885, "source": "examples/reti/stakingPool.algo.ts:738", "pc": [ 2676, 2677, 2678 ] }, { "teal": 2890, "source": "examples/reti/stakingPool.algo.ts:745", "pc": [ 2679, 2680 ] }, { "teal": 2891, "source": "examples/reti/stakingPool.algo.ts:745", "pc": [ 2681, 2682 ] }, { "teal": 2892, "source": "examples/reti/stakingPool.algo.ts:745", "pc": [ 2683, 2684, 2685 ] }, { "teal": 2893, "source": "examples/reti/stakingPool.algo.ts:745", "pc": [ 2686 ] }, { "teal": 2894, "source": "examples/reti/stakingPool.algo.ts:745", "pc": [ 2687 ] }, { "teal": 2895, "source": "examples/reti/stakingPool.algo.ts:745", "pc": [ 2688, 2689 ] }, { "teal": 2900, "source": "examples/reti/stakingPool.algo.ts:749", "pc": [ 2690, 2691 ] }, { "teal": 2901, "source": "examples/reti/stakingPool.algo.ts:749", "pc": [ 2692, 2693 ] }, { "teal": 2902, "source": "examples/reti/stakingPool.algo.ts:749", "pc": [ 2694 ] }, { "teal": 2903, "source": "examples/reti/stakingPool.algo.ts:749", "pc": [ 2695, 2696, 2697 ] }, { "teal": 2908, "source": "examples/reti/stakingPool.algo.ts:750", "pc": [ 2698, 2699 ] }, { "teal": 2909, "source": "examples/reti/stakingPool.algo.ts:750", "pc": [ 2700, 2701 ] }, { "teal": 2910, "source": "examples/reti/stakingPool.algo.ts:750", "pc": [ 2702, 2703, 2704 ] }, { "teal": 2911, "source": "examples/reti/stakingPool.algo.ts:750", "pc": [ 2705 ] }, { "teal": 2912, "source": "examples/reti/stakingPool.algo.ts:750", "pc": [ 2706 ] }, { "teal": 2913, "source": "examples/reti/stakingPool.algo.ts:750", "pc": [ 2707, 2708 ] }, { "teal": 2917, "source": "examples/reti/stakingPool.algo.ts:751", "pc": [ 2709, 2710 ] }, { "teal": 2918, "source": "examples/reti/stakingPool.algo.ts:751", "pc": [ 2711, 2712 ] }, { "teal": 2919, "source": "examples/reti/stakingPool.algo.ts:751", "pc": [ 2713 ] }, { "teal": 2920, "source": "examples/reti/stakingPool.algo.ts:751", "pc": [ 2714, 2715 ] }, { "teal": 2921, "source": "examples/reti/stakingPool.algo.ts:751", "pc": [ 2716 ] }, { "teal": 2922, "source": "examples/reti/stakingPool.algo.ts:751", "pc": [ 2717, 2718 ] }, { "teal": 2927, "source": "examples/reti/stakingPool.algo.ts:753", "pc": [ 2719, 2720 ] }, { "teal": 2928, "source": "examples/reti/stakingPool.algo.ts:753", "pc": [ 2721 ] }, { "teal": 2929, "source": "examples/reti/stakingPool.algo.ts:753", "pc": [ 2722 ] }, { "teal": 2930, "source": "examples/reti/stakingPool.algo.ts:753", "pc": [ 2723, 2724, 2725 ] }, { "teal": 2938, "source": "examples/reti/stakingPool.algo.ts:756", "pc": [ 2726, 2727 ] }, { "teal": 2939, "source": "examples/reti/stakingPool.algo.ts:756", "pc": [ 2728, 2729, 2730 ] }, { "teal": 2940, "source": "examples/reti/stakingPool.algo.ts:756", "pc": [ 2731 ] }, { "teal": 2941, "source": "examples/reti/stakingPool.algo.ts:756", "pc": [ 2732, 2733 ] }, { "teal": 2942, "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ 2734 ] }, { "teal": 2943, "source": "examples/reti/stakingPool.algo.ts:756", "pc": [ 2735, 2736 ] }, { "teal": 2944, "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ 2737, 2738 ] }, { "teal": 2945, "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ 2739, 2740 ] }, { "teal": 2946, "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ 2741 ] }, { "teal": 2947, "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ 2742, 2743 ] }, { "teal": 2948, "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ 2744 ] }, { "teal": 2949, "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ 2745, 2746 ] }, { "teal": 2950, "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ 2747 ] }, { "teal": 2951, "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ 2748 ] }, { "teal": 2952, "source": "examples/reti/stakingPool.algo.ts:757", "pc": [ 2749, 2750 ] }, { "teal": 2953, "source": "examples/reti/stakingPool.algo.ts:757", "pc": [ 2751 ] }, { "teal": 2954, "source": "examples/reti/stakingPool.algo.ts:757", "pc": [ 2752, 2753 ] }, { "teal": 2955, "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ 2754 ] }, { "teal": 2956, "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ 2755 ] }, { "teal": 2957, "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ 2756 ] }, { "teal": 2958, "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ 2757 ] }, { "teal": 2959, "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ 2758 ] }, { "teal": 2960, "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ 2759 ] }, { "teal": 2963, "source": "examples/reti/stakingPool.algo.ts:755", "errorMessage": "wideRatio failed", "pc": [ 2760 ] }, { "teal": 2964, "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ 2761, 2762 ] }, { "teal": 2968, "source": "examples/reti/stakingPool.algo.ts:762", "pc": [ 2763, 2764 ] }, { "teal": 2969, "source": "examples/reti/stakingPool.algo.ts:762", "pc": [ 2765, 2766 ] }, { "teal": 2970, "source": "examples/reti/stakingPool.algo.ts:762", "pc": [ 2767 ] }, { "teal": 2971, "source": "examples/reti/stakingPool.algo.ts:762", "pc": [ 2768, 2769 ] }, { "teal": 2975, "source": "examples/reti/stakingPool.algo.ts:763", "pc": [ 2770, 2771 ] }, { "teal": 2976, "source": "examples/reti/stakingPool.algo.ts:763", "pc": [ 2772, 2773 ] }, { "teal": 2977, "source": "examples/reti/stakingPool.algo.ts:763", "pc": [ 2774, 2775 ] }, { "teal": 2978, "source": "examples/reti/stakingPool.algo.ts:763", "pc": [ 2776, 2777, 2778 ] }, { "teal": 2979, "source": "examples/reti/stakingPool.algo.ts:763", "pc": [ 2779 ] }, { "teal": 2980, "source": "examples/reti/stakingPool.algo.ts:763", "pc": [ 2780, 2781 ] }, { "teal": 2981, "source": "examples/reti/stakingPool.algo.ts:763", "pc": [ 2782 ] }, { "teal": 2982, "source": "examples/reti/stakingPool.algo.ts:763", "pc": [ 2783 ] }, { "teal": 2983, "source": "examples/reti/stakingPool.algo.ts:763", "pc": [ 2784 ] }, { "teal": 2984, "source": "examples/reti/stakingPool.algo.ts:763", "pc": [ 2785, 2786 ] }, { "teal": 2988, "source": "examples/reti/stakingPool.algo.ts:764", "pc": [ 2787, 2788 ] }, { "teal": 2989, "source": "examples/reti/stakingPool.algo.ts:764", "pc": [ 2789, 2790 ] }, { "teal": 2990, "source": "examples/reti/stakingPool.algo.ts:764", "pc": [ 2791 ] }, { "teal": 2991, "source": "examples/reti/stakingPool.algo.ts:764", "pc": [ 2792, 2793 ] }, { "teal": 2997, "source": "examples/reti/stakingPool.algo.ts:766", "pc": [ 2794, 2795 ] }, { "teal": 2998, "source": "examples/reti/stakingPool.algo.ts:766", "pc": [ 2796 ] }, { "teal": 2999, "source": "examples/reti/stakingPool.algo.ts:766", "pc": [ 2797 ] }, { "teal": 3000, "source": "examples/reti/stakingPool.algo.ts:766", "pc": [ 2798, 2799, 2800 ] }, { "teal": 3008, "source": "examples/reti/stakingPool.algo.ts:769", "pc": [ 2801, 2802 ] }, { "teal": 3009, "source": "examples/reti/stakingPool.algo.ts:769", "pc": [ 2803, 2804, 2805 ] }, { "teal": 3010, "source": "examples/reti/stakingPool.algo.ts:769", "pc": [ 2806 ] }, { "teal": 3011, "source": "examples/reti/stakingPool.algo.ts:769", "pc": [ 2807, 2808 ] }, { "teal": 3012, "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ 2809 ] }, { "teal": 3013, "source": "examples/reti/stakingPool.algo.ts:769", "pc": [ 2810, 2811 ] }, { "teal": 3014, "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ 2812, 2813 ] }, { "teal": 3015, "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ 2814, 2815 ] }, { "teal": 3016, "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ 2816 ] }, { "teal": 3017, "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ 2817, 2818 ] }, { "teal": 3018, "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ 2819 ] }, { "teal": 3019, "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ 2820, 2821 ] }, { "teal": 3020, "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ 2822 ] }, { "teal": 3021, "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ 2823 ] }, { "teal": 3022, "source": "examples/reti/stakingPool.algo.ts:770", "pc": [ 2824, 2825 ] }, { "teal": 3023, "source": "examples/reti/stakingPool.algo.ts:770", "pc": [ 2826 ] }, { "teal": 3024, "source": "examples/reti/stakingPool.algo.ts:770", "pc": [ 2827, 2828 ] }, { "teal": 3025, "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ 2829 ] }, { "teal": 3026, "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ 2830 ] }, { "teal": 3027, "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ 2831 ] }, { "teal": 3028, "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ 2832 ] }, { "teal": 3029, "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ 2833 ] }, { "teal": 3030, "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ 2834 ] }, { "teal": 3033, "source": "examples/reti/stakingPool.algo.ts:768", "errorMessage": "wideRatio failed", "pc": [ 2835 ] }, { "teal": 3034, "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ 2836, 2837 ] }, { "teal": 3038, "source": "examples/reti/stakingPool.algo.ts:775", "pc": [ 2838, 2839 ] }, { "teal": 3039, "source": "examples/reti/stakingPool.algo.ts:775", "pc": [ 2840, 2841 ] }, { "teal": 3040, "source": "examples/reti/stakingPool.algo.ts:775", "pc": [ 2842 ] }, { "teal": 3041, "source": "examples/reti/stakingPool.algo.ts:775", "pc": [ 2843, 2844 ] }, { "teal": 3045, "source": "examples/reti/stakingPool.algo.ts:778", "pc": [ 2845, 2846 ] }, { "teal": 3046, "source": "examples/reti/stakingPool.algo.ts:778", "pc": [ 2847, 2848 ] }, { "teal": 3047, "source": "examples/reti/stakingPool.algo.ts:778", "pc": [ 2849, 2850 ] }, { "teal": 3048, "source": "examples/reti/stakingPool.algo.ts:778", "pc": [ 2851, 2852, 2853 ] }, { "teal": 3049, "source": "examples/reti/stakingPool.algo.ts:778", "pc": [ 2854 ] }, { "teal": 3050, "source": "examples/reti/stakingPool.algo.ts:778", "pc": [ 2855, 2856 ] }, { "teal": 3051, "source": "examples/reti/stakingPool.algo.ts:778", "pc": [ 2857 ] }, { "teal": 3052, "source": "examples/reti/stakingPool.algo.ts:778", "pc": [ 2858 ] }, { "teal": 3053, "source": "examples/reti/stakingPool.algo.ts:778", "pc": [ 2859 ] }, { "teal": 3054, "source": "examples/reti/stakingPool.algo.ts:778", "pc": [ 2860, 2861 ] }, { "teal": 3058, "source": "examples/reti/stakingPool.algo.ts:779", "pc": [ 2862, 2863 ] }, { "teal": 3059, "source": "examples/reti/stakingPool.algo.ts:779", "pc": [ 2864, 2865 ] }, { "teal": 3060, "source": "examples/reti/stakingPool.algo.ts:779", "pc": [ 2866, 2867 ] }, { "teal": 3061, "source": "examples/reti/stakingPool.algo.ts:779", "pc": [ 2868, 2869, 2870 ] }, { "teal": 3062, "source": "examples/reti/stakingPool.algo.ts:779", "pc": [ 2871 ] }, { "teal": 3063, "source": "examples/reti/stakingPool.algo.ts:779", "pc": [ 2872, 2873 ] }, { "teal": 3064, "source": "examples/reti/stakingPool.algo.ts:779", "pc": [ 2874 ] }, { "teal": 3065, "source": "examples/reti/stakingPool.algo.ts:779", "pc": [ 2875 ] }, { "teal": 3066, "source": "examples/reti/stakingPool.algo.ts:779", "pc": [ 2876 ] }, { "teal": 3067, "source": "examples/reti/stakingPool.algo.ts:779", "pc": [ 2877, 2878 ] }, { "teal": 3071, "source": "examples/reti/stakingPool.algo.ts:780", "pc": [ 2879, 2880 ] }, { "teal": 3072, "source": "examples/reti/stakingPool.algo.ts:780", "pc": [ 2881, 2882 ] }, { "teal": 3073, "source": "examples/reti/stakingPool.algo.ts:780", "pc": [ 2883 ] }, { "teal": 3074, "source": "examples/reti/stakingPool.algo.ts:780", "pc": [ 2884, 2885 ] }, { "teal": 3079, "source": "examples/reti/stakingPool.algo.ts:783", "pc": [ 2886, 2887 ] }, { "teal": 3080, "source": "examples/reti/stakingPool.algo.ts:783", "pc": [ 2888 ] }, { "teal": 3081, "source": "examples/reti/stakingPool.algo.ts:783", "pc": [ 2889 ] }, { "teal": 3082, "source": "examples/reti/stakingPool.algo.ts:783", "pc": [ 2890, 2891 ] }, { "teal": 3083, "source": "examples/reti/stakingPool.algo.ts:783", "pc": [ 2892 ] }, { "teal": 3084, "source": "examples/reti/stakingPool.algo.ts:783", "pc": [ 2893, 2894 ] }, { "teal": 3085, "source": "examples/reti/stakingPool.algo.ts:783", "pc": [ 2895 ] }, { "teal": 3096, "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ 2896, 2897 ] }, { "teal": 3097, "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ 2898 ] }, { "teal": 3098, "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ 2899 ] }, { "teal": 3099, "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ 2900, 2901 ] }, { "teal": 3100, "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ 2902, 2903, 2904 ] }, { "teal": 3105, "source": "examples/reti/stakingPool.algo.ts:791", "pc": [ 2905, 2906 ] }, { "teal": 3106, "source": "examples/reti/stakingPool.algo.ts:791", "pc": [ 2907 ] }, { "teal": 3107, "source": "examples/reti/stakingPool.algo.ts:791", "pc": [ 2908, 2909 ] }, { "teal": 3108, "source": "examples/reti/stakingPool.algo.ts:791", "pc": [ 2910 ] }, { "teal": 3109, "source": "examples/reti/stakingPool.algo.ts:791", "pc": [ 2911, 2912 ] }, { "teal": 3114, "source": "examples/reti/stakingPool.algo.ts:795", "pc": [ 2913, 2914 ] }, { "teal": 3115, "source": "examples/reti/stakingPool.algo.ts:795", "pc": [ 2915 ] }, { "teal": 3116, "source": "examples/reti/stakingPool.algo.ts:795", "pc": [ 2916 ] }, { "teal": 3117, "source": "examples/reti/stakingPool.algo.ts:795", "pc": [ 2917, 2918, 2919 ] }, { "teal": 3122, "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ 2920 ] }, { "teal": 3123, "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ 2921, 2922 ] }, { "teal": 3128, "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ 2923, 2924 ] }, { "teal": 3129, "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ 2925, 2926 ] }, { "teal": 3130, "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ 2927 ] }, { "teal": 3131, "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ 2928, 2929, 2930 ] }, { "teal": 3136, "source": "examples/reti/stakingPool.algo.ts:798", "pc": [ 2931, 2932 ] }, { "teal": 3137, "source": "examples/reti/stakingPool.algo.ts:798", "pc": [ 2933, 2934 ] }, { "teal": 3138, "source": "examples/reti/stakingPool.algo.ts:798", "pc": [ 2935 ] }, { "teal": 3139, "source": "examples/reti/stakingPool.algo.ts:798", "pc": [ 2936, 2937, 2938 ] }, { "teal": 3144, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ 2939 ] }, { "teal": 3145, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ 2940 ] }, { "teal": 3146, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ 2941, 2942 ] }, { "teal": 3147, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ 2943 ] }, { "teal": 3148, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ 2944, 2945 ] }, { "teal": 3149, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ 2946, 2947 ] }, { "teal": 3150, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ 2948 ] }, { "teal": 3151, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ 2949, 2950 ] }, { "teal": 3152, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ 2951, 2952 ] }, { "teal": 3153, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ 2953, 2954 ] }, { "teal": 3154, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ 2955, 2956 ] }, { "teal": 3155, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ 2957 ] }, { "teal": 3160, "source": "examples/reti/stakingPool.algo.ts:801", "pc": [ 2958, 2959 ] }, { "teal": 3161, "source": "examples/reti/stakingPool.algo.ts:801", "pc": [ 2960 ] }, { "teal": 3162, "source": "examples/reti/stakingPool.algo.ts:801", "pc": [ 2961 ] }, { "teal": 3163, "source": "examples/reti/stakingPool.algo.ts:801", "pc": [ 2962 ] }, { "teal": 3164, "source": "examples/reti/stakingPool.algo.ts:801", "pc": [ 2963 ] }, { "teal": 3165, "source": "examples/reti/stakingPool.algo.ts:801", "pc": [ 2964, 2965 ] }, { "teal": 3166, "source": "examples/reti/stakingPool.algo.ts:801", "pc": [ 2966 ] }, { "teal": 3167, "source": "examples/reti/stakingPool.algo.ts:801", "pc": [ 2967, 2968 ] }, { "teal": 3172, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ 2969, 2970 ] }, { "teal": 3173, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ 2971, 2972, 2973 ] }, { "teal": 3174, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ 2974, 2975 ] }, { "teal": 3175, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ 2976 ] }, { "teal": 3176, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ 2977 ] }, { "teal": 3177, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ 2978, 2979, 2980 ] }, { "teal": 3178, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ 2981, 2982 ] }, { "teal": 3179, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ 2983, 2984, 2985 ] }, { "teal": 3180, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ 2986 ] }, { "teal": 3181, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ 2987, 2988 ] }, { "teal": 3182, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ 2989 ] }, { "teal": 3183, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ 2990 ] }, { "teal": 3186, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ 2991, 2992, 2993 ] }, { "teal": 3191, "source": "examples/reti/stakingPool.algo.ts:803", "pc": [ 2994, 2995 ] }, { "teal": 3192, "source": "examples/reti/stakingPool.algo.ts:803", "pc": [ 2996, 2997 ] }, { "teal": 3193, "source": "examples/reti/stakingPool.algo.ts:803", "pc": [ 2998, 2999, 3000 ] }, { "teal": 3194, "source": "examples/reti/stakingPool.algo.ts:803", "pc": [ 3001 ] }, { "teal": 3195, "source": "examples/reti/stakingPool.algo.ts:803", "pc": [ 3002 ] }, { "teal": 3196, "source": "examples/reti/stakingPool.algo.ts:803", "pc": [ 3003, 3004 ] }, { "teal": 3201, "source": "examples/reti/stakingPool.algo.ts:805", "pc": [ 3005, 3006 ] }, { "teal": 3202, "source": "examples/reti/stakingPool.algo.ts:805", "pc": [ 3007, 3008 ] }, { "teal": 3203, "source": "examples/reti/stakingPool.algo.ts:805", "pc": [ 3009 ] }, { "teal": 3204, "source": "examples/reti/stakingPool.algo.ts:805", "pc": [ 3010, 3011, 3012 ] }, { "teal": 3210, "source": "examples/reti/stakingPool.algo.ts:810", "pc": [ 3013, 3014 ] }, { "teal": 3211, "source": "examples/reti/stakingPool.algo.ts:810", "pc": [ 3015 ] }, { "teal": 3212, "source": "examples/reti/stakingPool.algo.ts:810", "pc": [ 3016 ] }, { "teal": 3213, "source": "examples/reti/stakingPool.algo.ts:810", "pc": [ 3017, 3018, 3019 ] }, { "teal": 3218, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ 3020, 3021 ] }, { "teal": 3219, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ 3022, 3023, 3024 ] }, { "teal": 3220, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ 3025 ] }, { "teal": 3221, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ 3026, 3027 ] }, { "teal": 3222, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ 3028 ] }, { "teal": 3223, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ 3029 ] }, { "teal": 3224, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ 3030, 3031 ] }, { "teal": 3225, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ 3032 ] }, { "teal": 3226, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ 3033 ] }, { "teal": 3227, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ 3034 ] }, { "teal": 3228, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ 3035 ] }, { "teal": 3229, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ 3036 ] }, { "teal": 3232, "source": "examples/reti/stakingPool.algo.ts:811", "errorMessage": "wideRatio failed", "pc": [ 3037 ] }, { "teal": 3233, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ 3038, 3039 ] }, { "teal": 3237, "source": "examples/reti/stakingPool.algo.ts:814", "pc": [ 3040, 3041 ] }, { "teal": 3238, "source": "examples/reti/stakingPool.algo.ts:814", "pc": [ 3042, 3043 ] }, { "teal": 3239, "source": "examples/reti/stakingPool.algo.ts:814", "pc": [ 3044, 3045 ] }, { "teal": 3240, "source": "examples/reti/stakingPool.algo.ts:814", "pc": [ 3046, 3047, 3048 ] }, { "teal": 3241, "source": "examples/reti/stakingPool.algo.ts:814", "pc": [ 3049 ] }, { "teal": 3242, "source": "examples/reti/stakingPool.algo.ts:814", "pc": [ 3050, 3051 ] }, { "teal": 3243, "source": "examples/reti/stakingPool.algo.ts:814", "pc": [ 3052 ] }, { "teal": 3244, "source": "examples/reti/stakingPool.algo.ts:814", "pc": [ 3053 ] }, { "teal": 3245, "source": "examples/reti/stakingPool.algo.ts:814", "pc": [ 3054 ] }, { "teal": 3246, "source": "examples/reti/stakingPool.algo.ts:814", "pc": [ 3055, 3056 ] }, { "teal": 3250, "source": "examples/reti/stakingPool.algo.ts:815", "pc": [ 3057, 3058 ] }, { "teal": 3251, "source": "examples/reti/stakingPool.algo.ts:815", "pc": [ 3059, 3060 ] }, { "teal": 3252, "source": "examples/reti/stakingPool.algo.ts:815", "pc": [ 3061 ] }, { "teal": 3253, "source": "examples/reti/stakingPool.algo.ts:815", "pc": [ 3062, 3063 ] }, { "teal": 3259, "source": "examples/reti/stakingPool.algo.ts:817", "pc": [ 3064, 3065 ] }, { "teal": 3260, "source": "examples/reti/stakingPool.algo.ts:817", "pc": [ 3066 ] }, { "teal": 3261, "source": "examples/reti/stakingPool.algo.ts:817", "pc": [ 3067 ] }, { "teal": 3262, "source": "examples/reti/stakingPool.algo.ts:817", "pc": [ 3068, 3069, 3070 ] }, { "teal": 3267, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ 3071, 3072 ] }, { "teal": 3268, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ 3073, 3074, 3075 ] }, { "teal": 3269, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ 3076 ] }, { "teal": 3270, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ 3077, 3078 ] }, { "teal": 3271, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ 3079 ] }, { "teal": 3272, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ 3080 ] }, { "teal": 3273, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ 3081, 3082 ] }, { "teal": 3274, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ 3083 ] }, { "teal": 3275, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ 3084 ] }, { "teal": 3276, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ 3085 ] }, { "teal": 3277, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ 3086 ] }, { "teal": 3278, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ 3087 ] }, { "teal": 3281, "source": "examples/reti/stakingPool.algo.ts:818", "errorMessage": "wideRatio failed", "pc": [ 3088 ] }, { "teal": 3282, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ 3089, 3090 ] }, { "teal": 3286, "source": "examples/reti/stakingPool.algo.ts:821", "pc": [ 3091, 3092 ] }, { "teal": 3287, "source": "examples/reti/stakingPool.algo.ts:821", "pc": [ 3093, 3094 ] }, { "teal": 3288, "source": "examples/reti/stakingPool.algo.ts:821", "pc": [ 3095, 3096 ] }, { "teal": 3289, "source": "examples/reti/stakingPool.algo.ts:821", "pc": [ 3097, 3098, 3099 ] }, { "teal": 3290, "source": "examples/reti/stakingPool.algo.ts:821", "pc": [ 3100 ] }, { "teal": 3291, "source": "examples/reti/stakingPool.algo.ts:821", "pc": [ 3101, 3102 ] }, { "teal": 3292, "source": "examples/reti/stakingPool.algo.ts:821", "pc": [ 3103 ] }, { "teal": 3293, "source": "examples/reti/stakingPool.algo.ts:821", "pc": [ 3104 ] }, { "teal": 3294, "source": "examples/reti/stakingPool.algo.ts:821", "pc": [ 3105 ] }, { "teal": 3295, "source": "examples/reti/stakingPool.algo.ts:821", "pc": [ 3106, 3107 ] }, { "teal": 3299, "source": "examples/reti/stakingPool.algo.ts:822", "pc": [ 3108, 3109 ] }, { "teal": 3300, "source": "examples/reti/stakingPool.algo.ts:822", "pc": [ 3110, 3111 ] }, { "teal": 3301, "source": "examples/reti/stakingPool.algo.ts:822", "pc": [ 3112, 3113 ] }, { "teal": 3302, "source": "examples/reti/stakingPool.algo.ts:822", "pc": [ 3114, 3115, 3116 ] }, { "teal": 3303, "source": "examples/reti/stakingPool.algo.ts:822", "pc": [ 3117 ] }, { "teal": 3304, "source": "examples/reti/stakingPool.algo.ts:822", "pc": [ 3118, 3119 ] }, { "teal": 3305, "source": "examples/reti/stakingPool.algo.ts:822", "pc": [ 3120 ] }, { "teal": 3306, "source": "examples/reti/stakingPool.algo.ts:822", "pc": [ 3121 ] }, { "teal": 3307, "source": "examples/reti/stakingPool.algo.ts:822", "pc": [ 3122 ] }, { "teal": 3308, "source": "examples/reti/stakingPool.algo.ts:822", "pc": [ 3123, 3124 ] }, { "teal": 3312, "source": "examples/reti/stakingPool.algo.ts:823", "pc": [ 3125, 3126 ] }, { "teal": 3313, "source": "examples/reti/stakingPool.algo.ts:823", "pc": [ 3127, 3128 ] }, { "teal": 3314, "source": "examples/reti/stakingPool.algo.ts:823", "pc": [ 3129 ] }, { "teal": 3315, "source": "examples/reti/stakingPool.algo.ts:823", "pc": [ 3130, 3131 ] }, { "teal": 3320, "source": "examples/reti/stakingPool.algo.ts:827", "pc": [ 3132, 3133 ] }, { "teal": 3321, "source": "examples/reti/stakingPool.algo.ts:827", "pc": [ 3134 ] }, { "teal": 3322, "source": "examples/reti/stakingPool.algo.ts:827", "pc": [ 3135 ] }, { "teal": 3323, "source": "examples/reti/stakingPool.algo.ts:827", "pc": [ 3136, 3137 ] }, { "teal": 3324, "source": "examples/reti/stakingPool.algo.ts:827", "pc": [ 3138 ] }, { "teal": 3325, "source": "examples/reti/stakingPool.algo.ts:827", "pc": [ 3139, 3140 ] }, { "teal": 3326, "source": "examples/reti/stakingPool.algo.ts:827", "pc": [ 3141 ] }, { "teal": 3335, "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ 3142, 3143 ] }, { "teal": 3336, "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ 3144 ] }, { "teal": 3337, "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ 3145 ] }, { "teal": 3338, "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ 3146, 3147 ] }, { "teal": 3339, "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ 3148, 3149, 3150 ] }, { "teal": 3348, "source": "examples/reti/stakingPool.algo.ts:837", "pc": [ 3151, 3152 ] }, { "teal": 3349, "source": "examples/reti/stakingPool.algo.ts:837", "pc": [ 3153 ] }, { "teal": 3350, "source": "examples/reti/stakingPool.algo.ts:837", "pc": [ 3154, 3155 ] }, { "teal": 3351, "source": "examples/reti/stakingPool.algo.ts:837", "pc": [ 3156 ] }, { "teal": 3352, "source": "examples/reti/stakingPool.algo.ts:837", "pc": [ 3157 ] }, { "teal": 3353, "source": "examples/reti/stakingPool.algo.ts:837", "pc": [ 3158, 3159 ] }, { "teal": 3354, "source": "examples/reti/stakingPool.algo.ts:837", "pc": [ 3160 ] }, { "teal": 3355, "source": "examples/reti/stakingPool.algo.ts:837", "pc": [ 3161, 3162 ] }, { "teal": 3359, "source": "examples/reti/stakingPool.algo.ts:838", "pc": [ 3163, 3164 ] }, { "teal": 3360, "source": "examples/reti/stakingPool.algo.ts:838", "pc": [ 3165 ] }, { "teal": 3361, "source": "examples/reti/stakingPool.algo.ts:838", "pc": [ 3166, 3167 ] }, { "teal": 3362, "source": "examples/reti/stakingPool.algo.ts:838", "pc": [ 3168 ] }, { "teal": 3363, "source": "examples/reti/stakingPool.algo.ts:838", "pc": [ 3169, 3170 ] }, { "teal": 3364, "source": "examples/reti/stakingPool.algo.ts:838", "pc": [ 3171 ] }, { "teal": 3365, "source": "examples/reti/stakingPool.algo.ts:838", "pc": [ 3172 ] }, { "teal": 3370, "source": "examples/reti/stakingPool.algo.ts:839", "pc": [ 3173, 3174 ] }, { "teal": 3371, "source": "examples/reti/stakingPool.algo.ts:839", "pc": [ 3175 ] }, { "teal": 3372, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3176 ] }, { "teal": 3373, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3177, 3178 ] }, { "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": [ 3182 ] }, { "teal": 3377, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3183 ] }, { "teal": 3378, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3184 ] }, { "teal": 3379, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3185 ] }, { "teal": 3380, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3186 ] }, { "teal": 3381, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3187, 3188 ] }, { "teal": 3382, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3189 ] }, { "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": 3386, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3191, 3192 ] }, { "teal": 3387, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3193 ] }, { "teal": 3388, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3194 ] }, { "teal": 3389, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3195 ] }, { "teal": 3390, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3196 ] }, { "teal": 3391, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3197, 3198 ] }, { "teal": 3392, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3199 ] }, { "teal": 3393, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3200 ] }, { "teal": 3394, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3201 ] }, { "teal": 3395, "source": "examples/reti/stakingPool.algo.ts:839", "pc": [ 3202 ] }, { "teal": 3399, "source": "examples/reti/stakingPool.algo.ts:841", "pc": [ 3203, 3204 ] }, { "teal": 3400, "source": "examples/reti/stakingPool.algo.ts:841", "pc": [ 3205 ] }, { "teal": 3401, "source": "examples/reti/stakingPool.algo.ts:841", "pc": [ 3206 ] }, { "teal": 3402, "source": "examples/reti/stakingPool.algo.ts:841", "pc": [ 3207, 3208 ] }, { "teal": 3403, "source": "examples/reti/stakingPool.algo.ts:841", "pc": [ 3209 ] }, { "teal": 3404, "source": "examples/reti/stakingPool.algo.ts:841", "pc": [ 3210 ] }, { "teal": 3417, "source": "examples/reti/stakingPool.algo.ts:847", "pc": [ 3211 ] }, { "teal": 3418, "source": "examples/reti/stakingPool.algo.ts:847", "pc": [ 3212 ] }, { "teal": 3419, "source": "examples/reti/stakingPool.algo.ts:847", "pc": [ 3213, 3214 ] }, { "teal": 3420, "source": "examples/reti/stakingPool.algo.ts:847", "pc": [ 3215, 3216, 3217, 3218, 3219, 3220 ] }, { "teal": 3421, "source": "examples/reti/stakingPool.algo.ts:847", "pc": [ 3221, 3222 ] }, { "teal": 3425, "source": "examples/reti/stakingPool.algo.ts:848", "pc": [ 3223 ] }, { "teal": 3426, "source": "examples/reti/stakingPool.algo.ts:848", "pc": [ 3224 ] }, { "teal": 3427, "source": "examples/reti/stakingPool.algo.ts:848", "pc": [ 3225, 3226 ] }, { "teal": 3437, "source": "examples/reti/stakingPool.algo.ts:850", "pc": [ 3227 ] }, { "teal": 3438, "source": "examples/reti/stakingPool.algo.ts:850", "pc": [ 3228 ] }, { "teal": 3439, "source": "examples/reti/stakingPool.algo.ts:850", "pc": [ 3229 ] }, { "teal": 3440, "source": "examples/reti/stakingPool.algo.ts:850", "pc": [ 3230, 3231 ] }, { "teal": 3441, "source": "examples/reti/stakingPool.algo.ts:850", "pc": [ 3232 ] }, { "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": [ 3235, 3236, 3237 ] }, { "teal": 3445, "source": "examples/reti/stakingPool.algo.ts:850", "pc": [ 3238 ] }, { "teal": 3446, "source": "examples/reti/stakingPool.algo.ts:850", "pc": [ 3239 ] }, { "teal": 3447, "source": "examples/reti/stakingPool.algo.ts:850", "pc": [ 3240, 3241 ] }, { "teal": 3448, "source": "examples/reti/stakingPool.algo.ts:851", "pc": [ 3242, 3243 ] }, { "teal": 3449, "source": "examples/reti/stakingPool.algo.ts:851", "pc": [ 3244 ] }, { "teal": 3450, "source": "examples/reti/stakingPool.algo.ts:851", "pc": [ 3245, 3246 ] }, { "teal": 3451, "source": "examples/reti/stakingPool.algo.ts:852", "pc": [ 3247, 3248 ] }, { "teal": 3452, "source": "examples/reti/stakingPool.algo.ts:852", "pc": [ 3249 ] }, { "teal": 3453, "source": "examples/reti/stakingPool.algo.ts:852", "pc": [ 3250, 3251 ] }, { "teal": 3454, "source": "examples/reti/stakingPool.algo.ts:853", "pc": [ 3252, 3253 ] }, { "teal": 3455, "source": "examples/reti/stakingPool.algo.ts:853", "pc": [ 3254 ] }, { "teal": 3456, "source": "examples/reti/stakingPool.algo.ts:853", "pc": [ 3255, 3256 ] }, { "teal": 3457, "source": "examples/reti/stakingPool.algo.ts:854", "pc": [ 3257, 3258 ] }, { "teal": 3458, "source": "examples/reti/stakingPool.algo.ts:854", "pc": [ 3259 ] }, { "teal": 3459, "source": "examples/reti/stakingPool.algo.ts:854", "pc": [ 3260, 3261 ] }, { "teal": 3462, "source": "examples/reti/stakingPool.algo.ts:847", "pc": [ 3262 ] }, { "teal": 3463, "source": "examples/reti/stakingPool.algo.ts:847", "pc": [ 3263, 3264 ] }, { "teal": 3466, "source": "examples/reti/stakingPool.algo.ts:847", "pc": [ 3265 ] }, { "teal": 3467, "source": "examples/reti/stakingPool.algo.ts:518", "pc": [ 3266 ] }, { "teal": 3472, "source": "examples/reti/stakingPool.algo.ts:879", "pc": [ 3267, 3268, 3269 ] }, { "teal": 3473, "source": "examples/reti/stakingPool.algo.ts:879", "pc": [ 3270 ] }, { "teal": 3476, "source": "examples/reti/stakingPool.algo.ts:878", "pc": [ 3271, 3272, 3273 ] }, { "teal": 3477, "source": "examples/reti/stakingPool.algo.ts:878", "pc": [ 3274 ] }, { "teal": 3480, "source": "examples/reti/stakingPool.algo.ts:877", "pc": [ 3275, 3276, 3277 ] }, { "teal": 3481, "source": "examples/reti/stakingPool.algo.ts:877", "pc": [ 3278 ] }, { "teal": 3484, "source": "examples/reti/stakingPool.algo.ts:876", "pc": [ 3279, 3280, 3281 ] }, { "teal": 3485, "source": "examples/reti/stakingPool.algo.ts:876", "pc": [ 3282, 3283, 3284 ] }, { "teal": 3488, "source": "examples/reti/stakingPool.algo.ts:875", "pc": [ 3285, 3286, 3287 ] }, { "teal": 3489, "source": "examples/reti/stakingPool.algo.ts:875", "pc": [ 3288, 3289, 3290 ] }, { "teal": 3492, "source": "examples/reti/stakingPool.algo.ts:874", "pc": [ 3291, 3292, 3293 ] }, { "teal": 3493, "source": "examples/reti/stakingPool.algo.ts:874", "pc": [ 3294, 3295, 3296 ] }, { "teal": 3496, "source": "examples/reti/stakingPool.algo.ts:873", "pc": [ 3297, 3298 ] }, { "teal": 3497, "source": "examples/reti/stakingPool.algo.ts:873", "pc": [ 3299 ] }, { "teal": 3498, "source": "examples/reti/stakingPool.algo.ts:873", "pc": [ 3300 ] }, { "teal": 3499, "source": "examples/reti/stakingPool.algo.ts:873", "pc": [ 3301 ] }, { "teal": 3500, "source": "examples/reti/stakingPool.algo.ts:873", "pc": [ 3302, 3303 ] }, { "teal": 3501, "source": "examples/reti/stakingPool.algo.ts:873", "pc": [ 3304 ] }, { "teal": 3502, "source": "examples/reti/stakingPool.algo.ts:873", "pc": [ 3305 ] }, { "teal": 3505, "source": "examples/reti/stakingPool.algo.ts:873", "errorMessage": "argument 6 (feePayment) for goOnline must be a pay transaction", "pc": [ 3306 ] }, { "teal": 3508, "source": "examples/reti/stakingPool.algo.ts:872", "pc": [ 3307, 3308, 3309 ] }, { "teal": 3509, "source": "examples/reti/stakingPool.algo.ts:872", "pc": [ 3310 ] }, { "teal": 3510, "source": "examples/reti/stakingPool.algo.ts:872", "pc": [ 3311 ] }, { "teal": 3526, "source": "examples/reti/stakingPool.algo.ts:872", "pc": [ 3312, 3313, 3314 ] }, { "teal": 3529, "source": "examples/reti/stakingPool.algo.ts:872", "pc": [ 3315 ] }, { "teal": 3533, "source": "examples/reti/stakingPool.algo.ts:881", "pc": [ 3316, 3317, 3318 ] }, { "teal": 3536, "source": "examples/reti/stakingPool.algo.ts:881", "errorMessage": "can only be called by owner or manager of validator", "pc": [ 3319 ] }, { "teal": 3540, "source": "examples/reti/stakingPool.algo.ts:882", "pc": [ 3320, 3321, 3322 ] }, { "teal": 3541, "source": "examples/reti/stakingPool.algo.ts:882", "pc": [ 3323, 3324 ] }, { "teal": 3546, "source": "examples/reti/stakingPool.algo.ts:883", "pc": [ 3325, 3326 ] }, { "teal": 3547, "source": "examples/reti/stakingPool.algo.ts:883", "pc": [ 3327, 3328 ] }, { "teal": 3548, "source": "examples/reti/stakingPool.algo.ts:883", "pc": [ 3329, 3330 ] }, { "teal": 3549, "source": "examples/reti/stakingPool.algo.ts:883", "pc": [ 3331 ] }, { "teal": 3552, "source": "examples/reti/stakingPool.algo.ts:883", "errorMessage": "transaction verification failed: {\"txn\":\"feePayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", "pc": [ 3332 ] }, { "teal": 3555, "source": "examples/reti/stakingPool.algo.ts:883", "pc": [ 3333, 3334 ] }, { "teal": 3556, "source": "examples/reti/stakingPool.algo.ts:883", "pc": [ 3335, 3336 ] }, { "teal": 3557, "source": "examples/reti/stakingPool.algo.ts:883", "pc": [ 3337, 3338 ] }, { "teal": 3558, "source": "examples/reti/stakingPool.algo.ts:883", "pc": [ 3339 ] }, { "teal": 3561, "source": "examples/reti/stakingPool.algo.ts:883", "errorMessage": "transaction verification failed: {\"txn\":\"feePayment\",\"field\":\"amount\",\"expected\":\"extraFee\"}", "pc": [ 3340 ] }, { "teal": 3573, "source": "examples/reti/stakingPool.algo.ts:884", "pc": [ 3341 ] }, { "teal": 3574, "source": "examples/reti/stakingPool.algo.ts:884", "pc": [ 3342, 3343 ] }, { "teal": 3575, "source": "examples/reti/stakingPool.algo.ts:884", "pc": [ 3344, 3345 ] }, { "teal": 3579, "source": "examples/reti/stakingPool.algo.ts:885", "pc": [ 3346, 3347 ] }, { "teal": 3580, "source": "examples/reti/stakingPool.algo.ts:885", "pc": [ 3348, 3349 ] }, { "teal": 3584, "source": "examples/reti/stakingPool.algo.ts:886", "pc": [ 3350, 3351 ] }, { "teal": 3585, "source": "examples/reti/stakingPool.algo.ts:886", "pc": [ 3352, 3353 ] }, { "teal": 3589, "source": "examples/reti/stakingPool.algo.ts:887", "pc": [ 3354, 3355 ] }, { "teal": 3590, "source": "examples/reti/stakingPool.algo.ts:887", "pc": [ 3356, 3357 ] }, { "teal": 3594, "source": "examples/reti/stakingPool.algo.ts:888", "pc": [ 3358, 3359 ] }, { "teal": 3595, "source": "examples/reti/stakingPool.algo.ts:888", "pc": [ 3360, 3361 ] }, { "teal": 3599, "source": "examples/reti/stakingPool.algo.ts:889", "pc": [ 3362, 3363 ] }, { "teal": 3600, "source": "examples/reti/stakingPool.algo.ts:889", "pc": [ 3364, 3365 ] }, { "teal": 3604, "source": "examples/reti/stakingPool.algo.ts:890", "pc": [ 3366, 3367 ] }, { "teal": 3605, "source": "examples/reti/stakingPool.algo.ts:890", "pc": [ 3368, 3369 ] }, { "teal": 3609, "source": "examples/reti/stakingPool.algo.ts:891", "pc": [ 3370, 3371, 3372 ] }, { "teal": 3610, "source": "examples/reti/stakingPool.algo.ts:891", "pc": [ 3373, 3374 ] }, { "teal": 3613, "source": "examples/reti/stakingPool.algo.ts:884", "pc": [ 3375 ] }, { "teal": 3614, "source": "examples/reti/stakingPool.algo.ts:872", "pc": [ 3376 ] }, { "teal": 3619, "source": "examples/reti/stakingPool.algo.ts:900", "pc": [ 3377, 3378, 3379 ] }, { "teal": 3620, "source": "examples/reti/stakingPool.algo.ts:900", "pc": [ 3380 ] }, { "teal": 3621, "source": "examples/reti/stakingPool.algo.ts:900", "pc": [ 3381 ] }, { "teal": 3628, "source": "examples/reti/stakingPool.algo.ts:900", "pc": [ 3382, 3383, 3384 ] }, { "teal": 3633, "source": "examples/reti/stakingPool.algo.ts:903", "pc": [ 3385, 3386 ] }, { "teal": 3634, "source": "examples/reti/stakingPool.algo.ts:903", "pc": [ 3387 ] }, { "teal": 3635, "source": "examples/reti/stakingPool.algo.ts:903", "pc": [ 3388 ] }, { "teal": 3636, "source": "examples/reti/stakingPool.algo.ts:903", "pc": [ 3389, 3390 ] }, { "teal": 3637, "source": "examples/reti/stakingPool.algo.ts:903", "pc": [ 3391 ] }, { "teal": 3638, "source": "examples/reti/stakingPool.algo.ts:903", "pc": [ 3392 ] }, { "teal": 3639, "source": "examples/reti/stakingPool.algo.ts:903", "pc": [ 3393, 3394, 3395 ] }, { "teal": 3644, "source": "examples/reti/stakingPool.algo.ts:904", "pc": [ 3396, 3397, 3398 ] }, { "teal": 3647, "source": "examples/reti/stakingPool.algo.ts:904", "errorMessage": "can only be called by owner or manager of validator", "pc": [ 3399 ] }, { "teal": 3652, "source": "examples/reti/stakingPool.algo.ts:907", "pc": [ 3400 ] }, { "teal": 3653, "source": "examples/reti/stakingPool.algo.ts:907", "pc": [ 3401, 3402 ] }, { "teal": 3654, "source": "examples/reti/stakingPool.algo.ts:907", "pc": [ 3403, 3404 ] }, { "teal": 3657, "source": "examples/reti/stakingPool.algo.ts:907", "pc": [ 3405 ] }, { "teal": 3658, "source": "examples/reti/stakingPool.algo.ts:907", "pc": [ 3406, 3407 ] }, { "teal": 3661, "source": "examples/reti/stakingPool.algo.ts:907", "pc": [ 3408 ] }, { "teal": 3662, "source": "examples/reti/stakingPool.algo.ts:900", "pc": [ 3409 ] }, { "teal": 3667, "source": "examples/reti/stakingPool.algo.ts:913", "pc": [ 3410, 3411, 3412 ] }, { "teal": 3668, "source": "examples/reti/stakingPool.algo.ts:913", "pc": [ 3413, 3414, 3415 ] }, { "teal": 3671, "source": "examples/reti/stakingPool.algo.ts:913", "pc": [ 3416, 3417, 3418 ] }, { "teal": 3672, "source": "examples/reti/stakingPool.algo.ts:913", "pc": [ 3419 ] }, { "teal": 3675, "source": "examples/reti/stakingPool.algo.ts:913", "pc": [ 3420, 3421, 3422 ] }, { "teal": 3676, "source": "examples/reti/stakingPool.algo.ts:913", "pc": [ 3423 ] }, { "teal": 3677, "source": "examples/reti/stakingPool.algo.ts:913", "pc": [ 3424 ] }, { "teal": 3681, "source": "examples/reti/stakingPool.algo.ts:913", "pc": [ 3425, 3426, 3427 ] }, { "teal": 3685, "source": "examples/reti/stakingPool.algo.ts:914", "pc": [ 3428, 3429, 3430 ] }, { "teal": 3688, "source": "examples/reti/stakingPool.algo.ts:914", "errorMessage": "can only be called by owner or manager of validator", "pc": [ 3431 ] }, { "teal": 3696, "source": "examples/reti/stakingPool.algo.ts:916", "pc": [ 3432 ] }, { "teal": 3697, "source": "examples/reti/stakingPool.algo.ts:916", "pc": [ 3433 ] }, { "teal": 3698, "source": "examples/reti/stakingPool.algo.ts:916", "pc": [ 3434, 3435 ] }, { "teal": 3702, "source": "examples/reti/stakingPool.algo.ts:917", "pc": [ 3436, 3437 ] }, { "teal": 3703, "source": "examples/reti/stakingPool.algo.ts:917", "pc": [ 3438, 3439 ] }, { "teal": 3707, "source": "examples/reti/stakingPool.algo.ts:918", "pc": [ 3440, 3441, 3442, 3443, 3444, 3445, 3446, 3447, 3448, 3449, 3450, 3451, 3452, 3453, 3454, 3455, 3456 ] }, { "teal": 3708, "source": "examples/reti/stakingPool.algo.ts:918", "pc": [ 3457, 3458 ] }, { "teal": 3709, "source": "examples/reti/stakingPool.algo.ts:918", "pc": [ 3459, 3460 ] }, { "teal": 3710, "source": "examples/reti/stakingPool.algo.ts:918", "pc": [ 3461, 3462 ] }, { "teal": 3711, "source": "examples/reti/stakingPool.algo.ts:918", "pc": [ 3463, 3464 ] }, { "teal": 3712, "source": "examples/reti/stakingPool.algo.ts:918", "pc": [ 3465 ] }, { "teal": 3713, "source": "examples/reti/stakingPool.algo.ts:918", "pc": [ 3466, 3467 ] }, { "teal": 3714, "source": "examples/reti/stakingPool.algo.ts:918", "pc": [ 3468, 3469 ] }, { "teal": 3715, "source": "examples/reti/stakingPool.algo.ts:918", "pc": [ 3470, 3471 ] }, { "teal": 3719, "source": "examples/reti/stakingPool.algo.ts:919", "pc": [ 3472, 3473 ] }, { "teal": 3720, "source": "examples/reti/stakingPool.algo.ts:919", "pc": [ 3474, 3475 ] }, { "teal": 3723, "source": "examples/reti/stakingPool.algo.ts:916", "pc": [ 3476 ] }, { "teal": 3724, "source": "examples/reti/stakingPool.algo.ts:916", "pc": [ 3477, 3478 ] }, { "teal": 3727, "source": "examples/reti/stakingPool.algo.ts:916", "pc": [ 3479 ] }, { "teal": 3728, "source": "examples/reti/stakingPool.algo.ts:913", "pc": [ 3480 ] }, { "teal": 3733, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ 3481, 3482 ] }, { "teal": 3736, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ 3483, 3484, 3485 ] }, { "teal": 3737, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ 3486 ] }, { "teal": 3738, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ 3487 ] }, { "teal": 3739, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ 3488, 3489 ] }, { "teal": 3740, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ 3490 ] }, { "teal": 3743, "source": "examples/reti/stakingPool.algo.ts:929", "errorMessage": "argument 0 (poolKey) for proxiedSetTokenPayoutRatio must be a (uint64,uint64,uint64)", "pc": [ 3491 ] }, { "teal": 3746, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ 3492, 3493, 3494 ] }, { "teal": 3747, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ 3495 ] }, { "teal": 3748, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ 3496 ] }, { "teal": 3749, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ 3497 ] }, { "teal": 3750, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ 3498 ] }, { "teal": 3759, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ 3499, 3500, 3501 ] }, { "teal": 3762, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ 3502 ] }, { "teal": 3766, "source": "examples/reti/stakingPool.algo.ts:930", "pc": [ 3503 ] }, { "teal": 3767, "source": "examples/reti/stakingPool.algo.ts:930", "pc": [ 3504 ] }, { "teal": 3768, "source": "examples/reti/stakingPool.algo.ts:930", "pc": [ 3505, 3506 ] }, { "teal": 3769, "source": "examples/reti/stakingPool.algo.ts:930", "pc": [ 3507, 3508, 3509 ] }, { "teal": 3770, "source": "examples/reti/stakingPool.algo.ts:930", "pc": [ 3510 ] }, { "teal": 3771, "source": "examples/reti/stakingPool.algo.ts:930", "pc": [ 3511 ] }, { "teal": 3774, "source": "examples/reti/stakingPool.algo.ts:930", "errorMessage": "caller must be part of same validator set!", "pc": [ 3512 ] }, { "teal": 3778, "source": "examples/reti/stakingPool.algo.ts:931", "pc": [ 3513, 3514 ] }, { "teal": 3779, "source": "examples/reti/stakingPool.algo.ts:931", "pc": [ 3515 ] }, { "teal": 3780, "source": "examples/reti/stakingPool.algo.ts:931", "pc": [ 3516 ] }, { "teal": 3781, "source": "examples/reti/stakingPool.algo.ts:931", "pc": [ 3517 ] }, { "teal": 3784, "source": "examples/reti/stakingPool.algo.ts:931", "errorMessage": "callee must be pool 1", "pc": [ 3518 ] }, { "teal": 3788, "source": "examples/reti/stakingPool.algo.ts:932", "pc": [ 3519, 3520 ] }, { "teal": 3789, "source": "examples/reti/stakingPool.algo.ts:932", "pc": [ 3521, 3522, 3523 ] }, { "teal": 3790, "source": "examples/reti/stakingPool.algo.ts:932", "pc": [ 3524 ] }, { "teal": 3791, "source": "examples/reti/stakingPool.algo.ts:932", "pc": [ 3525 ] }, { "teal": 3792, "source": "examples/reti/stakingPool.algo.ts:932", "pc": [ 3526 ] }, { "teal": 3795, "source": "examples/reti/stakingPool.algo.ts:932", "errorMessage": "caller must NOT be pool 1", "pc": [ 3527 ] }, { "teal": 3802, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ 3528 ] }, { "teal": 3803, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ 3529 ] }, { "teal": 3804, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ 3530, 3531 ] }, { "teal": 3805, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ 3532, 3533 ] }, { "teal": 3806, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ 3534, 3535 ] }, { "teal": 3810, "source": "examples/reti/stakingPool.algo.ts:935", "pc": [ 3536 ] }, { "teal": 3811, "source": "examples/reti/stakingPool.algo.ts:935", "pc": [ 3537 ] }, { "teal": 3812, "source": "examples/reti/stakingPool.algo.ts:935", "pc": [ 3538, 3539 ] }, { "teal": 3816, "source": "examples/reti/stakingPool.algo.ts:936", "pc": [ 3540, 3541 ] }, { "teal": 3817, "source": "examples/reti/stakingPool.algo.ts:936", "pc": [ 3542, 3543, 3544 ] }, { "teal": 3818, "source": "examples/reti/stakingPool.algo.ts:936", "pc": [ 3545 ] }, { "teal": 3819, "source": "examples/reti/stakingPool.algo.ts:936", "pc": [ 3546 ] }, { "teal": 3820, "source": "examples/reti/stakingPool.algo.ts:936", "pc": [ 3547, 3548 ] }, { "teal": 3821, "source": "examples/reti/stakingPool.algo.ts:936", "pc": [ 3549, 3550 ] }, { "teal": 3822, "source": "examples/reti/stakingPool.algo.ts:936", "pc": [ 3551, 3552, 3553 ] }, { "teal": 3823, "source": "examples/reti/stakingPool.algo.ts:936", "pc": [ 3554 ] }, { "teal": 3824, "source": "examples/reti/stakingPool.algo.ts:936", "pc": [ 3555 ] }, { "teal": 3825, "source": "examples/reti/stakingPool.algo.ts:936", "pc": [ 3556, 3557 ] }, { "teal": 3828, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ 3558 ] }, { "teal": 3829, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ 3559, 3560 ] }, { "teal": 3832, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ 3561 ] }, { "teal": 3833, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ 3562, 3563 ] }, { "teal": 3834, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ 3564 ] }, { "teal": 3835, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ 3565 ] }, { "teal": 3836, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ 3566, 3567 ] }, { "teal": 3837, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ 3568, 3569, 3570 ] }, { "teal": 3838, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ 3571 ] }, { "teal": 3839, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ 3572, 3573 ] }, { "teal": 3843, "source": "examples/reti/stakingPool.algo.ts:938", "pc": [ 3574, 3575 ] }, { "teal": 3844, "source": "examples/reti/stakingPool.algo.ts:938", "pc": [ 3576, 3577 ] }, { "teal": 3845, "source": "examples/reti/stakingPool.algo.ts:938", "pc": [ 3578, 3579, 3580 ] }, { "teal": 3846, "source": "examples/reti/stakingPool.algo.ts:938", "pc": [ 3581 ] }, { "teal": 3847, "source": "examples/reti/stakingPool.algo.ts:938", "pc": [ 3582 ] }, { "teal": 3848, "source": "examples/reti/stakingPool.algo.ts:938", "pc": [ 3583 ] }, { "teal": 3852, "source": "examples/reti/stakingPool.algo.ts:939", "pc": [ 3584, 3585 ] }, { "teal": 3853, "source": "examples/reti/stakingPool.algo.ts:939", "pc": [ 3586, 3587 ] }, { "teal": 3854, "source": "examples/reti/stakingPool.algo.ts:939", "pc": [ 3588, 3589, 3590 ] }, { "teal": 3855, "source": "examples/reti/stakingPool.algo.ts:939", "pc": [ 3591 ] }, { "teal": 3856, "source": "examples/reti/stakingPool.algo.ts:939", "pc": [ 3592, 3593 ] }, { "teal": 3857, "source": "examples/reti/stakingPool.algo.ts:939", "pc": [ 3594 ] }, { "teal": 3858, "source": "examples/reti/stakingPool.algo.ts:939", "pc": [ 3595 ] }, { "teal": 3859, "source": "examples/reti/stakingPool.algo.ts:939", "pc": [ 3596 ] }, { "teal": 3866, "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ 3597 ] }, { "teal": 3867, "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ 3598 ] }, { "teal": 3868, "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ 3599, 3600 ] }, { "teal": 3869, "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ 3601, 3602 ] }, { "teal": 3870, "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ 3603, 3604 ] }, { "teal": 3874, "source": "examples/reti/stakingPool.algo.ts:942", "pc": [ 3605 ] }, { "teal": 3875, "source": "examples/reti/stakingPool.algo.ts:942", "pc": [ 3606 ] }, { "teal": 3876, "source": "examples/reti/stakingPool.algo.ts:942", "pc": [ 3607, 3608 ] }, { "teal": 3880, "source": "examples/reti/stakingPool.algo.ts:943", "pc": [ 3609 ] }, { "teal": 3881, "source": "examples/reti/stakingPool.algo.ts:943", "pc": [ 3610 ] }, { "teal": 3882, "source": "examples/reti/stakingPool.algo.ts:943", "pc": [ 3611 ] }, { "teal": 3883, "source": "examples/reti/stakingPool.algo.ts:943", "pc": [ 3612, 3613 ] }, { "teal": 3886, "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ 3614 ] }, { "teal": 3887, "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ 3615, 3616 ] }, { "teal": 3890, "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ 3617 ] }, { "teal": 3891, "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ 3618, 3619 ] }, { "teal": 3892, "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ 3620 ] }, { "teal": 3893, "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ 3621 ] }, { "teal": 3894, "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ 3622, 3623 ] }, { "teal": 3895, "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ 3624, 3625, 3626 ] }, { "teal": 3898, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ 3627, 3628 ] }, { "teal": 3899, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ 3629 ] }, { "teal": 3903, "source": "examples/reti/stakingPool.algo.ts:947", "pc": [ 3630, 3631, 3632 ] }, { "teal": 3906, "source": "examples/reti/stakingPool.algo.ts:947", "pc": [ 3633 ] }, { "teal": 3913, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ 3634 ] }, { "teal": 3914, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ 3635 ] }, { "teal": 3915, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ 3636, 3637 ] }, { "teal": 3916, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ 3638, 3639, 3640, 3641, 3642, 3643 ] }, { "teal": 3917, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ 3644, 3645 ] }, { "teal": 3921, "source": "examples/reti/stakingPool.algo.ts:949", "pc": [ 3646 ] }, { "teal": 3922, "source": "examples/reti/stakingPool.algo.ts:949", "pc": [ 3647 ] }, { "teal": 3923, "source": "examples/reti/stakingPool.algo.ts:949", "pc": [ 3648, 3649 ] }, { "teal": 3927, "source": "examples/reti/stakingPool.algo.ts:950", "pc": [ 3650 ] }, { "teal": 3928, "source": "examples/reti/stakingPool.algo.ts:950", "pc": [ 3651 ] }, { "teal": 3929, "source": "examples/reti/stakingPool.algo.ts:950", "pc": [ 3652 ] }, { "teal": 3930, "source": "examples/reti/stakingPool.algo.ts:950", "pc": [ 3653, 3654 ] }, { "teal": 3933, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ 3655 ] }, { "teal": 3934, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ 3656, 3657 ] }, { "teal": 3937, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ 3658 ] }, { "teal": 3938, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ 3659, 3660 ] }, { "teal": 3939, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ 3661 ] }, { "teal": 3940, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ 3662 ] }, { "teal": 3941, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ 3663, 3664 ] }, { "teal": 3942, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ 3665, 3666, 3667 ] }, { "teal": 3943, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ 3668, 3669 ] }, { "teal": 3947, "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ 3670, 3671 ] }, { "teal": 3948, "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ 3672, 3673 ] }, { "teal": 3949, "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ 3674, 3675, 3676 ] }, { "teal": 3950, "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ 3677 ] }, { "teal": 3951, "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ 3678 ] }, { "teal": 3952, "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ 3679, 3680, 3681 ] }, { "teal": 3953, "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ 3682, 3683 ] }, { "teal": 3954, "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ 3684, 3685 ] }, { "teal": 3955, "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ 3686, 3687, 3688 ] }, { "teal": 3956, "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ 3689 ] }, { "teal": 3957, "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ 3690 ] }, { "teal": 3961, "source": "examples/reti/stakingPool.algo.ts:947", "pc": [ 3691, 3692 ] }, { "teal": 3962, "source": "examples/reti/stakingPool.algo.ts:947", "pc": [ 3693 ] }, { "teal": 3966, "source": "examples/reti/stakingPool.algo.ts:955", "pc": [ 3694, 3695, 3696 ] }, { "teal": 3970, "source": "examples/reti/stakingPool.algo.ts:956", "pc": [ 3697, 3698 ] }, { "teal": 3971, "source": "examples/reti/stakingPool.algo.ts:955", "pc": [ 3699 ] }, { "teal": 3978, "source": "examples/reti/stakingPool.algo.ts:965", "pc": [ 3700, 3701, 3702 ] }, { "teal": 3981, "source": "examples/reti/stakingPool.algo.ts:965", "pc": [ 3703 ] }, { "teal": 3985, "source": "examples/reti/stakingPool.algo.ts:966", "pc": [ 3704, 3705, 3706 ] }, { "teal": 3986, "source": "examples/reti/stakingPool.algo.ts:966", "pc": [ 3707, 3708 ] }, { "teal": 3990, "source": "examples/reti/stakingPool.algo.ts:968", "pc": [ 3709, 3710 ] }, { "teal": 3991, "source": "examples/reti/stakingPool.algo.ts:968", "pc": [ 3711, 3712 ] }, { "teal": 3992, "source": "examples/reti/stakingPool.algo.ts:968", "pc": [ 3713 ] }, { "teal": 3993, "source": "examples/reti/stakingPool.algo.ts:968", "pc": [ 3714 ] }, { "teal": 3994, "source": "examples/reti/stakingPool.algo.ts:968", "pc": [ 3715, 3716 ] }, { "teal": 3995, "source": "examples/reti/stakingPool.algo.ts:968", "pc": [ 3717 ] }, { "teal": 3996, "source": "examples/reti/stakingPool.algo.ts:968", "pc": [ 3718 ] }, { "teal": 3997, "source": "examples/reti/stakingPool.algo.ts:968", "pc": [ 3719 ] }, { "teal": 3998, "source": "examples/reti/stakingPool.algo.ts:968", "pc": [ 3720 ] }, { "teal": 3999, "source": "examples/reti/stakingPool.algo.ts:968", "pc": [ 3721 ] }, { "teal": 4002, "source": "examples/reti/stakingPool.algo.ts:968", "errorMessage": "wideRatio failed", "pc": [ 3722 ] }, { "teal": 4005, "source": "examples/reti/stakingPool.algo.ts:965", "pc": [ 3723, 3724 ] }, { "teal": 4006, "source": "examples/reti/stakingPool.algo.ts:965", "pc": [ 3725 ] }, { "teal": 4010, "source": "examples/reti/stakingPool.algo.ts:971", "pc": [ 3726, 3727, 3728 ] }, { "teal": 4013, "source": "examples/reti/stakingPool.algo.ts:971", "pc": [ 3729 ] }, { "teal": 4017, "source": "examples/reti/stakingPool.algo.ts:975", "pc": [ 3730 ] }, { "teal": 4018, "source": "examples/reti/stakingPool.algo.ts:975", "pc": [ 3731, 3732 ] }, { "teal": 4023, "source": "examples/reti/stakingPool.algo.ts:976", "pc": [ 3733, 3734 ] }, { "teal": 4024, "source": "examples/reti/stakingPool.algo.ts:976", "pc": [ 3735 ] }, { "teal": 4025, "source": "examples/reti/stakingPool.algo.ts:976", "pc": [ 3736, 3737, 3738 ] }, { "teal": 4030, "source": "examples/reti/stakingPool.algo.ts:978", "pc": [ 3739, 3740, 3741, 3742 ] }, { "teal": 4031, "source": "examples/reti/stakingPool.algo.ts:978", "pc": [ 3743, 3744, 3745 ] }, { "teal": 4036, "source": "examples/reti/stakingPool.algo.ts:980", "pc": [ 3746 ] }, { "teal": 4040, "source": "examples/reti/stakingPool.algo.ts:971", "pc": [ 3747, 3748 ] }, { "teal": 4041, "source": "examples/reti/stakingPool.algo.ts:971", "pc": [ 3749 ] }, { "teal": 4045, "source": "examples/reti/stakingPool.algo.ts:983", "pc": [ 3750, 3751, 3752 ] }, { "teal": 4049, "source": "examples/reti/stakingPool.algo.ts:985", "pc": [ 3753, 3754, 3755, 3756, 3757, 3758, 3759, 3760, 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": 4059, "source": "examples/reti/stakingPool.algo.ts:991", "pc": [ 3766 ] }, { "teal": 4060, "source": "examples/reti/stakingPool.algo.ts:991", "pc": [ 3767, 3768 ] }, { "teal": 4064, "source": "examples/reti/stakingPool.algo.ts:992", "pc": [ 3769, 3770 ] }, { "teal": 4065, "source": "examples/reti/stakingPool.algo.ts:992", "pc": [ 3771 ] }, { "teal": 4066, "source": "examples/reti/stakingPool.algo.ts:992", "pc": [ 3772 ] }, { "teal": 4067, "source": "examples/reti/stakingPool.algo.ts:992", "pc": [ 3773, 3774 ] }, { "teal": 4072, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ 3775, 3776 ] }, { "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": [ 3782 ] }, { "teal": 4077, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ 3783 ] }, { "teal": 4078, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ 3784 ] }, { "teal": 4079, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ 3785 ] }, { "teal": 4082, "source": "examples/reti/stakingPool.algo.ts:993", "errorMessage": "currentBinSize as uint64 overflowed 64 bits", "pc": [ 3786 ] }, { "teal": 4083, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ 3787, 3788, 3789, 3790, 3791, 3792, 3793, 3794, 3795, 3796 ] }, { "teal": 4084, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ 3797 ] }, { "teal": 4085, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ 3798 ] }, { "teal": 4086, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ 3799 ] }, { "teal": 4087, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ 3800 ] }, { "teal": 4088, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ 3801, 3802 ] }, { "teal": 4089, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ 3803 ] }, { "teal": 4090, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ 3804 ] }, { "teal": 4091, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ 3805 ] }, { "teal": 4092, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ 3806 ] }, { "teal": 4093, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ 3807 ] }, { "teal": 4094, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ 3808 ] }, { "teal": 4095, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ 3809, 3810, 3811 ] }, { "teal": 4101, "source": "examples/reti/stakingPool.algo.ts:994", "pc": [ 3812, 3813 ] }, { "teal": 4102, "source": "examples/reti/stakingPool.algo.ts:994", "pc": [ 3814, 3815 ] }, { "teal": 4103, "source": "examples/reti/stakingPool.algo.ts:994", "pc": [ 3816 ] }, { "teal": 4104, "source": "examples/reti/stakingPool.algo.ts:994", "pc": [ 3817, 3818, 3819 ] }, { "teal": 4109, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ 3820 ] }, { "teal": 4110, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ 3821 ] }, { "teal": 4111, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ 3822, 3823 ] }, { "teal": 4112, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ 3824 ] }, { "teal": 4113, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ 3825, 3826 ] }, { "teal": 4114, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ 3827, 3828 ] }, { "teal": 4115, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ 3829 ] }, { "teal": 4116, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ 3830, 3831 ] }, { "teal": 4117, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ 3832, 3833 ] }, { "teal": 4118, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ 3834, 3835 ] }, { "teal": 4119, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ 3836, 3837 ] }, { "teal": 4120, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ 3838 ] }, { "teal": 4125, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ 3839, 3840 ] }, { "teal": 4126, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ 3841, 3842, 3843, 3844, 3845, 3846, 3847, 3848, 3849, 3850, 3851, 3852, 3853, 3854, 3855, 3856, 3857, 3858 ] }, { "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": 4131, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ 3864 ] }, { "teal": 4134, "source": "examples/reti/stakingPool.algo.ts:997", "errorMessage": "currentBinSize * (365 as uint128) overflowed 128 bits", "pc": [ 3865 ] }, { "teal": 4135, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ 3866, 3867 ] }, { "teal": 4136, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ 3868 ] }, { "teal": 4137, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ 3869 ] }, { "teal": 4138, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ 3870 ] }, { "teal": 4139, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ 3871 ] }, { "teal": 4140, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ 3872, 3873 ] }, { "teal": 4141, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ 3874 ] }, { "teal": 4142, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ 3875 ] }, { "teal": 4143, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ 3876 ] }, { "teal": 4144, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ 3877, 3878 ] }, { "teal": 4148, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ 3879, 3880 ] }, { "teal": 4149, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ 3881 ] }, { "teal": 4150, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ 3882, 3883 ] }, { "teal": 4151, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ 3884 ] }, { "teal": 4152, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ 3885 ] }, { "teal": 4153, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ 3886 ] }, { "teal": 4154, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ 3887, 3888 ] }, { "teal": 4155, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ 3889 ] }, { "teal": 4158, "source": "examples/reti/stakingPool.algo.ts:998", "errorMessage": "this.stakeAccumulator.value / currentBinSize overflowed 128 bits", "pc": [ 3890 ] }, { "teal": 4159, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ 3891, 3892 ] }, { "teal": 4160, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ 3893 ] }, { "teal": 4161, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ 3894 ] }, { "teal": 4162, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ 3895 ] }, { "teal": 4163, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ 3896 ] }, { "teal": 4164, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ 3897, 3898 ] }, { "teal": 4165, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ 3899 ] }, { "teal": 4166, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ 3900 ] }, { "teal": 4167, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ 3901 ] }, { "teal": 4168, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ 3902, 3903 ] }, { "teal": 4173, "source": "examples/reti/stakingPool.algo.ts:999", "pc": [ 3904, 3905 ] }, { "teal": 4174, "source": "examples/reti/stakingPool.algo.ts:999", "pc": [ 3906, 3907 ] }, { "teal": 4175, "source": "examples/reti/stakingPool.algo.ts:999", "pc": [ 3908 ] }, { "teal": 4176, "source": "examples/reti/stakingPool.algo.ts:999", "pc": [ 3909, 3910, 3911 ] }, { "teal": 4183, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ 3912, 3913 ] }, { "teal": 4184, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ 3914 ] }, { "teal": 4185, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ 3915 ] }, { "teal": 4186, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ 3916, 3917, 3918, 3919, 3920, 3921, 3922, 3923, 3924, 3925, 3926, 3927, 3928, 3929, 3930, 3931, 3932, 3933 ] }, { "teal": 4187, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ 3934 ] }, { "teal": 4188, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ 3935, 3936 ] }, { "teal": 4189, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ 3937 ] }, { "teal": 4190, "source": "examples/reti/stakingPool.algo.ts:1005", "pc": [ 3938, 3939 ] }, { "teal": 4191, "source": "examples/reti/stakingPool.algo.ts:1005", "pc": [ 3940, 3941 ] }, { "teal": 4192, "source": "examples/reti/stakingPool.algo.ts:1005", "pc": [ 3942 ] }, { "teal": 4193, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ 3943 ] }, { "teal": 4194, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ 3944 ] }, { "teal": 4195, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ 3945 ] }, { "teal": 4196, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ 3946, 3947 ] }, { "teal": 4197, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ 3948 ] }, { "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": [ 3949 ] }, { "teal": 4201, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ 3950, 3951 ] }, { "teal": 4202, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ 3952 ] }, { "teal": 4203, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ 3953 ] }, { "teal": 4204, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ 3954 ] }, { "teal": 4205, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ 3955 ] }, { "teal": 4206, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ 3956, 3957 ] }, { "teal": 4207, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ 3958 ] }, { "teal": 4208, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ 3959 ] }, { "teal": 4209, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ 3960 ] }, { "teal": 4210, "source": "examples/reti/stakingPool.algo.ts:1003", "pc": [ 3961, 3962 ] }, { "teal": 4214, "source": "examples/reti/stakingPool.algo.ts:1007", "pc": [ 3963, 3964, 3965, 3966, 3967, 3968, 3969, 3970, 3971, 3972, 3973, 3974, 3975, 3976, 3977, 3978, 3979, 3980 ] }, { "teal": 4215, "source": "examples/reti/stakingPool.algo.ts:1007", "pc": [ 3981, 3982 ] }, { "teal": 4220, "source": "examples/reti/stakingPool.algo.ts:1009", "pc": [ 3983, 3984 ] }, { "teal": 4221, "source": "examples/reti/stakingPool.algo.ts:1009", "pc": [ 3985, 3986, 3987, 3988, 3989, 3990, 3991, 3992, 3993, 3994, 3995, 3996, 3997, 3998, 3999, 4000, 4001, 4002 ] }, { "teal": 4222, "source": "examples/reti/stakingPool.algo.ts:1009", "pc": [ 4003 ] }, { "teal": 4223, "source": "examples/reti/stakingPool.algo.ts:1009", "pc": [ 4004, 4005, 4006 ] }, { "teal": 4228, "source": "examples/reti/stakingPool.algo.ts:1010", "pc": [ 4007, 4008, 4009, 4010, 4011, 4012, 4013, 4014, 4015, 4016, 4017, 4018, 4019, 4020, 4021, 4022, 4023, 4024 ] }, { "teal": 4229, "source": "examples/reti/stakingPool.algo.ts:1010", "pc": [ 4025, 4026 ] }, { "teal": 4236, "source": "examples/reti/stakingPool.algo.ts:1012", "pc": [ 4027, 4028 ] }, { "teal": 4237, "source": "examples/reti/stakingPool.algo.ts:1012", "pc": [ 4029 ] }, { "teal": 4238, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ 4030 ] }, { "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:1013", "pc": [ 4035 ] }, { "teal": 4242, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ 4036 ] }, { "teal": 4243, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ 4037, 4038 ] }, { "teal": 4244, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ 4039 ] }, { "teal": 4245, "source": "examples/reti/stakingPool.algo.ts:1014", "pc": [ 4040, 4041 ] }, { "teal": 4246, "source": "examples/reti/stakingPool.algo.ts:1014", "pc": [ 4042, 4043 ] }, { "teal": 4247, "source": "examples/reti/stakingPool.algo.ts:1014", "pc": [ 4044 ] }, { "teal": 4248, "source": "examples/reti/stakingPool.algo.ts:1014", "pc": [ 4045, 4046 ] }, { "teal": 4249, "source": "examples/reti/stakingPool.algo.ts:1014", "pc": [ 4047 ] }, { "teal": 4250, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ 4048 ] }, { "teal": 4251, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ 4049 ] }, { "teal": 4252, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ 4050 ] }, { "teal": 4253, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ 4051, 4052 ] }, { "teal": 4254, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ 4053 ] }, { "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": 4258, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ 4055, 4056 ] }, { "teal": 4259, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ 4057 ] }, { "teal": 4260, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ 4058 ] }, { "teal": 4261, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ 4059 ] }, { "teal": 4262, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ 4060 ] }, { "teal": 4263, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ 4061, 4062 ] }, { "teal": 4264, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ 4063 ] }, { "teal": 4265, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ 4064 ] }, { "teal": 4266, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ 4065 ] }, { "teal": 4267, "source": "examples/reti/stakingPool.algo.ts:1012", "pc": [ 4066 ] }, { "teal": 4272, "source": "examples/reti/stakingPool.algo.ts:1018", "pc": [ 4067, 4068, 4069 ] }, { "teal": 4276, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4070, 4071 ] }, { "teal": 4277, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4072, 4073 ] }, { "teal": 4278, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4074 ] }, { "teal": 4279, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4075 ] }, { "teal": 4280, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4076, 4077 ] }, { "teal": 4281, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4078 ] }, { "teal": 4282, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4079 ] }, { "teal": 4283, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4080 ] }, { "teal": 4284, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4081 ] }, { "teal": 4285, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4082 ] }, { "teal": 4286, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4083, 4084 ] }, { "teal": 4287, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4085 ] }, { "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": 4291, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4087, 4088 ] }, { "teal": 4292, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4089 ] }, { "teal": 4293, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4090 ] }, { "teal": 4294, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4091 ] }, { "teal": 4295, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4092 ] }, { "teal": 4296, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4093, 4094 ] }, { "teal": 4297, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4095 ] }, { "teal": 4298, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4096 ] }, { "teal": 4299, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4097 ] }, { "teal": 4300, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4098 ] }, { "teal": 4304, "source": "examples/reti/stakingPool.algo.ts:1020", "pc": [ 4099, 4100 ] }, { "teal": 4305, "source": "examples/reti/stakingPool.algo.ts:1020", "pc": [ 4101 ] }, { "teal": 4306, "source": "examples/reti/stakingPool.algo.ts:1020", "pc": [ 4102 ] }, { "teal": 4310, "source": "examples/reti/stakingPool.algo.ts:1021", "pc": [ 4103, 4104 ] }, { "teal": 4311, "source": "examples/reti/stakingPool.algo.ts:1021", "pc": [ 4105, 4106 ] }, { "teal": 4312, "source": "examples/reti/stakingPool.algo.ts:1021", "pc": [ 4107, 4108 ] }, { "teal": 4313, "source": "examples/reti/stakingPool.algo.ts:1021", "pc": [ 4109, 4110 ] }, { "teal": 4314, "source": "examples/reti/stakingPool.algo.ts:1021", "pc": [ 4111 ] }, { "teal": 4315, "source": "examples/reti/stakingPool.algo.ts:1021", "pc": [ 4112 ] }, { "teal": 4316, "source": "examples/reti/stakingPool.algo.ts:1021", "pc": [ 4113 ] }, { "teal": 4317, "source": "examples/reti/stakingPool.algo.ts:1021", "pc": [ 4114 ] }, { "teal": 4320, "source": "examples/reti/stakingPool.algo.ts:991", "pc": [ 4115 ] }, { "teal": 4324, "source": "examples/reti/stakingPool.algo.ts:1025", "pc": [ 4116, 4117, 4118 ] }, { "teal": 4328, "source": "examples/reti/stakingPool.algo.ts:1026", "pc": [ 4119, 4120 ] }, { "teal": 4329, "source": "examples/reti/stakingPool.algo.ts:1026", "pc": [ 4121, 4122, 4123, 4124 ] }, { "teal": 4330, "source": "examples/reti/stakingPool.algo.ts:1026", "pc": [ 4125 ] }, { "teal": 4331, "source": "examples/reti/stakingPool.algo.ts:1025", "pc": [ 4126 ] }, { "teal": 4334, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ 4127, 4128, 4129, 4130, 4131, 4132 ] }, { "teal": 4335, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ 4133, 4134, 4135 ] }, { "teal": 4336, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ 4136, 4137, 4138, 4139 ] }, { "teal": 4339, "source": "examples/reti/stakingPool.algo.ts:38", "errorMessage": "this contract does not implement the given ABI method for create NoOp", "pc": [ 4140 ] }, { "teal": 4342, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ 4141, 4142, 4143, 4144, 4145, 4146 ] }, { "teal": 4343, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ 4147, 4148, 4149, 4150, 4151, 4152 ] }, { "teal": 4344, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ 4153, 4154, 4155, 4156, 4157, 4158 ] }, { "teal": 4345, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ 4159, 4160, 4161, 4162, 4163, 4164 ] }, { "teal": 4346, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ 4165, 4166, 4167, 4168, 4169, 4170 ] }, { "teal": 4347, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ 4171, 4172, 4173, 4174, 4175, 4176 ] }, { "teal": 4348, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ 4177, 4178, 4179, 4180, 4181, 4182 ] }, { "teal": 4349, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ 4183, 4184, 4185, 4186, 4187, 4188 ] }, { "teal": 4350, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ 4189, 4190, 4191, 4192, 4193, 4194 ] }, { "teal": 4351, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ 4195, 4196, 4197, 4198, 4199, 4200 ] }, { "teal": 4352, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ 4201, 4202, 4203, 4204, 4205, 4206 ] }, { "teal": 4353, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ 4207, 4208, 4209, 4210, 4211, 4212 ] }, { "teal": 4354, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ 4213, 4214 ] }, { "teal": 4355, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ 4215, 4216, 4217 ] }, { "teal": 4356, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ 4218, 4219, 4220, 4221, 4222, 4223, 4224, 4225, 4226, 4227, 4228, 4229, 4230, 4231, 4232, 4233, 4234, 4235, 4236, 4237, 4238, 4239, 4240, 4241, 4242, 4243, 4244, 4245 ] }, { "teal": 4359, "source": "examples/reti/stakingPool.algo.ts:38", "errorMessage": "this contract does not implement the given ABI method for call NoOp", "pc": [ 4246 ] }, { "teal": 4362, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ 4247, 4248, 4249, 4250, 4251, 4252 ] }, { "teal": 4363, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ 4253, 4254, 4255 ] }, { "teal": 4364, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ 4256, 4257, 4258, 4259 ] }, { "teal": 4367, "source": "examples/reti/stakingPool.algo.ts:38", "errorMessage": "this contract does not implement the given ABI method for call UpdateApplication", "pc": [ 4260 ] } ], "pcOffsetMethod": "cblocks" }, "clear": { "sourceInfo": [], "pcOffsetMethod": "none" } }, "source": { "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgNiA2NCAzMiAxNiAxMjggMjAwIDUgMzAwIDEwMDAgNCAxXzAwMF8wMDAgMl8xMDBfMDAwIDggMTAwMDAwIDQwMCAyIDQwIDQ4IFRNUExfbmZkUmVnaXN0cnlBcHBJZApieXRlY2Jsb2NrIDB4IDB4NjM3MjY1NjE3NDZmNzI0MTcwNzAgMHg3Mzc0NjE2YjY1NzI3MyAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgMHg3MDZmNmY2YzQ5NjQgMHgwYTgxMDEgMHg3Mzc0NjE2YjY1NjQgMHg3Mzc0NjE2YjY1NDE2MzYzNzU2ZDc1NmM2MTc0NmY3MiAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGIDB4MDAwMDAwMDAwMDAwMDAwMCAweDcyNmY3NTZlNjQ3MzUwNjU3MjQ0NjE3OSAweDYyNjk2ZTUyNmY3NTZlNjQ1Mzc0NjE3Mjc0IDB4NzI2NTc3NjE3MjY0NDE2MzYzNzU2ZDc1NmM2MTc0NmY3MiAweDZlNzU2ZDUzNzQ2MTZiNjU3MjczIDB4NmM2MTczNzQ1MDYxNzk2Zjc1NzQgMHg3NWFmZjYxZCAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQgMHg2ZDY5NmU0NTZlNzQ3Mjc5NTM3NDYxNmI2NSAweDY1NzA2ZjYzNjg0ZTc1NmQ2MjY1NzIgMHg2NTc3NmQ2MSAweDE1MWY3Yzc1IDB4YTJkYzUxYjUgMHg1NzI3NjdkMSAweDRkZjhkODZlIDB4MGMyMjQ1ZTEgMHgwMCBUTVBMX2ZlZVNpbmtBZGRyCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNy4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDIgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbiAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV91cGRhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgdXBkYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgdXBkYXRlQXBwbGljYXRpb24KCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIHVwZGF0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKdXBkYXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTQKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gQWRkcmVzcy5mcm9tQWRkcmVzcygnTFo0VjJJUlZMQ1hGSks0UkVKVjRUQUdFS0VZVEEyR01SNlRDMjM0NE9CM0wzQUYzTVdYWjZaQUZJUScpLAoJLy8gICAgICAgJ1RlbXBvcmFyeTogY29udHJhY3QgaXMgdXBncmFkZWFibGUgYnV0IG9ubHkgZHVyaW5nIHRlc3RpbmcgYW5kIG9ubHkgZnJvbSBhIGRldmVsb3BtZW50IGFjY291bnQnCgkvLyAgICAgKQoJdHhuIFNlbmRlcgoJcHVzaGJ5dGVzIDB4NWU3OTVkMjIzNTU4YWU1NGFiOTEyMjZiYzk4MGM0NTEzMTMwNjhjYzhmYTYyZDZmOWM3MDc2YmQ4MGJiNjVhZiAvLyBhZGRyICJMWjRWMklSVkxDWEZKSzRSRUpWNFRBR0VLRVlUQTJHTVI2VEMyMzQ0T0IzTDNBRjNNV1haNlpBRklRIgoJPT0KCgkvLyBUZW1wb3Jhcnk6IGNvbnRyYWN0IGlzIHVwZ3JhZGVhYmxlIGJ1dCBvbmx5IGR1cmluZyB0ZXN0aW5nIGFuZCBvbmx5IGZyb20gYSBkZXZlbG9wbWVudCBhY2NvdW50Cglhc3NlcnQKCXJldHN1YgoKLy8gY3JlYXRlQXBwbGljYXRpb24odWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCS8vIG1pbkVudHJ5U3Rha2U6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJYnRvaQoKCS8vIHBvb2xJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGNyZWF0aW5nQ29udHJhY3RJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbih1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oY3JlYXRpbmdDb250cmFjdElkOiB1aW50NjQsIHZhbGlkYXRvcklkOiB1aW50NjQsIHBvb2xJZDogdWludDY0LCBtaW5FbnRyeVN0YWtlOiB1aW50NjQpOiB2b2lkCi8vCi8vIEluaXRpYWxpemUgdGhlIHN0YWtpbmcgcG9vbCB3LyBvd25lciBhbmQgbWFuYWdlciwgYnV0IGNhbiBvbmx5IGJlIGNyZWF0ZWQgYnkgdGhlIHZhbGlkYXRvciBjb250cmFjdC4KLy8gQHBhcmFtIHt1aW50NjR9IGNyZWF0aW5nQ29udHJhY3RJZCAtIGlkIG9mIGNvbnRyYWN0IHRoYXQgY29uc3RydWN0ZWQgdXMgLSB0aGUgdmFsaWRhdG9yIGFwcGxpY2F0aW9uIChzaW5nbGUgZ2xvYmFsIGluc3RhbmNlKQovLyBAcGFyYW0ge3VpbnQ2NH0gdmFsaWRhdG9ySWQgLSBpZCBvZiB2YWxpZGF0b3Igd2UncmUgYSBzdGFraW5nIHBvb2wgb2YKLy8gQHBhcmFtIHt1aW50NjR9IHBvb2xJZCAtIHdoaWNoIHBvb2wgaWQgYXJlIHdlCi8vIEBwYXJhbSB7dWludDY0fSBtaW5FbnRyeVN0YWtlIC0gbWluaW11bSBhbW91bnQgdG8gYmUgaW4gcG9vbCwgYnV0IGFsc28gbWluaW11bSBhbW91bnQgYmFsYW5jZSBjYW4ndCBnbyBiZWxvdyAod2l0aG91dCByZW1vdmluZyBhbGwhKQpjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDQgMAoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTA4CgkvLyBjcmVhdGluZ0NvbnRyYWN0SWQgPT09IDAKCWZyYW1lX2RpZyAtMSAvLyBjcmVhdGluZ0NvbnRyYWN0SWQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTAKCS8vIGFzc2VydCh2YWxpZGF0b3JJZCA9PT0gMCkKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpbnRjIDAgLy8gMAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTEKCS8vIGFzc2VydChwb29sSWQgPT09IDApCglmcmFtZV9kaWcgLTMgLy8gcG9vbElkOiB1aW50NjQKCWludGMgMCAvLyAwCgk9PQoJYXNzZXJ0CgliICppZjBfZW5kCgoqaWYwX2Vsc2U6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTEzCgkvLyBhc3NlcnQodmFsaWRhdG9ySWQgIT09IDApCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTE0CgkvLyBhc3NlcnQocG9vbElkICE9PSAwKQoJZnJhbWVfZGlnIC0zIC8vIHBvb2xJZDogdWludDY0CglpbnRjIDAgLy8gMAoJIT0KCWFzc2VydAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTE2CgkvLyBhc3NlcnQobWluRW50cnlTdGFrZSA+PSBNSU5fQUxHT19TVEFLRV9QRVJfUE9PTCwgJ3N0YWtpbmcgcG9vbCBtdXN0IGhhdmUgbWluaW11bSBlbnRyeSBvZiAxIGFsZ28nKQoJZnJhbWVfZGlnIC00IC8vIG1pbkVudHJ5U3Rha2U6IHVpbnQ2NAoJcHVzaGludCAxMDAwMDAwCgk+PQoKCS8vIHN0YWtpbmcgcG9vbCBtdXN0IGhhdmUgbWluaW11bSBlbnRyeSBvZiAxIGFsZ28KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTcKCS8vIHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlID0gY3JlYXRpbmdDb250cmFjdElkCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWZyYW1lX2RpZyAtMSAvLyBjcmVhdGluZ0NvbnRyYWN0SWQ6IHVpbnQ2NAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTE4CgkvLyB0aGlzLnZhbGlkYXRvcklkLnZhbHVlID0gdmFsaWRhdG9ySWQKCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTkKCS8vIHRoaXMucG9vbElkLnZhbHVlID0gcG9vbElkCglieXRlYyA0IC8vICAicG9vbElkIgoJZnJhbWVfZGlnIC0zIC8vIHBvb2xJZDogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjAKCS8vIHRoaXMubnVtU3Rha2Vycy52YWx1ZSA9IDAKCWJ5dGVjIDEzIC8vICAibnVtU3Rha2VycyIKCWludGMgMCAvLyAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjEKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlID0gMAoJYnl0ZWMgNiAvLyAgInN0YWtlZCIKCWludGMgMCAvLyAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjIKCS8vIHRoaXMubWluRW50cnlTdGFrZS52YWx1ZSA9IG1pbkVudHJ5U3Rha2UKCWJ5dGVjIDE4IC8vICAibWluRW50cnlTdGFrZSIKCWZyYW1lX2RpZyAtNCAvLyBtaW5FbnRyeVN0YWtlOiB1aW50NjQKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEyMwoJLy8gdGhpcy5sYXN0UGF5b3V0LnZhbHVlID0gZ2xvYmFscy5yb3VuZAoJYnl0ZWMgMTQgLy8gICJsYXN0UGF5b3V0IgoJZ2xvYmFsIFJvdW5kCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjQKCS8vIHRoaXMuZXBvY2hOdW1iZXIudmFsdWUgPSAwCglieXRlYyAxOSAvLyAgImVwb2NoTnVtYmVyIgoJaW50YyAwIC8vIDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEyNgoJLy8gdGhpcy5zZXRSb3VuZHNQZXJEYXkoKQoJY2FsbHN1YiBzZXRSb3VuZHNQZXJEYXkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTI3CgkvLyB0aGlzLmJpblJvdW5kU3RhcnQudmFsdWUgPSBnbG9iYWxzLnJvdW5kIC0gKGdsb2JhbHMucm91bmQgJSB0aGlzLnJvdW5kc1BlckRheS52YWx1ZSkKCWJ5dGVjIDExIC8vICAiYmluUm91bmRTdGFydCIKCWdsb2JhbCBSb3VuZAoJZ2xvYmFsIFJvdW5kCglieXRlYyAxMCAvLyAgInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CgklCgktCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjgKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSA9IDAgYXMgdWludDEyOAoJYnl0ZWMgNyAvLyAgInN0YWtlQWNjdW11bGF0b3IiCglieXRlYyAxNiAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjkKCS8vIHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgPSAwCglieXRlYyAxMiAvLyAgInJld2FyZEFjY3VtdWxhdG9yIgoJaW50YyAwIC8vIDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEzMAoJLy8gdGhpcy53ZWlnaHRlZE1vdmluZ0F2ZXJhZ2UudmFsdWUgPSAwIGFzIHVpbnQxMjgKCWJ5dGVjIDIwIC8vICAiZXdtYSIKCWJ5dGVjIDE2IC8vIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGdhcygpdm9pZAoqYWJpX3JvdXRlX2dhczoKCS8vIGV4ZWN1dGUgZ2FzKCl2b2lkCgljYWxsc3ViIGdhcwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2FzKCk6IHZvaWQKLy8KLy8gZ2FzIGlzIGEgZHVtbXkgbm8tb3AgY2FsbCB0aGF0IGNhbiBiZSB1c2VkIHRvIHBvb2wtdXAgcmVzb3VyY2UgcmVmZXJlbmNlcyBhbmQgb3Bjb2RlIGNvc3QKZ2FzOgoJcHJvdG8gMCAwCglyZXRzdWIKCi8vIGNvc3RGb3JCb3hTdG9yYWdlKHRvdGFsTnVtQnl0ZXM6IHVpbnQ2NCk6IHVpbnQ2NApjb3N0Rm9yQm94U3RvcmFnZToKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNDIKCS8vIHJldHVybiBTQ0JPWF9QRVJCT1ggKyB0b3RhbE51bUJ5dGVzICogU0NCT1hfUEVSQllURTsKCXB1c2hpbnQgMjUwMAoJZnJhbWVfZGlnIC0xIC8vIHRvdGFsTnVtQnl0ZXM6IHVpbnQ2NAoJaW50YyAxNiAvLyA0MDAKCSoKCSsKCXJldHN1YgoKLy8gaW5pdFN0b3JhZ2UocGF5KXZvaWQKKmFiaV9yb3V0ZV9pbml0U3RvcmFnZToKCS8vIG1iclBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludGMgMSAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDEgLy8gIHBheQoJPT0KCgkvLyBhcmd1bWVudCAwIChtYnJQYXltZW50KSBmb3IgaW5pdFN0b3JhZ2UgbXVzdCBiZSBhIHBheSB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBpbml0U3RvcmFnZShwYXkpdm9pZAoJY2FsbHN1YiBpbml0U3RvcmFnZQoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gaW5pdFN0b3JhZ2UobWJyUGF5bWVudDogUGF5VHhuKTogdm9pZAovLwovLyBDYWxsZWQgYWZ0ZXIgd2UncmUgY3JlYXRlZCBhbmQgdGhlbiBmdW5kZWQsIHNvIHdlIGNhbiBjcmVhdGUgb3VyIGxhcmdlIHN0YWtlcnMgbGVkZ2VyIHN0b3JhZ2UKLy8gQ2FsbGVyIGhhcyB0byBnZXQgTUJSIGFtb3VudHMgZnJvbSBWYWxpZGF0b3JSZWdpc3RyeSB0byBrbm93IGhvdyBtdWNoIHRvIGZ1bmQgdXMgdG8gY292ZXIgdGhlIGJveCBzdG9yYWdlIGNvc3QKLy8gSWYgdGhpcyBpcyBwb29sIDEgQU5EIHRoZSB2YWxpZGF0b3IgaGFzIHNwZWNpZmllZCBhIHJld2FyZCB0b2tlbiwgb3B0LWluIHRvIHRoYXQgdG9rZW4KLy8gc28gdGhhdCB0aGUgdmFsaWRhdG9yIGNhbiBzZWVkIHRoZSBwb29sIHdpdGggZnV0dXJlIHJld2FyZHMgb2YgdGhhdCB0b2tlbi4KLy8gQHBhcmFtIG1iclBheW1lbnQgcGF5bWVudCBmcm9tIGNhbGxlciB3aGljaCBjb3ZlcnMgbWJyIGluY3JlYXNlIG9mIG5ldyBzdGFraW5nIHBvb2xzJyBzdG9yYWdlCmluaXRTdG9yYWdlOgoJcHJvdG8gMSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNTMKCS8vIGFzc2VydCghdGhpcy5zdGFrZXJzLmV4aXN0cywgJ3N0YWtpbmcgcG9vbCBhbHJlYWR5IGluaXRpYWxpemVkJykKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJYm94X2xlbgoJc3dhcAoJcG9wCgkhCgoJLy8gc3Rha2luZyBwb29sIGFscmVhZHkgaW5pdGlhbGl6ZWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNTYKCS8vIHZhbGlkYXRvckNvbmZpZyA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuZ2V0VmFsaWRhdG9yQ29uZmlnPih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglieXRlYyAxNSAvLyAgbWV0aG9kICJnZXRWYWxpZGF0b3JDb25maWcodWludDY0KSh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KSIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE1NwoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkKCWJ5dGVjIDEgLy8gICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNTgKCS8vIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXQoJYnl0ZWMgMyAvLyAgInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnRjIDEgLy8gMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglmcmFtZV9idXJ5IDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTYwCgkvLyBpc1Rva2VuRWxpZ2libGUgPSB2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCAhPT0gMAoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTUzIDgKCWJ0b2kKCWludGMgMCAvLyAwCgkhPQoJZnJhbWVfYnVyeSAxIC8vIGlzVG9rZW5FbGlnaWJsZTogYm9vbAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNjEKCS8vIGV4dHJhTUJSID0gaXNUb2tlbkVsaWdpYmxlICYmIHRoaXMucG9vbElkLnZhbHVlID09PSAxID8gQVNTRVRfSE9MRElOR19GRUUgOiAwCglmcmFtZV9kaWcgMSAvLyBpc1Rva2VuRWxpZ2libGU6IGJvb2wKCWR1cAoJYnogKnNraXBfYW5kMAoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJPT0KCSYmCgoqc2tpcF9hbmQwOgoJYnogKnRlcm5hcnkwX2ZhbHNlCglpbnRjIDE1IC8vIDEwMDAwMAoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglpbnRjIDAgLy8gMAoKKnRlcm5hcnkwX2VuZDoKCWZyYW1lX2J1cnkgMiAvLyBleHRyYU1CUjogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE2MgoJLy8gUG9vbEluaXRNYnIgPQoJLy8gICAgICAgQUxHT1JBTkRfQUNDT1VOVF9NSU5fQkFMQU5DRSArCgkvLyAgICAgICBleHRyYU1CUiArCgkvLyAgICAgICB0aGlzLmNvc3RGb3JCb3hTdG9yYWdlKDcgLyogJ3N0YWtlcnMnIG5hbWUgKi8gKyBsZW48U3Rha2VkSW5mbz4oKSAqIE1BWF9TVEFLRVJTX1BFUl9QT09MKQoJaW50YyAxNSAvLyAxMDAwMDAKCWZyYW1lX2RpZyAyIC8vIGV4dHJhTUJSOiB1aW50NjQKCSsKCXB1c2hpbnQgMTI4MDcKCWNhbGxzdWIgY29zdEZvckJveFN0b3JhZ2UKCSsKCWZyYW1lX2J1cnkgMyAvLyBQb29sSW5pdE1icjogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE2OAoJLy8gdmVyaWZ5UGF5VHhuKG1iclBheW1lbnQsIHsgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsIGFtb3VudDogUG9vbEluaXRNYnIgfSkKCS8vIHZlcmlmeSByZWNlaXZlcgoJZnJhbWVfZGlnIC0xIC8vIG1iclBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgUmVjZWl2ZXIKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoibWJyUGF5bWVudCIsImZpZWxkIjoicmVjZWl2ZXIiLCJleHBlY3RlZCI6InRoaXMuYXBwLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIG1iclBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglmcmFtZV9kaWcgMyAvLyBQb29sSW5pdE1icjogdWludDY0Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoibWJyUGF5bWVudCIsImZpZWxkIjoiYW1vdW50IiwiZXhwZWN0ZWQiOiJQb29sSW5pdE1iciJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTY5CgkvLyB0aGlzLnN0YWtlcnMuY3JlYXRlKCkKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJcHVzaGludCAxMjgwMAoJYm94X2NyZWF0ZQoJcG9wCgoJLy8gKmlmMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNzEKCS8vIGlzVG9rZW5FbGlnaWJsZSAmJiB0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMQoJZnJhbWVfZGlnIDEgLy8gaXNUb2tlbkVsaWdpYmxlOiBib29sCglkdXAKCWJ6ICpza2lwX2FuZDEKCWJ5dGVjIDQgLy8gICJwb29sSWQiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxIC8vIDEKCT09CgkmJgoKKnNraXBfYW5kMToKCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTczCgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICAgIHhmZXJBc3NldDogQXNzZXRJRC5mcm9tVWludDY0KHZhbGlkYXRvckNvbmZpZy5yZXdhcmRUb2tlbklkKSwKCS8vICAgICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgICAgYXNzZXRBbW91bnQ6IDAsCgkvLyAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxMSAvLyAgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTc0CgkvLyB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCkKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE1MyA4CglidG9pCglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNzUKCS8vIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEFzc2V0UmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTc2CgkvLyBhc3NldEFtb3VudDogMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoqaWYxX2VuZDoKCXJldHN1YgoKLy8gYWRkU3Rha2UocGF5LGFkZHJlc3MpdWludDY0CiphYmlfcm91dGVfYWRkU3Rha2U6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIxIC8vIDB4MTUxZjdjNzUKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoc3Rha2VyKSBmb3IgYWRkU3Rha2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludGMgMSAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDEgLy8gIHBheQoJPT0KCgkvLyBhcmd1bWVudCAxIChzdGFrZWRBbW91bnRQYXltZW50KSBmb3IgYWRkU3Rha2UgbXVzdCBiZSBhIHBheSB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhZGRTdGFrZShwYXksYWRkcmVzcyl1aW50NjQKCWNhbGxzdWIgYWRkU3Rha2UKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBhZGRTdGFrZShzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4sIHN0YWtlcjogQWRkcmVzcyk6IHVpbnQ2NAovLwovLyBBZGRzIHN0YWtlIHRvIHRoZSBnaXZlbiBhY2NvdW50LgovLyBDYW4gT05MWSBiZSBjYWxsZWQgYnkgdGhlIHZhbGlkYXRvciBjb250cmFjdCB0aGF0IGNyZWF0ZWQgdXMKLy8gTXVzdCByZWNlaXZlIHBheW1lbnQgZnJvbSB0aGUgdmFsaWRhdG9yIGNvbnRyYWN0IGZvciBhbW91bnQgYmVpbmcgc3Rha2VkLgovLwovLyBAcGFyYW0ge1BheVR4bn0gc3Rha2VkQW1vdW50UGF5bWVudCBwcmlvciBwYXltZW50IGNvbWluZyBmcm9tIHZhbGlkYXRvciBjb250cmFjdCB0byB1cyBvbiBiZWhhbGYgb2Ygc3Rha2VyLgovLyBAcGFyYW0ge0FkZHJlc3N9IHN0YWtlciAtIFRoZSBhY2NvdW50IGFkZGluZyBuZXcgc3Rha2UKLy8gQHRocm93cyB7RXJyb3J9IC0gVGhyb3dzIGFuIGVycm9yIGlmIHRoZSBzdGFraW5nIHBvb2wgaXMgZnVsbC4KLy8gQHJldHVybnMge3VpbnQ2NH0gbmV3ICdlbnRyeSByb3VuZCcgcm91bmQgbnVtYmVyIG9mIHN0YWtlIGFkZAphZGRTdGFrZToKCXByb3RvIDIgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTkyCgkvLyBhc3NlcnQodGhpcy5zdGFrZXJzLmV4aXN0cywgJ3N0YWtpbmcgcG9vbCBtdXN0IGJlIGluaXRpYWxpemVkIGZpcnN0JykKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJYm94X2xlbgoJc3dhcAoJcG9wCgoJLy8gc3Rha2luZyBwb29sIG11c3QgYmUgaW5pdGlhbGl6ZWQgZmlyc3QKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxOTUKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkuYWRkcmVzcywKCS8vICAgICAgICdzdGFrZSBjYW4gb25seSBiZSBhZGRlZCB2aWEgdGhlIHZhbGlkYXRvciBjb250cmFjdCcKCS8vICAgICApCgl0eG4gU2VuZGVyCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCT09CgoJLy8gc3Rha2UgY2FuIG9ubHkgYmUgYWRkZWQgdmlhIHRoZSB2YWxpZGF0b3IgY29udHJhY3QKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxOTkKCS8vIGFzc2VydChzdGFrZXIgIT09IGdsb2JhbHMuemVyb0FkZHJlc3MpCglmcmFtZV9kaWcgLTIgLy8gc3Rha2VyOiBBZGRyZXNzCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjAyCgkvLyB0aGlzLmNoZWNrSWZCaW5DbG9zZWQoKQoJY2FsbHN1YiBjaGVja0lmQmluQ2xvc2VkCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIwNgoJLy8gdmVyaWZ5UGF5VHhuKHN0YWtlZEFtb3VudFBheW1lbnQsIHsKCS8vICAgICAgIHNlbmRlcjogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkuYWRkcmVzcywKCS8vICAgICAgIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgYW1vdW50OiBzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgU2VuZGVyCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzdGFrZWRBbW91bnRQYXltZW50IiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6IkFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzdGFrZWRBbW91bnRQYXltZW50IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InN0YWtlZEFtb3VudFBheW1lbnQiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoic3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIxNQoJLy8gZW50cnlSb3VuZCA9IGdsb2JhbHMucm91bmQgKyBBTEdPUkFORF9TVEFLSU5HX0JMT0NLX0RFTEFZCglnbG9iYWwgUm91bmQKCXB1c2hpbnQgMzIwCgkrCglmcmFtZV9idXJ5IDAgLy8gZW50cnlSb3VuZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIxNgoJLy8gZmlyc3RFbXB0eSA9IDAKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDEgLy8gZmlyc3RFbXB0eTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIxOAoJLy8gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgKz0gc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQKCWJ5dGVjIDYgLy8gICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CgkrCglieXRlYyA2IC8vICAic3Rha2VkIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjIwCgkvLyByb3VuZHNMZWZ0SW5CaW4gPSB0aGlzLmJpblJvdW5kU3RhcnQudmFsdWUgKyB0aGlzLnJvdW5kc1BlckRheS52YWx1ZSAtIGdsb2JhbHMucm91bmQKCWJ5dGVjIDExIC8vICAiYmluUm91bmRTdGFydCIKCWFwcF9nbG9iYWxfZ2V0CglieXRlYyAxMCAvLyAgInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CgkrCglnbG9iYWwgUm91bmQKCS0KCWZyYW1lX2J1cnkgMiAvLyByb3VuZHNMZWZ0SW5CaW46IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMjEKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSA9CgkvLyAgICAgICB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgKyAoc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQgYXMgdWludDEyOCkgKiAocm91bmRzTGVmdEluQmluIGFzIHVpbnQxMjgpCglieXRlYyA3IC8vICAic3Rha2VBY2N1bXVsYXRvciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJaXRvYgoJZnJhbWVfZGlnIDIgLy8gcm91bmRzTGVmdEluQmluOiB1aW50NjQKCWl0b2IKCWIqCgliKwoJZHVwCgliaXRsZW4KCWludGMgNiAvLyAxMjgKCTw9CgoJLy8gdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlICsgKHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50IGFzIHVpbnQxMjgpICogKHJvdW5kc0xlZnRJbkJpbiBhcyB1aW50MTI4KSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGVjIDggLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgNSAvLyAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjI1CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGg7IGkgKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDMgLy8gaTogdWludDY0CgoqZm9yXzA6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjI1CgkvLyBpIDwgdGhpcy5zdGFrZXJzLnZhbHVlLmxlbmd0aAoJZnJhbWVfZGlnIDMgLy8gaTogdWludDY0CglpbnRjIDcgLy8gMjAwCgk8CglieiAqZm9yXzBfZW5kCgoJLy8gKmlmMl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMjYKCS8vIGdsb2JhbHMub3Bjb2RlQnVkZ2V0IDwgMzAwCglnbG9iYWwgT3Bjb2RlQnVkZ2V0CglpbnRjIDkgLy8gMzAwCgk8CglieiAqaWYyX2VuZAoKCS8vICppZjJfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIyNwoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGVjIDUgLy8gICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludGMgOCAvLyAgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjI5CgkvLyBjbXBTdGFrZXIgPSBjbG9uZSh0aGlzLnN0YWtlcnMudmFsdWVbaV0pCglmcmFtZV9kaWcgMyAvLyBpOiB1aW50NjQKCWludGMgMyAvLyA2NAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDMgLy8gNjQKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2J1cnkgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyAqaWYzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIzMAoJLy8gY21wU3Rha2VyLmFjY291bnQgPT09IHN0YWtlcgoJZnJhbWVfZGlnIDQgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDAgMzIKCWZyYW1lX2RpZyAtMiAvLyBzdGFrZXI6IEFkZHJlc3MKCT09CglieiAqaWYzX2VuZAoKCS8vICppZjNfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIzMgoJLy8gY21wU3Rha2VyLmJhbGFuY2UgKz0gc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQKCWZyYW1lX2RpZyA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50YyA0IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CgkrCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMzMKCS8vIGNtcFN0YWtlci5lbnRyeVJvdW5kID0gZW50cnlSb3VuZAoJZnJhbWVfZGlnIDQgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglwdXNoaW50IDU2IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjM2CgkvLyB0aGlzLnN0YWtlcnMudmFsdWVbaV0gPSBjbXBTdGFrZXIKCWZyYW1lX2RpZyAzIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWZyYW1lX2RpZyA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJYnl0ZWMgMiAvLyAgInN0YWtlcnMiCgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMzgKCS8vIHJldHVybiBlbnRyeVJvdW5kOwoJZnJhbWVfZGlnIDAgLy8gZW50cnlSb3VuZDogdWludDY0CgliICphZGRTdGFrZSpyZXR1cm4KCippZjNfZW5kOgoJLy8gKmlmNF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyNDAKCS8vIGZpcnN0RW1wdHkgPT09IDAgJiYgY21wU3Rha2VyLmFjY291bnQgPT09IGdsb2JhbHMuemVyb0FkZHJlc3MKCWZyYW1lX2RpZyAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglkdXAKCWJ6ICpza2lwX2FuZDIKCWZyYW1lX2RpZyA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAwIDMyCglnbG9iYWwgWmVyb0FkZHJlc3MKCT09CgkmJgoKKnNraXBfYW5kMjoKCWJ6ICppZjRfZW5kCgoJLy8gKmlmNF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjQxCgkvLyBmaXJzdEVtcHR5ID0gaSArIDEKCWZyYW1lX2RpZyAzIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCippZjRfZW5kOgoKKmZvcl8wX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIyNQoJLy8gaSArPSAxCglmcmFtZV9kaWcgMyAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDMgLy8gaTogdWludDY0CgliICpmb3JfMAoKKmZvcl8wX2VuZDoKCS8vICppZjVfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjQ1CgkvLyBmaXJzdEVtcHR5ID09PSAwCglmcmFtZV9kaWcgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCWludGMgMCAvLyAwCgk9PQoJYnogKmlmNV9lbmQKCgkvLyAqaWY1X2NvbnNlcXVlbnQKCS8vIFN0YWtpbmcgcG9vbCBmdWxsCgllcnIKCippZjVfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI1MgoJLy8gYXNzZXJ0KHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50ID49IHRoaXMubWluRW50cnlTdGFrZS52YWx1ZSwgJ211c3Qgc3Rha2UgYXQgbGVhc3QgdGhlIG1pbmltdW0gZm9yIHRoaXMgcG9vbCcpCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWJ5dGVjIDE4IC8vICAibWluRW50cnlTdGFrZSIKCWFwcF9nbG9iYWxfZ2V0Cgk+PQoKCS8vIG11c3Qgc3Rha2UgYXQgbGVhc3QgdGhlIG1pbmltdW0gZm9yIHRoaXMgcG9vbAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI1NAoJLy8gYXNzZXJ0KHRoaXMuc3Rha2Vycy52YWx1ZVtmaXJzdEVtcHR5IC0gMV0uYWNjb3VudCA9PT0gZ2xvYmFscy56ZXJvQWRkcmVzcykKCWZyYW1lX2RpZyAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCS0KCWludGMgMyAvLyA2NAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDAgLy8gMAoJKwoJaW50YyA0IC8vIDMyCglieXRlYyAyIC8vICAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9leHRyYWN0CglnbG9iYWwgWmVyb0FkZHJlc3MKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjU1CgkvLyB0aGlzLnN0YWtlcnMudmFsdWVbZmlyc3RFbXB0eSAtIDFdID0gewoJLy8gICAgICAgYWNjb3VudDogc3Rha2VyLAoJLy8gICAgICAgYmFsYW5jZTogc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQsCgkvLyAgICAgICB0b3RhbFJld2FyZGVkOiAwLAoJLy8gICAgICAgcmV3YXJkVG9rZW5CYWxhbmNlOiAwLAoJLy8gICAgICAgZW50cnlSb3VuZDogZW50cnlSb3VuZCwKCS8vICAgICB9CglmcmFtZV9kaWcgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCWludGMgMSAvLyAxCgktCglpbnRjIDMgLy8gNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJZnJhbWVfZGlnIC0yIC8vIHN0YWtlcjogQWRkcmVzcwoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglpdG9iCgljb25jYXQKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCgljb25jYXQKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCgljb25jYXQKCWZyYW1lX2RpZyAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoJaXRvYgoJY29uY2F0CglieXRlYyAyIC8vICAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI2MgoJLy8gdGhpcy5udW1TdGFrZXJzLnZhbHVlICs9IDEKCWJ5dGVjIDEzIC8vICAibnVtU3Rha2VycyIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJKwoJYnl0ZWMgMTMgLy8gICJudW1TdGFrZXJzIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjYzCgkvLyByZXR1cm4gZW50cnlSb3VuZDsKCWZyYW1lX2RpZyAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoKKmFkZFN0YWtlKnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDQKCXJldHN1YgoKLy8gcmVtb3ZlU3Rha2UoYWRkcmVzcyx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX3JlbW92ZVN0YWtlOgoJLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoc3Rha2VyKSBmb3IgcmVtb3ZlU3Rha2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgcmVtb3ZlU3Rha2UoYWRkcmVzcyx1aW50NjQpdm9pZAoJY2FsbHN1YiByZW1vdmVTdGFrZQoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gcmVtb3ZlU3Rha2Uoc3Rha2VyOiBBZGRyZXNzLCBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NCk6IHZvaWQKLy8KLy8gUmVtb3ZlcyBzdGFrZSBvbiBiZWhhbGYgb2YgY2FsbGVyIChyZW1vdmluZyBvd24gc3Rha2UpLiAgSWYgYW55IHRva2VuIHJld2FyZHMgZXhpc3QsIHRob3NlIGFyZSBhbHdheXMgc2VudCBpbgovLyBmdWxsLiBBbHNvIG5vdGlmaWVzIHRoZSB2YWxpZGF0b3IgY29udHJhY3QgZm9yIHRoaXMgcG9vbHMgdmFsaWRhdG9yIG9mIHRoZSBzdGFrZXIgLyBiYWxhbmNlIGNoYW5nZXMuCi8vCi8vIEBwYXJhbSB7QWRkcmVzc30gc3Rha2VyIC0gYWNjb3VudCB0byByZW1vdmUuICBub3JtYWxseSBzYW1lIGFzIHNlbmRlciwgYnV0IHRoZSB2YWxpZGF0b3Igb3duZXIgb3IgbWFuYWdlciBjYW4gYWxzbyBjYWxsCi8vIHRoaXMgdG8gcmVtb3ZlIHRoZSBzcGVjaWZpZWQgc3Rha2VyIGV4cGxpY2l0bHkuIFRoZSByZW1vdmVkIHN0YWtlIE1VU1Qgb25seSBnbyB0byB0aGUgc3Rha2VyIG9mIGNvdXJzZS4gIFRoaXMgaXMKLy8gc28gYSB2YWxpZGF0b3IgY2FuIHNodXQgZG93biBhIHBvb29sIGFuZCByZWZ1bmQgdGhlIHN0YWtlcnMuICBJdCBjYW4gYWxzbyBiZSB1c2VkIHRvIGtpY2sgb3V0IHN0YWtlcnMgd2hvIG5vIGxvbmdlcgovLyBtZWV0IHRoZSBnYXRpbmcgcmVxdWlyZW1lbnRzIChkZXRlcm1pbmVkIGJ5IHRoZSBub2RlIGRhZW1vbikuCi8vIEBwYXJhbSB7dWludDY0fSBhbW91bnRUb1Vuc3Rha2UgLSBUaGUgYW1vdW50IG9mIHN0YWtlIHRvIGJlIHJlbW92ZWQuICBTcGVjaWZ5IDAgdG8gcmVtb3ZlIGFsbCBzdGFrZS4KLy8gQHRocm93cyB7RXJyb3J9IElmIHRoZSBhY2NvdW50IGhhcyBpbnN1ZmZpY2llbnQgYmFsYW5jZSBvciBpZiB0aGUgYWNjb3VudCBpcyBub3QgZm91bmQuCnJlbW92ZVN0YWtlOgoJcHJvdG8gMiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gNgoKCS8vICppZjZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjgwCgkvLyBzdGFrZXIgIT09IHRoaXMudHhuLnNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJdHhuIFNlbmRlcgoJIT0KCWJ6ICppZjZfZW5kCgoJLy8gKmlmNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjgxCgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIHRoaXMuaXNPd25lck9yTWFuYWdlckNhbGxlcigpLAoJLy8gICAgICAgICAnSWYgc3Rha2VyIGlzIG5vdCBzZW5kZXIgaW4gcmVtb3ZlU3Rha2UgY2FsbCwgdGhlbiBzZW5kZXIgTVVTVCBiZSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcicKCS8vICAgICAgICkKCWNhbGxzdWIgaXNPd25lck9yTWFuYWdlckNhbGxlcgoKCS8vIElmIHN0YWtlciBpcyBub3Qgc2VuZGVyIGluIHJlbW92ZVN0YWtlIGNhbGwsIHRoZW4gc2VuZGVyIE1VU1QgYmUgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3IKCWFzc2VydAoKKmlmNl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Mjg3CgkvLyB0aGlzLmNoZWNrSWZCaW5DbG9zZWQoKQoJY2FsbHN1YiBjaGVja0lmQmluQ2xvc2VkCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI4OQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8xOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI4OQoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyA3IC8vIDIwMAoJPAoJYnogKmZvcl8xX2VuZAoKCS8vICppZjdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjkwCgkvLyBnbG9iYWxzLm9wY29kZUJ1ZGdldCA8IDMwMAoJZ2xvYmFsIE9wY29kZUJ1ZGdldAoJaW50YyA5IC8vIDMwMAoJPAoJYnogKmlmN19lbmQKCgkvLyAqaWY3X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyOTEKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyA1IC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDggLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjdfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI5MwoJLy8gY21wU3Rha2VyID0gY2xvbmUodGhpcy5zdGFrZXJzLnZhbHVlW2ldKQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDMgLy8gNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAzIC8vIDY0CglieXRlYyAyIC8vICAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gKmlmOF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyOTQKCS8vIGNtcFN0YWtlci5hY2NvdW50ID09PSBzdGFrZXIKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAwIDMyCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgk9PQoJYnogKmlmOF9lbmQKCgkvLyAqaWY4X2NvbnNlcXVlbnQKCS8vICppZjlfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Mjk1CgkvLyBhbW91bnRUb1Vuc3Rha2UgPT09IDAKCWZyYW1lX2RpZyAtMiAvLyBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglieiAqaWY5X2VuZAoKCS8vICppZjlfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI5NwoJLy8gYW1vdW50VG9VbnN0YWtlID0gY21wU3Rha2VyLmJhbGFuY2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglmcmFtZV9idXJ5IC0yIC8vIGFtb3VudFRvVW5zdGFrZTogdWludDY0CgoqaWY5X2VuZDoKCS8vICppZjEwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI5OQoJLy8gY21wU3Rha2VyLmJhbGFuY2UgPCBhbW91bnRUb1Vuc3Rha2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCTwKCWJ6ICppZjEwX2VuZAoKCS8vICppZjEwX2NvbnNlcXVlbnQKCS8vIEluc3VmZmljaWVudCBiYWxhbmNlCgllcnIKCippZjEwX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMDIKCS8vIGNtcFN0YWtlci5iYWxhbmNlIC09IGFtb3VudFRvVW5zdGFrZQoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglpbnRjIDQgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCS0KCWl0b2IKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMwMwoJLy8gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgLT0gYW1vdW50VG9VbnN0YWtlCglieXRlYyA2IC8vICAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMiAvLyBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NAoJLQoJYnl0ZWMgNiAvLyAgInN0YWtlZCIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMwNQoJLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMiAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoKCS8vICppZjExX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMwNgoJLy8gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZSA+IDAKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglpbnRjIDAgLy8gMAoJPgoJYnogKmlmMTFfZW5kCgoJLy8gKmlmMTFfY29uc2VxdWVudAoJLy8gKmlmMTJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzA4CgkvLyB0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMQoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJPT0KCWJ6ICppZjEyX2Vsc2UKCgkvLyAqaWYxMl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzA5CgkvLyB2YWxpZGF0b3JDb25maWcgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLmdldFZhbGlkYXRvckNvbmZpZz4oewoJLy8gICAgICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgICAgICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdLAoJLy8gICAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJYnl0ZWMgMTUgLy8gIG1ldGhvZCAiZ2V0VmFsaWRhdG9yQ29uZmlnKHVpbnQ2NCkodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMTAKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzExCgkvLyBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50YyAxIC8vIDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJZnJhbWVfYnVyeSAzIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMxNwoJLy8gc2VuZEFzc2V0VHJhbnNmZXIoewoJLy8gICAgICAgICAgICAgICB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCksCgkvLyAgICAgICAgICAgICAgIGFzc2V0UmVjZWl2ZXI6IHN0YWtlciwKCS8vICAgICAgICAgICAgICAgYXNzZXRBbW91bnQ6IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UsCgkvLyAgICAgICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxMSAvLyAgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzE4CgkvLyB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCkKCWZyYW1lX2RpZyAzIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE1MyA4CglidG9pCglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMTkKCS8vIGFzc2V0UmVjZWl2ZXI6IHN0YWtlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMyMAoJLy8gYXNzZXRBbW91bnQ6IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMjIKCS8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCA9IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglmcmFtZV9idXJ5IDIgLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzIzCgkvLyBjbXBTdGFrZXIucmV3YXJkVG9rZW5CYWxhbmNlID0gMAoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglieXRlYyA5IC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJcmVwbGFjZTIgNDgKCWZyYW1lX2J1cnkgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWIgKmlmMTJfZW5kCgoqaWYxMl9lbHNlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMyOAoJLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkID0gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZQoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMjkKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPSAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0OAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKKmlmMTJfZW5kOgoKKmlmMTFfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMzNAoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICAgIGNtcFN0YWtlci5iYWxhbmNlID09PSAwIHx8IGNtcFN0YWtlci5iYWxhbmNlID49IHRoaXMubWluRW50cnlTdGFrZS52YWx1ZSwKCS8vICAgICAgICAgICAnY2Fubm90IHJlZHVjZSBiYWxhbmNlIGJlbG93IG1pbmltdW0gYWxsb3dlZCBzdGFrZSB1bmxlc3MgYWxsIGlzIHJlbW92ZWQnCgkvLyAgICAgICAgICkKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglpbnRjIDAgLy8gMAoJPT0KCWR1cAoJYm56ICpza2lwX29yMAoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWJ5dGVjIDE4IC8vICAibWluRW50cnlTdGFrZSIKCWFwcF9nbG9iYWxfZ2V0Cgk+PQoJfHwKCipza2lwX29yMDoKCS8vIGNhbm5vdCByZWR1Y2UgYmFsYW5jZSBiZWxvdyBtaW5pbXVtIGFsbG93ZWQgc3Rha2UgdW5sZXNzIGFsbCBpcyByZW1vdmVkCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzQyCgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICAgICAgYW1vdW50OiBhbW91bnRUb1Vuc3Rha2UsCgkvLyAgICAgICAgICAgcmVjZWl2ZXI6IHN0YWtlciwKCS8vICAgICAgICAgICBub3RlOiAndW5zdGFrZWQnLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzQzCgkvLyBhbW91bnQ6IGFtb3VudFRvVW5zdGFrZQoJZnJhbWVfZGlnIC0yIC8vIGFtb3VudFRvVW5zdGFrZTogdWludDY0CglpdHhuX2ZpZWxkIEFtb3VudAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNDQKCS8vIHJlY2VpdmVyOiBzdGFrZXIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzQ1CgkvLyBub3RlOiAndW5zdGFrZWQnCglwdXNoYnl0ZXMgMHg3NTZlNzM3NDYxNmI2NTY0IC8vICJ1bnN0YWtlZCIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzQ3CgkvLyBzdGFrZXJSZW1vdmVkID0gZmFsc2UKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDQgLy8gc3Rha2VyUmVtb3ZlZDogYm9vbAoKCS8vICppZjEzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM0OAoJLy8gY21wU3Rha2VyLmJhbGFuY2UgPT09IDAKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglpbnRjIDAgLy8gMAoJPT0KCWJ6ICppZjEzX2VuZAoKCS8vICppZjEzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTAKCS8vIHRoaXMubnVtU3Rha2Vycy52YWx1ZSAtPSAxCglieXRlYyAxMyAvLyAgIm51bVN0YWtlcnMiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxIC8vIDEKCS0KCWJ5dGVjIDEzIC8vICAibnVtU3Rha2VycyIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM1MQoJLy8gY21wU3Rha2VyLmFjY291bnQgPSBnbG9iYWxzLnplcm9BZGRyZXNzCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWludGMgMCAvLyAwCglnbG9iYWwgWmVyb0FkZHJlc3MKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM1MgoJLy8gY21wU3Rha2VyLnRvdGFsUmV3YXJkZWQgPSAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0MAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTMKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPSAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0OAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTQKCS8vIHN0YWtlclJlbW92ZWQgPSB0cnVlCglpbnRjIDEgLy8gMQoJZnJhbWVfYnVyeSA0IC8vIHN0YWtlclJlbW92ZWQ6IGJvb2wKCippZjEzX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTcKCS8vIHRoaXMuc3Rha2Vycy52YWx1ZVtpXSA9IGNtcFN0YWtlcgoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDMgLy8gNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglieXRlYyAyIC8vICAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM1OQoJLy8gcm91bmRzTGVmdEluQmluID0gdGhpcy5iaW5Sb3VuZFN0YXJ0LnZhbHVlICsgdGhpcy5yb3VuZHNQZXJEYXkudmFsdWUgLSBnbG9iYWxzLnJvdW5kCglieXRlYyAxMSAvLyAgImJpblJvdW5kU3RhcnQiCglhcHBfZ2xvYmFsX2dldAoJYnl0ZWMgMTAgLy8gICJyb3VuZHNQZXJEYXkiCglhcHBfZ2xvYmFsX2dldAoJKwoJZ2xvYmFsIFJvdW5kCgktCglmcmFtZV9idXJ5IDUgLy8gcm91bmRzTGVmdEluQmluOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzYwCgkvLyBzdWJ0cmFjdEFtb3VudDogdWludDEyOCA9IChhbW91bnRUb1Vuc3Rha2UgYXMgdWludDEyOCkgKiAocm91bmRzTGVmdEluQmluIGFzIHVpbnQxMjgpCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCWl0b2IKCWZyYW1lX2RpZyA1IC8vIHJvdW5kc0xlZnRJbkJpbjogdWludDY0CglpdG9iCgliKgoJZHVwCgliaXRsZW4KCWludGMgNiAvLyAxMjgKCTw9CgoJLy8gKGFtb3VudFRvVW5zdGFrZSBhcyB1aW50MTI4KSAqIChyb3VuZHNMZWZ0SW5CaW4gYXMgdWludDEyOCkgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlYyA4IC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDUgLy8gMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWZyYW1lX2J1cnkgNiAvLyBzdWJ0cmFjdEFtb3VudDogdWludDEyOAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNjEKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSA9IHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSAtIHN1YnRyYWN0QW1vdW50CglieXRlYyA3IC8vICAic3Rha2VBY2N1bXVsYXRvciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyA2IC8vIHN1YnRyYWN0QW1vdW50OiB1aW50MTI4CgliLQoJZHVwCgliaXRsZW4KCWludGMgNiAvLyAxMjgKCTw9CgoJLy8gdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlIC0gc3VidHJhY3RBbW91bnQgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlYyA4IC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDUgLy8gMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM2NgoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5zdGFrZVJlbW92ZWQ+KHsKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgICAgICB7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH0sCgkvLyAgICAgICAgICAgICBzdGFrZXIsCgkvLyAgICAgICAgICAgICBhbW91bnRUb1Vuc3Rha2UsCgkvLyAgICAgICAgICAgICBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQsCgkvLyAgICAgICAgICAgICBzdGFrZXJSZW1vdmVkLAoJLy8gICAgICAgICAgIF0sCgkvLyAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWJ5dGVjIDIyIC8vICBtZXRob2QgInN0YWtlUmVtb3ZlZCgodWludDY0LHVpbnQ2NCx1aW50NjQpLGFkZHJlc3MsdWludDY0LHVpbnQ2NCxib29sKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNjcKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzY4CgkvLyBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgICAgICB7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH0sCgkvLyAgICAgICAgICAgICBzdGFrZXIsCgkvLyAgICAgICAgICAgICBhbW91bnRUb1Vuc3Rha2UsCgkvLyAgICAgICAgICAgICBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQsCgkvLyAgICAgICAgICAgICBzdGFrZXJSZW1vdmVkLAoJLy8gICAgICAgICAgIF0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglieXRlYyA0IC8vICAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWNvbmNhdAoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJaXRvYgoJY29uY2F0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMiAvLyBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAyIC8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDQgLy8gc3Rha2VyUmVtb3ZlZDogYm9vbAoJYnl0ZWMgMjYgLy8gMHgwMAoJaW50YyAwIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Mzc2CgkvLyByZXR1cm47CglyZXRzdWIKCippZjhfZW5kOgoKKmZvcl8xX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI4OQoJLy8gaSArPSAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICpmb3JfMQoKKmZvcl8xX2VuZDoKCS8vIGFjY291bnQgbm90IGZvdW5kCgllcnIKCXJldHN1YgoKLy8gY2xhaW1Ub2tlbnMoKXZvaWQKKmFiaV9yb3V0ZV9jbGFpbVRva2VuczoKCS8vIGV4ZWN1dGUgY2xhaW1Ub2tlbnMoKXZvaWQKCWNhbGxzdWIgY2xhaW1Ub2tlbnMKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGNsYWltVG9rZW5zKCk6IHZvaWQKLy8KLy8gQ2xhaW1zIGFsbCB0aGUgYXZhaWxhYmxlIHJld2FyZCB0b2tlbnMgYSBzdGFrZXIgaGFzIGF2YWlsYWJsZSwgc2VuZGluZyB0aGVpciBlbnRpcmUgYmFsYW5jZSB0byB0aGUgc3Rha2VyIGZyb20KLy8gcG9vbCAxIChlaXRoZXIgZGlyZWN0bHksIG9yIHZpYSB2YWxpZGF0b3ItPnBvb2wxIHRvIHBheSBpdCBvdXQpCi8vIEFsc28gbm90aWZpZXMgdGhlIHZhbGlkYXRvciBjb250cmFjdCBmb3IgdGhpcyBwb29scyB2YWxpZGF0b3Igb2YgdGhlIHN0YWtlciAvIGJhbGFuY2UgY2hhbmdlcy4KY2xhaW1Ub2tlbnM6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwbiA0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5MQoJLy8gc3Rha2VyID0gdGhpcy50eG4uc2VuZGVyCgl0eG4gU2VuZGVyCglmcmFtZV9idXJ5IDAgLy8gc3Rha2VyOiBhZGRyZXNzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5MwoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoKKmZvcl8yOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5MwoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50YyA3IC8vIDIwMAoJPAoJYnogKmZvcl8yX2VuZAoKCS8vICppZjE0X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5NAoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAzMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludGMgOSAvLyAzMDAKCTwKCWJ6ICppZjE0X2VuZAoKCS8vICppZjE0X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTUKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyA1IC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDggLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjE0X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTcKCS8vIGNtcFN0YWtlciA9IGNsb25lKHRoaXMuc3Rha2Vycy52YWx1ZVtpXSkKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMyAvLyA2NAoJYnl0ZWMgMiAvLyAgInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vICppZjE1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5OAoJLy8gY21wU3Rha2VyLmFjY291bnQgPT09IHN0YWtlcgoJZnJhbWVfZGlnIDIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDAgMzIKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJPT0KCWJ6ICppZjE1X2VuZAoKCS8vICppZjE1X2NvbnNlcXVlbnQKCS8vICppZjE2X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5OQoJLy8gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZSA9PT0gMAoJZnJhbWVfZGlnIDIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWludGMgMCAvLyAwCgk9PQoJYnogKmlmMTZfZW5kCgoJLy8gKmlmMTZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQwMAoJLy8gcmV0dXJuOwoJcmV0c3ViCgoqaWYxNl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDAyCgkvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQgPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAzIC8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZDogdWludDY0CgoJLy8gKmlmMTdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDA0CgkvLyB0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMQoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJPT0KCWJ6ICppZjE3X2Vsc2UKCgkvLyAqaWYxN19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDA1CgkvLyB2YWxpZGF0b3JDb25maWcgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLmdldFZhbGlkYXRvckNvbmZpZz4oewoJLy8gICAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJYnl0ZWMgMTUgLy8gIG1ldGhvZCAiZ2V0VmFsaWRhdG9yQ29uZmlnKHVpbnQ2NCkodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MDYKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDA3CgkvLyBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50YyAxIC8vIDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJZnJhbWVfYnVyeSA0IC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQxMgoJLy8gc2VuZEFzc2V0VHJhbnNmZXIoewoJLy8gICAgICAgICAgICAgeGZlckFzc2V0OiBBc3NldElELmZyb21VaW50NjQodmFsaWRhdG9yQ29uZmlnLnJld2FyZFRva2VuSWQpLAoJLy8gICAgICAgICAgICAgYXNzZXRSZWNlaXZlcjogc3Rha2VyLAoJLy8gICAgICAgICAgICAgYXNzZXRBbW91bnQ6IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UsCgkvLyAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMTEgLy8gIGF4ZmVyCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQxMwoJLy8geGZlckFzc2V0OiBBc3NldElELmZyb21VaW50NjQodmFsaWRhdG9yQ29uZmlnLnJld2FyZFRva2VuSWQpCglmcmFtZV9kaWcgNCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxNTMgOAoJYnRvaQoJaXR4bl9maWVsZCBYZmVyQXNzZXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDE0CgkvLyBhc3NldFJlY2VpdmVyOiBzdGFrZXIKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQxNQoJLy8gYXNzZXRBbW91bnQ6IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MTcKCS8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCA9IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglmcmFtZV9idXJ5IDMgLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDE4CgkvLyBjbXBTdGFrZXIucmV3YXJkVG9rZW5CYWxhbmNlID0gMAoJZnJhbWVfZGlnIDIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglieXRlYyA5IC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJcmVwbGFjZTIgNDgKCWZyYW1lX2J1cnkgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWIgKmlmMTdfZW5kCgoqaWYxN19lbHNlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQyMwoJLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkID0gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZQoJZnJhbWVfZGlnIDIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MjQKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPSAwCglmcmFtZV9kaWcgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0OAoJZnJhbWVfYnVyeSAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKKmlmMTdfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQyOAoJLy8gdGhpcy5zdGFrZXJzLnZhbHVlW2ldID0gY21wU3Rha2VyCglmcmFtZV9kaWcgMSAvLyBpOiB1aW50NjQKCWludGMgMyAvLyA2NAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglmcmFtZV9kaWcgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDMzCgkvLyBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLnN0YWtlUmVtb3ZlZD4oewoJLy8gICAgICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLAoJLy8gICAgICAgICAgIG1ldGhvZEFyZ3M6IFsKCS8vICAgICAgICAgICAgIHsgaWQ6IHRoaXMudmFsaWRhdG9ySWQudmFsdWUsIHBvb2xJZDogdGhpcy5wb29sSWQudmFsdWUsIHBvb2xBcHBJZDogdGhpcy5hcHAuaWQgfSwKCS8vICAgICAgICAgICAgIHN0YWtlciwKCS8vICAgICAgICAgICAgIDAsIC8vIG5vIGFsZ28gcmVtb3ZlZAoJLy8gICAgICAgICAgICAgYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkLAoJLy8gICAgICAgICAgICAgZmFsc2UsIC8vIHN0YWtlciBpc24ndCBiZWluZyByZW1vdmVkLgoJLy8gICAgICAgICAgIF0sCgkvLyAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWJ5dGVjIDIyIC8vICBtZXRob2QgInN0YWtlUmVtb3ZlZCgodWludDY0LHVpbnQ2NCx1aW50NjQpLGFkZHJlc3MsdWludDY0LHVpbnQ2NCxib29sKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MzQKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDM1CgkvLyBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgICAgICB7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH0sCgkvLyAgICAgICAgICAgICBzdGFrZXIsCgkvLyAgICAgICAgICAgICAwLCAvLyBubyBhbGdvIHJlbW92ZWQKCS8vICAgICAgICAgICAgIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCwKCS8vICAgICAgICAgICAgIGZhbHNlLCAvLyBzdGFrZXIgaXNuJ3QgYmVpbmcgcmVtb3ZlZC4KCS8vICAgICAgICAgICBdCglieXRlYyAzIC8vICAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCgljb25jYXQKCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0b2IKCWNvbmNhdAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDMgLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglpbnRjIDAgLy8gMAoJYnl0ZWMgMjYgLy8gMHgwMAoJaW50YyAwIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDQzCgkvLyByZXR1cm47CglyZXRzdWIKCippZjE1X2VuZDoKCipmb3JfMl9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTMKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzIKCipmb3JfMl9lbmQ6CgkvLyBhY2NvdW50IG5vdCBmb3VuZAoJZXJyCglyZXRzdWIKCi8vIGdldFN0YWtlckluZm8oYWRkcmVzcykoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfZ2V0U3Rha2VySW5mbzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMjEgLy8gMHgxNTFmN2M3NQoKCS8vIHN0YWtlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgNCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChzdGFrZXIpIGZvciBnZXRTdGFrZXJJbmZvIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGdldFN0YWtlckluZm8oYWRkcmVzcykoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGdldFN0YWtlckluZm8KCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnZXRTdGFrZXJJbmZvKHN0YWtlcjogQWRkcmVzcyk6IFN0YWtlZEluZm8KLy8KLy8gUmV0cmlldmVzIHRoZSBzdGFrZWQgaW5mb3JtYXRpb24gZm9yIGEgZ2l2ZW4gc3Rha2VyLgovLwovLyBAcGFyYW0ge0FkZHJlc3N9IHN0YWtlciAtIFRoZSBhZGRyZXNzIG9mIHRoZSBzdGFrZXIuCi8vIEByZXR1cm5zIHtTdGFrZWRJbmZvfSAtIFRoZSBzdGFrZWQgaW5mb3JtYXRpb24gZm9yIHRoZSBnaXZlbiBzdGFrZXIuCi8vIEB0aHJvd3Mge0Vycm9yfSAtIElmIHRoZSBzdGFrZXIncyBhY2NvdW50IGlzIG5vdCBmb3VuZC4KZ2V0U3Rha2VySW5mbzoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ1OAoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8zOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ1OAoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyA3IC8vIDIwMAoJPAoJYnogKmZvcl8zX2VuZAoKCS8vICppZjE4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ1OQoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAyMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludGMgNyAvLyAyMDAKCTwKCWJ6ICppZjE4X2VuZAoKCS8vICppZjE4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0NjAKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyA1IC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDggLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjE4X2VuZDoKCS8vICppZjE5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ2MgoJLy8gdGhpcy5zdGFrZXJzLnZhbHVlW2ldLmFjY291bnQgPT09IHN0YWtlcgoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDMgLy8gNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAwIC8vIDAKCSsKCWludGMgNCAvLyAzMgoJYnl0ZWMgMiAvLyAgInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJPT0KCWJ6ICppZjE5X2VuZAoKCS8vICppZjE5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0NjMKCS8vIHJldHVybiB0aGlzLnN0YWtlcnMudmFsdWVbaV07CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludGMgMyAvLyA2NAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDMgLy8gNjQKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWIgKmdldFN0YWtlckluZm8qcmV0dXJuCgoqaWYxOV9lbmQ6CgoqZm9yXzNfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDU4CgkvLyBpICs9IDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCWIgKmZvcl8zCgoqZm9yXzNfZW5kOgoJLy8gYWNjb3VudCBub3QgZm91bmQKCWVycgoKKmdldFN0YWtlckluZm8qcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHBheVRva2VuUmV3YXJkKGFkZHJlc3MsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfcGF5VG9rZW5SZXdhcmQ6CgkvLyBhbW91bnRUb1NlbmQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIHJld2FyZFRva2VuOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMiAoc3Rha2VyKSBmb3IgcGF5VG9rZW5SZXdhcmQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgcGF5VG9rZW5SZXdhcmQoYWRkcmVzcyx1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgcGF5VG9rZW5SZXdhcmQKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIHBheVRva2VuUmV3YXJkKHN0YWtlcjogQWRkcmVzcywgcmV3YXJkVG9rZW46IHVpbnQ2NCwgYW1vdW50VG9TZW5kOiB1aW50NjQpOiB2b2lkCi8vCi8vIFtJbnRlcm5hbCBwcm90b2NvbCBtZXRob2RdIFJlbW92ZSBhIHNwZWNpZmllZCBhbW91bnQgb2YgJ2NvbW11bml0eSB0b2tlbicgcmV3YXJkcyBmb3IgYSBzdGFrZXIuCi8vIFRoaXMgY2FuIE9OTFkgYmUgY2FsbGVkIGJ5IG91ciB2YWxpZGF0b3IgYW5kIG9ubHkgaWYgd2UncmUgcG9vbCAxIC0gd2l0aCB0aGUgdG9rZW4uCi8vIE5vdGU6IHRoaXMgY2FuIGFsc28gYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBhcyBwYXJ0IG9mIE9XTkVSIHdhbnRpbmcgdG8gc2VuZCB0aGUgcmV3YXJkIHRva2VucwovLyBzb21ld2hlcmUgZWxzZSAoaWUgaWYgdGhleSdyZSBzdW5zZXR0aW5nIHRoZWlyIHZhbGlkYXRvciBhbmQgbmVlZCB0aGUgcmV3YXJkIHRva2VucyBiYWNrKS4KLy8gSXQncyB1cCB0byB0aGUgdmFsaWRhdG9yIHRvIGVuc3VyZSB0aGF0IHRoZSBiYWxhbmNlIGluIHJld2FyZFRva2VuSGVsZEJhY2sgaXMgaG9ub3JlZC4KLy8gQHBhcmFtIHN0YWtlciAtIHRoZSBzdGFrZXIgYWNjb3VudCB0byBzZW5kIHJld2FyZHMgdG8KLy8gQHBhcmFtIHJld2FyZFRva2VuIC0gaWQgb2YgcmV3YXJkIHRva2VuICh0byBhdm9pZCByZS1lbnRyYW5jeSBpbiBjYWxsaW5nIHZhbGlkYXRvciBiYWNrIHRvIGdldCBpZCkKLy8gQHBhcmFtIGFtb3VudFRvU2VuZCAtIGFtb3VudCB0byBzZW5kIHRoZSBzdGFrZXIgKHRoZXJlIGlzIHNpZ25pZmljYW50IHRydXN0IGhlcmUoISkgLSBhbHNvIHdoeSBvbmx5IHZhbGlkYXRvciBjYW4gY2FsbCB1cwpwYXlUb2tlblJld2FyZDoKCXByb3RvIDMgMAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0ODEKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkuYWRkcmVzcywKCS8vICAgICAgICd0aGlzIGNhbiBvbmx5IGJlIGNhbGxlZCB2aWEgdGhlIHZhbGlkYXRvciBjb250cmFjdCcKCS8vICAgICApCgl0eG4gU2VuZGVyCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCT09CgoJLy8gdGhpcyBjYW4gb25seSBiZSBjYWxsZWQgdmlhIHRoZSB2YWxpZGF0b3IgY29udHJhY3QKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0ODUKCS8vIGFzc2VydCh0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMSwgJ211c3QgYmUgcG9vbCAxIGluIG9yZGVyIHRvIGJlIGNhbGxlZCB0byBwYXkgb3V0IHRva2VuIHJld2FyZHMnKQoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJPT0KCgkvLyBtdXN0IGJlIHBvb2wgMSBpbiBvcmRlciB0byBiZSBjYWxsZWQgdG8gcGF5IG91dCB0b2tlbiByZXdhcmRzCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDg2CgkvLyBhc3NlcnQocmV3YXJkVG9rZW4gIT09IDAsICdjYW4gb25seSBjbGFpbSB0b2tlbiByZXdhcmRzIGZyb20gdmFsaWRhdG9yIHRoYXQgaGFzIHRoZW0nKQoJZnJhbWVfZGlnIC0yIC8vIHJld2FyZFRva2VuOiB1aW50NjQKCWludGMgMCAvLyAwCgkhPQoKCS8vIGNhbiBvbmx5IGNsYWltIHRva2VuIHJld2FyZHMgZnJvbSB2YWxpZGF0b3IgdGhhdCBoYXMgdGhlbQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ4OQoJLy8gc2VuZEFzc2V0VHJhbnNmZXIoewoJLy8gICAgICAgeGZlckFzc2V0OiBBc3NldElELmZyb21VaW50NjQocmV3YXJkVG9rZW4pLAoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogc3Rha2VyLAoJLy8gICAgICAgYXNzZXRBbW91bnQ6IGFtb3VudFRvU2VuZCwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxMSAvLyAgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDkwCgkvLyB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NChyZXdhcmRUb2tlbikKCWZyYW1lX2RpZyAtMiAvLyByZXdhcmRUb2tlbjogdWludDY0CglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0OTEKCS8vIGFzc2V0UmVjZWl2ZXI6IHN0YWtlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ5MgoJLy8gYXNzZXRBbW91bnQ6IGFtb3VudFRvU2VuZAoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudFRvU2VuZDogdWludDY0CglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyB1cGRhdGVBbGdvZFZlcihzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX3VwZGF0ZUFsZ29kVmVyOgoJLy8gYWxnb2RWZXI6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHVwZGF0ZUFsZ29kVmVyKHN0cmluZyl2b2lkCgljYWxsc3ViIHVwZGF0ZUFsZ29kVmVyCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVBbGdvZFZlcihhbGdvZFZlcjogc3RyaW5nKTogdm9pZAovLwovLyBVcGRhdGUgdGhlIChob25vciBzeXN0ZW0pIGFsZ29kIHZlcnNpb24gZm9yIHRoZSBub2RlIGFzc29jaWF0ZWQgdG8gdGhpcyBwb29sLiAgVGhlIG5vZGUgbWFuYWdlbWVudCBkYWVtb24KLy8gc2hvdWxkIGNvbXBhcmUgaXRzIGN1cnJlbnQgbm9kZXMgdmVyc2lvbiB0byB0aGUgdmVyc2lvbiBzdG9yZWQgaW4gZ2xvYmFsIHN0YXRlLCB1cGRhdGluZyB3aGVuIGRpZmZlcmVudC4KLy8gVGhlIHJldGkgbm9kZSBkYWVtb24gY29tcG9zZXMgaXRzIG93biB2ZXJzaW9uIHN0cmluZyB1c2luZyBmb3JtYXQ6Ci8vIHttYWpvcn0ue21pbm9yfS57YnVpbGR9IHticmFuY2h9IFt7Y29tbWl0IGhhc2h9XSwKLy8gaWU6IDMuMjIuMCByZWwvc3RhYmxlIFs2YjUwODk3NV0KLy8gWyBPTkxZIE9XTkVSIE9SIE1BTkFHRVIgQ0FOIENBTEwgXQovLyBAcGFyYW0ge3N0cmluZ30gYWxnb2RWZXIgLSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBhbGdvcmFuZCBub2RlIGRhZW1vbiB2ZXJzaW9uIChyZXRpIG5vZGUgZGFlbW9uIGNvbXBvc2VzIGl0cyBvd24gbWV0YSB2ZXJzaW9uKQp1cGRhdGVBbGdvZFZlcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MDYKCS8vIGFzc2VydCh0aGlzLmlzT3duZXJPck1hbmFnZXJDYWxsZXIoKSwgJ2NhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcicpCgljYWxsc3ViIGlzT3duZXJPck1hbmFnZXJDYWxsZXIKCgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3IKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MDcKCS8vIHRoaXMuYWxnb2RWZXIudmFsdWUgPSBhbGdvZFZlcgoJcHVzaGJ5dGVzIDB4NjE2YzY3NmY2NDU2NjU3MiAvLyAiYWxnb2RWZXIiCglmcmFtZV9kaWcgLTEgLy8gYWxnb2RWZXI6IHN0cmluZwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gZXBvY2hCYWxhbmNlVXBkYXRlKCl2b2lkCiphYmlfcm91dGVfZXBvY2hCYWxhbmNlVXBkYXRlOgoJLy8gZXhlY3V0ZSBlcG9jaEJhbGFuY2VVcGRhdGUoKXZvaWQKCWNhbGxzdWIgZXBvY2hCYWxhbmNlVXBkYXRlCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBlcG9jaEJhbGFuY2VVcGRhdGUoKTogdm9pZAovLwovLyBVcGRhdGVzIHRoZSBiYWxhbmNlIG9mIHN0YWtlcnMgaW4gdGhlIHBvb2wgYmFzZWQgb24gdGhlIHJlY2VpdmVkICdyZXdhcmRzJyAoY3VycmVudCBiYWxhbmNlIHZzIGtub3duIHN0YWtlZCBiYWxhbmNlKQovLyBzdGFrZXJzIG91dHN0YW5kaW5nIGJhbGFuY2UgaXMgYWRqdXN0ZWQgYmFzZWQgb24gdGhlaXIgJSBvZiBzdGFrZSBhbmQgdGltZSBpbiB0aGUgY3VycmVudCBlcG9jaCAtIHNvIHRoYXQgYmFsYW5jZQovLyBjb21wb3VuZHMgb3ZlciB0aW1lIGFuZCBzdGFrZXIgY2FuIHJlbW92ZSB0aGF0IGFtb3VudCBhdCB3aWxsLgovLyBUaGUgdmFsaWRhdG9yIGlzIHBhaWQgdGhlaXIgcGVyY2VudGFnZSBlYWNoIGVwb2NoIHBheW91dC4KLy8KLy8gTm90ZTogQU5ZT05FIGNhbiBjYWxsIHRoaXMuCmVwb2NoQmFsYW5jZVVwZGF0ZToKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDM2CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUyMAoJLy8gdmFsaWRhdG9yQ29uZmlnID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5nZXRWYWxpZGF0b3JDb25maWc+KHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWJ5dGVjIDE1IC8vICBtZXRob2QgImdldFZhbGlkYXRvckNvbmZpZyh1aW50NjQpKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTIxCgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZWMgMSAvLyAgImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUyMgoJLy8gbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdCglieXRlYyAzIC8vICAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludGMgMSAvLyAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWZyYW1lX2J1cnkgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MjkKCS8vIGVwb2NoUm91bmRMZW5ndGggPSB2YWxpZGF0b3JDb25maWcuZXBvY2hSb3VuZExlbmd0aCBhcyB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE2OSA0CglidG9pCglmcmFtZV9idXJ5IDEgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUzMAoJLy8gY3VyUm91bmQgPSBnbG9iYWxzLnJvdW5kCglnbG9iYWwgUm91bmQKCWZyYW1lX2J1cnkgMiAvLyBjdXJSb3VuZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUzMQoJLy8gdGhpc0Vwb2NoQmVnaW4gPSBjdXJSb3VuZCAtIChjdXJSb3VuZCAlIGVwb2NoUm91bmRMZW5ndGgpCglmcmFtZV9kaWcgMiAvLyBjdXJSb3VuZDogdWludDY0CglmcmFtZV9kaWcgMiAvLyBjdXJSb3VuZDogdWludDY0CglmcmFtZV9kaWcgMSAvLyBlcG9jaFJvdW5kTGVuZ3RoOiB1aW50NjQKCSUKCS0KCWZyYW1lX2J1cnkgMyAvLyB0aGlzRXBvY2hCZWdpbjogdWludDY0CgoJLy8gKmlmMjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTM0CgkvLyB0aGlzLmxhc3RQYXlvdXQuZXhpc3RzCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglieXRlYyAxNCAvLyAgImxhc3RQYXlvdXQiCglhcHBfZ2xvYmFsX2dldF9leAoJc3dhcAoJcG9wCglieiAqaWYyMF9lbmQKCgkvLyAqaWYyMF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTM1CgkvLyBsYXN0UGF5b3V0RXBvY2ggPSB0aGlzLmxhc3RQYXlvdXQudmFsdWUgLSAodGhpcy5sYXN0UGF5b3V0LnZhbHVlICUgZXBvY2hSb3VuZExlbmd0aCkKCWJ5dGVjIDE0IC8vICAibGFzdFBheW91dCIKCWFwcF9nbG9iYWxfZ2V0CglieXRlYyAxNCAvLyAgImxhc3RQYXlvdXQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDEgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0CgklCgktCglmcmFtZV9idXJ5IDQgLy8gbGFzdFBheW91dEVwb2NoOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTM5CgkvLyBhc3NlcnQobGFzdFBheW91dEVwb2NoICE9PSB0aGlzRXBvY2hCZWdpbiwgImNhbid0IGNhbGwgZXBvY2hCYWxhbmNlVXBkYXRlIGluIHNhbWUgZXBvY2ggYXMgcHJpb3IgY2FsbCIpCglmcmFtZV9kaWcgNCAvLyBsYXN0UGF5b3V0RXBvY2g6IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJIT0KCgkvLyBjYW4ndCBjYWxsIGVwb2NoQmFsYW5jZVVwZGF0ZSBpbiBzYW1lIGVwb2NoIGFzIHByaW9yIGNhbGwKCWFzc2VydAoKKmlmMjBfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU0MgoJLy8gdGhpcy5jaGVja0lmQmluQ2xvc2VkKCkKCWNhbGxzdWIgY2hlY2tJZkJpbkNsb3NlZAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NDUKCS8vIHRoaXMubGFzdFBheW91dC52YWx1ZSA9IGN1clJvdW5kCglieXRlYyAxNCAvLyAgImxhc3RQYXlvdXQiCglmcmFtZV9kaWcgMiAvLyBjdXJSb3VuZDogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NDYKCS8vIHRoaXMuZXBvY2hOdW1iZXIudmFsdWUgKz0gMQoJYnl0ZWMgMTkgLy8gICJlcG9jaE51bWJlciIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJKwoJYnl0ZWMgMTkgLy8gICJlcG9jaE51bWJlciIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU1MQoJLy8gaXNUb2tlbkVsaWdpYmxlID0gdmFsaWRhdG9yQ29uZmlnLnJld2FyZFRva2VuSWQgIT09IDAKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE1MyA4CglidG9pCglpbnRjIDAgLy8gMAoJIT0KCWZyYW1lX2J1cnkgNSAvLyBpc1Rva2VuRWxpZ2libGU6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTUyCgkvLyBwb29sT25lQXBwSUQgPSB0aGlzLmFwcC5pZAoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJZnJhbWVfYnVyeSA2IC8vIHBvb2xPbmVBcHBJRDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU1MwoJLy8gcG9vbE9uZUFkZHJlc3MgPSB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfYnVyeSA3IC8vIHBvb2xPbmVBZGRyZXNzOiBhZGRyZXNzCgoJLy8gKmlmMjFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTU4CgkvLyBpc1Rva2VuRWxpZ2libGUKCWZyYW1lX2RpZyA1IC8vIGlzVG9rZW5FbGlnaWJsZTogYm9vbAoJYnogKmlmMjFfZW5kCgoJLy8gKmlmMjFfY29uc2VxdWVudAoJLy8gKmlmMjJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTU5CgkvLyB0aGlzLnBvb2xJZC52YWx1ZSAhPT0gMQoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJIT0KCWJ6ICppZjIyX2VuZAoKCS8vICppZjIyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NjEKCS8vIHBvb2xPbmVBcHBJRCA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuZ2V0UG9vbEFwcElkPih7CgkvLyAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWUsIDFdLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglieXRlYyAyMyAvLyAgbWV0aG9kICJnZXRQb29sQXBwSWQodWludDY0LHVpbnQ2NCl1aW50NjQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NjIKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTYzCgkvLyBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZSwgMV0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMQoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludGMgMSAvLyAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWJ0b2kKCWZyYW1lX2J1cnkgNiAvLyBwb29sT25lQXBwSUQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NjUKCS8vIHBvb2xPbmVBZGRyZXNzID0gQXBwSUQuZnJvbVVpbnQ2NChwb29sT25lQXBwSUQpLmFkZHJlc3MKCWZyYW1lX2RpZyA2IC8vIHBvb2xPbmVBcHBJRDogdWludDY0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWZyYW1lX2J1cnkgNyAvLyBwb29sT25lQWRkcmVzczogYWRkcmVzcwoKKmlmMjJfZW5kOgoJLy8gKmlmMjNfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTcwCgkvLyB0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMQoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJPT0KCWJ6ICppZjIzX2Vsc2UKCgkvLyAqaWYyM19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTcxCgkvLyB0b2tlblBheW91dFJhdGlvID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5zZXRUb2tlblBheW91dFJhdGlvPih7CgkvLyAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglieXRlYyAyNCAvLyAgbWV0aG9kICJzZXRUb2tlblBheW91dFJhdGlvKHVpbnQ2NCkodWludDY0WzI0XSx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTcyCgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZWMgMSAvLyAgImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU3MwoJLy8gbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdCglieXRlYyAzIC8vICAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludGMgMSAvLyAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWZyYW1lX2J1cnkgOCAvLyB0b2tlblBheW91dFJhdGlvOiBQb29sVG9rZW5QYXlvdXRSYXRpbwoJYiAqaWYyM19lbmQKCippZjIzX2Vsc2U6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTc3CgkvLyB0b2tlblBheW91dFJhdGlvID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFN0YWtpbmdQb29sLnByb3RvdHlwZS5wcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbz4oewoJLy8gICAgICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQocG9vbE9uZUFwcElEKSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbeyBpZDogdGhpcy52YWxpZGF0b3JJZC52YWx1ZSwgcG9vbElkOiB0aGlzLnBvb2xJZC52YWx1ZSwgcG9vbEFwcElkOiB0aGlzLmFwcC5pZCB9XSwKCS8vICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJYnl0ZWMgMjUgLy8gIG1ldGhvZCAicHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0WzI0XSx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTc4CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHBvb2xPbmVBcHBJRCkKCWZyYW1lX2RpZyA2IC8vIHBvb2xPbmVBcHBJRDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTc5CgkvLyBtZXRob2RBcmdzOiBbeyBpZDogdGhpcy52YWxpZGF0b3JJZC52YWx1ZSwgcG9vbElkOiB0aGlzLnBvb2xJZC52YWx1ZSwgcG9vbEFwcElkOiB0aGlzLmFwcC5pZCB9XQoJYnl0ZWMgMyAvLyAgInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWJ5dGVjIDQgLy8gICJwb29sSWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJY29uY2F0Cgl0eG5hIEFwcGxpY2F0aW9ucyAwCglpdG9iCgljb25jYXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnRjIDEgLy8gMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglmcmFtZV9idXJ5IDggLy8gdG9rZW5QYXlvdXRSYXRpbzogUG9vbFRva2VuUGF5b3V0UmF0aW8KCippZjIzX2VuZDoKCippZjIxX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1ODYKCS8vIHZhbGlkYXRvclN0YXRlID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5nZXRWYWxpZGF0b3JTdGF0ZT4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJcHVzaGJ5dGVzIDB4MWYyZjAxMDkgLy8gbWV0aG9kICJnZXRWYWxpZGF0b3JTdGF0ZSh1aW50NjQpKHVpbnQxNix1aW50NjQsdWludDY0LHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1ODcKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTg4CgkvLyBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50YyAxIC8vIDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJZnJhbWVfYnVyeSA5IC8vIHZhbGlkYXRvclN0YXRlOiAodWludDE2LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1OTAKCS8vIHJld2FyZFRva2VuSGVsZEJhY2sgPSB2YWxpZGF0b3JTdGF0ZS5yZXdhcmRUb2tlbkhlbGRCYWNrCglmcmFtZV9kaWcgOSAvLyB2YWxpZGF0b3JTdGF0ZTogKHVpbnQxNix1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTggOAoJYnRvaQoJZnJhbWVfYnVyeSAxMCAvLyByZXdhcmRUb2tlbkhlbGRCYWNrOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTk2CgkvLyBhbGdvUmV3YXJkQXZhaWwgPSB0aGlzLmFwcC5hZGRyZXNzLmJhbGFuY2UgLSB0aGlzLnRvdGFsQWxnb1N0YWtlZC52YWx1ZSAtIHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZQoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0QmFsYW5jZQoJcG9wCglieXRlYyA2IC8vICAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCS0KCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJLQoJZnJhbWVfYnVyeSAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1OTcKCS8vIGlzUG9vbFNhdHVyYXRlZCA9IGZhbHNlCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxMiAvLyBpc1Bvb2xTYXR1cmF0ZWQ6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTk4CgkvLyBhbGdvU2F0dXJhdGlvbkFtdCA9IHRoaXMuYWxnb1NhdHVyYXRpb25MZXZlbCgpCgljYWxsc3ViIGFsZ29TYXR1cmF0aW9uTGV2ZWwKCWZyYW1lX2J1cnkgMTMgLy8gYWxnb1NhdHVyYXRpb25BbXQ6IHVpbnQ2NAoKCS8vICppZjI0X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYwNgoJLy8gdmFsaWRhdG9yU3RhdGUudG90YWxBbGdvU3Rha2VkID4gYWxnb1NhdHVyYXRpb25BbXQKCWZyYW1lX2RpZyA5IC8vIHZhbGlkYXRvclN0YXRlOiAodWludDE2LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxMCA4CglidG9pCglmcmFtZV9kaWcgMTMgLy8gYWxnb1NhdHVyYXRpb25BbXQ6IHVpbnQ2NAoJPgoJYnogKmlmMjRfZW5kCgoJLy8gKmlmMjRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYwNwoJLy8gaXNQb29sU2F0dXJhdGVkID0gdHJ1ZQoJaW50YyAxIC8vIDEKCWZyYW1lX2J1cnkgMTIgLy8gaXNQb29sU2F0dXJhdGVkOiBib29sCgoqaWYyNF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjEzCgkvLyB0b2tlblJld2FyZEF2YWlsID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMTQgLy8gdG9rZW5SZXdhcmRBdmFpbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYxNAoJLy8gdG9rZW5SZXdhcmRQYWlkT3V0ID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjE1CgkvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCA9IDAKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDE2IC8vIHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjE2CgkvLyBleGNlc3NUb0ZlZVNpbmsgPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxNyAvLyBleGNlc3NUb0ZlZVNpbms6IHVpbnQ2NAoKCS8vICppZjI1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYxNwoJLy8gaXNUb2tlbkVsaWdpYmxlCglmcmFtZV9kaWcgNSAvLyBpc1Rva2VuRWxpZ2libGU6IGJvb2wKCWJ6ICppZjI1X2VuZAoKCS8vICppZjI1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2MTgKCS8vIHRva2VuUmV3YXJkQmFsID0KCS8vICAgICAgICAgcG9vbE9uZUFkZHJlc3MuYXNzZXRCYWxhbmNlKEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCkpIC0gcmV3YXJkVG9rZW5IZWxkQmFjawoJZnJhbWVfZGlnIDcgLy8gcG9vbE9uZUFkZHJlc3M6IGFkZHJlc3MKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE1MyA4CglidG9pCglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIDEwIC8vIHJld2FyZFRva2VuSGVsZEJhY2s6IHVpbnQ2NAoJLQoJZnJhbWVfYnVyeSAxOCAvLyB0b2tlblJld2FyZEJhbDogdWludDY0CgoJLy8gKmlmMjZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjIzCgkvLyB0b2tlblJld2FyZEJhbCA+PSB2YWxpZGF0b3JDb25maWcucmV3YXJkUGVyUGF5b3V0CglmcmFtZV9kaWcgMTggLy8gdG9rZW5SZXdhcmRCYWw6IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTYxIDgKCWJ0b2kKCT49CglieiAqaWYyNl9lbmQKCgkvLyAqaWYyNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjI5CgkvLyBvdXJQb29sUGN0T2ZXaG9sZSA9IHRva2VuUGF5b3V0UmF0aW8ucG9vbFBjdE9mV2hvbGVbdGhpcy5wb29sSWQudmFsdWUgLSAxXQoJZnJhbWVfZGlnIDggLy8gdG9rZW5QYXlvdXRSYXRpbzogUG9vbFRva2VuUGF5b3V0UmF0aW8KCWludGMgMCAvLyAwCglieXRlYyA0IC8vICAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMSAvLyAxCgktCglpbnRjIDE0IC8vIDgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAxNCAvLyA4CglleHRyYWN0MwoJYnRvaQoJZnJhbWVfYnVyeSAxOSAvLyBvdXJQb29sUGN0T2ZXaG9sZTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYzMgoJLy8gdG9rZW5SZXdhcmRBdmFpbCA9IHdpZGVSYXRpbyhbdmFsaWRhdG9yQ29uZmlnLnJld2FyZFBlclBheW91dCwgb3VyUG9vbFBjdE9mV2hvbGVdLCBbMV8wMDBfMDAwXSkKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE2MSA4CglidG9pCglmcmFtZV9kaWcgMTkgLy8gb3VyUG9vbFBjdE9mV2hvbGU6IHVpbnQ2NAoJbXVsdwoJaW50YyAwIC8vIDAKCWludGMgMTIgLy8gMV8wMDBfMDAwCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJZnJhbWVfYnVyeSAxNCAvLyB0b2tlblJld2FyZEF2YWlsOiB1aW50NjQKCippZjI2X2VuZDoKCippZjI1X2VuZDoKCS8vICppZjI3X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYzNQoJLy8gdG9rZW5SZXdhcmRBdmFpbCA9PT0gMAoJZnJhbWVfZGlnIDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglieiAqaWYyN19lbmQKCgkvLyAqaWYyN19jb25zZXF1ZW50CgkvLyAqaWYyOF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NDAKCS8vIGFsZ29SZXdhcmRBdmFpbCA8IDFfMDAwXzAwMAoJZnJhbWVfZGlnIDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CglpbnRjIDEyIC8vIDFfMDAwXzAwMAoJPAoJYnogKmlmMjhfZW5kCgoJLy8gKmlmMjhfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY0MQoJLy8gbG9nKCchdG9rZW4mJiFub2FsZ28gdG8gcGF5JykKCXB1c2hieXRlcyAweDIxNzQ2ZjZiNjU2ZTI2MjYyMTZlNmY2MTZjNjc2ZjIwNzQ2ZjIwNzA2MTc5IC8vICIhdG9rZW4mJiFub2FsZ28gdG8gcGF5IgoJbG9nCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY0MgoJLy8gcmV0dXJuOwoJcmV0c3ViCgoqaWYyOF9lbmQ6CgoqaWYyN19lbmQ6CgkvLyAqaWYyOV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NDYKCS8vIGlzUG9vbFNhdHVyYXRlZAoJZnJhbWVfZGlnIDEyIC8vIGlzUG9vbFNhdHVyYXRlZDogYm9vbAoJYnogKmlmMjlfZWxzZWlmMV9jb25kaXRpb24KCgkvLyAqaWYyOV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjQ5CgkvLyBkaW1pbmlzaGVkUmV3YXJkID0gd2lkZVJhdGlvKFthbGdvUmV3YXJkQXZhaWwsIGFsZ29TYXR1cmF0aW9uQW10XSwgW3ZhbGlkYXRvclN0YXRlLnRvdGFsQWxnb1N0YWtlZF0pCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWZyYW1lX2RpZyAxMyAvLyBhbGdvU2F0dXJhdGlvbkFtdDogdWludDY0CgltdWx3CglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIDkgLy8gdmFsaWRhdG9yU3RhdGU6ICh1aW50MTYsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDEwIDgKCWJ0b2kKCWRpdm1vZHcKCXBvcAoJcG9wCglzd2FwCgkhCgoJLy8gd2lkZVJhdGlvIGZhaWxlZAoJYXNzZXJ0CglmcmFtZV9idXJ5IDIwIC8vIGRpbWluaXNoZWRSZXdhcmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NTEKCS8vIGV4Y2Vzc1RvRmVlU2luayA9IGFsZ29SZXdhcmRBdmFpbCAtIGRpbWluaXNoZWRSZXdhcmQKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJZnJhbWVfZGlnIDIwIC8vIGRpbWluaXNoZWRSZXdhcmQ6IHVpbnQ2NAoJLQoJZnJhbWVfYnVyeSAxNyAvLyBleGNlc3NUb0ZlZVNpbms6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NTIKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgICAgYW1vdW50OiBleGNlc3NUb0ZlZVNpbmssCgkvLyAgICAgICAgIHJlY2VpdmVyOiB0aGlzLmdldEZlZVNpbmsoKSwKCS8vICAgICAgICAgbm90ZTogJ3Bvb2wgc2F0dXJhdGVkLCBleGNlc3MgdG8gZmVlIHNpbmsnLAoJLy8gICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMSAvLyAgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY1MwoJLy8gYW1vdW50OiBleGNlc3NUb0ZlZVNpbmsKCWZyYW1lX2RpZyAxNyAvLyBleGNlc3NUb0ZlZVNpbms6IHVpbnQ2NAoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjU0CgkvLyByZWNlaXZlcjogdGhpcy5nZXRGZWVTaW5rKCkKCWNhbGxzdWIgZ2V0RmVlU2luawoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NTUKCS8vIG5vdGU6ICdwb29sIHNhdHVyYXRlZCwgZXhjZXNzIHRvIGZlZSBzaW5rJwoJcHVzaGJ5dGVzIDB4NzA2ZjZmNmMyMDczNjE3NDc1NzI2MTc0NjU2NDJjMjA2NTc4NjM2NTczNzMyMDc0NmYyMDY2NjU2NTIwNzM2OTZlNmIgLy8gInBvb2wgc2F0dXJhdGVkLCBleGNlc3MgdG8gZmVlIHNpbmsiCglpdHhuX2ZpZWxkIE5vdGUKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY1OAoJLy8gYWxnb1Jld2FyZEF2YWlsID0gZGltaW5pc2hlZFJld2FyZAoJZnJhbWVfZGlnIDIwIC8vIGRpbWluaXNoZWRSZXdhcmQ6IHVpbnQ2NAoJZnJhbWVfYnVyeSAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJYiAqaWYyOV9lbmQKCippZjI5X2Vsc2VpZjFfY29uZGl0aW9uOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY1OQoJLy8gdmFsaWRhdG9yQ29uZmlnLnBlcmNlbnRUb1ZhbGlkYXRvciAhPT0gMAoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTczIDQKCWJ0b2kKCWludGMgMCAvLyAwCgkhPQoJYnogKmlmMjlfZW5kCgoJLy8gKmlmMjlfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjYyCgkvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCA9IHdpZGVSYXRpbygKCS8vICAgICAgICAgW2FsZ29SZXdhcmRBdmFpbCwgdmFsaWRhdG9yQ29uZmlnLnBlcmNlbnRUb1ZhbGlkYXRvciBhcyB1aW50NjRdLAoJLy8gICAgICAgICBbMV8wMDBfMDAwXQoJLy8gICAgICAgKQoJZnJhbWVfZGlnIDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxNzMgNAoJYnRvaQoJbXVsdwoJaW50YyAwIC8vIDAKCWludGMgMTIgLy8gMV8wMDBfMDAwCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJZnJhbWVfYnVyeSAxNiAvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY2OAoJLy8gYWxnb1Jld2FyZEF2YWlsIC09IHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0CglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWZyYW1lX2RpZyAxNiAvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dDogdWludDY0CgktCglmcmFtZV9idXJ5IDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CgoJLy8gKmlmMzBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Njc1CgkvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCA+IDAKCWZyYW1lX2RpZyAxNiAvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dDogdWludDY0CglpbnRjIDAgLy8gMAoJPgoJYnogKmlmMzBfZW5kCgoJLy8gKmlmMzBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY3OAoJLy8gbWFuYWdlclRvcE9mZiA9IDAKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDIxIC8vIG1hbmFnZXJUb3BPZmY6IHVpbnQ2NAoKCS8vICppZjMxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY4MAoJLy8gdmFsaWRhdG9yQ29uZmlnLm1hbmFnZXIgIT09IHZhbGlkYXRvckNvbmZpZy52YWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyAmJgoJLy8gICAgICAgICAgIHZhbGlkYXRvckNvbmZpZy5tYW5hZ2VyLmJhbGFuY2UgLSB2YWxpZGF0b3JDb25maWcubWFuYWdlci5taW5CYWxhbmNlIDwgMl8xMDBfMDAwCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0MCAzMgoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTc3IDMyCgkhPQoJZHVwCglieiAqc2tpcF9hbmQzCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0MCAzMgoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQwIDMyCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJLQoJaW50YyAxMyAvLyAyXzEwMF8wMDAKCTwKCSYmCgoqc2tpcF9hbmQzOgoJYnogKmlmMzFfZW5kCgoJLy8gKmlmMzFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY4MwoJLy8gbWFuYWdlclRvcE9mZiA9IHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0IDwgMl8xMDBfMDAwID8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQgOiAyXzEwMF8wMDAKCWZyYW1lX2RpZyAxNiAvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dDogdWludDY0CglpbnRjIDEzIC8vIDJfMTAwXzAwMAoJPAoJYnogKnRlcm5hcnkxX2ZhbHNlCglmcmFtZV9kaWcgMTYgLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQ6IHVpbnQ2NAoJYiAqdGVybmFyeTFfZW5kCgoqdGVybmFyeTFfZmFsc2U6CglpbnRjIDEzIC8vIDJfMTAwXzAwMAoKKnRlcm5hcnkxX2VuZDoKCWZyYW1lX2J1cnkgMjEgLy8gbWFuYWdlclRvcE9mZjogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY4NAoJLy8gc2VuZFBheW1lbnQoewoJLy8gICAgICAgICAgICAgYW1vdW50OiBtYW5hZ2VyVG9wT2ZmLAoJLy8gICAgICAgICAgICAgcmVjZWl2ZXI6IHZhbGlkYXRvckNvbmZpZy5tYW5hZ2VyLAoJLy8gICAgICAgICAgICAgbm90ZTogJ3ZhbGlkYXRvciByZXdhcmQgdG8gbWFuYWdlciBmb3IgZnVuZGluZyBlcG9jaCB1cGRhdGVzJywKCS8vICAgICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Njg1CgkvLyBhbW91bnQ6IG1hbmFnZXJUb3BPZmYKCWZyYW1lX2RpZyAyMSAvLyBtYW5hZ2VyVG9wT2ZmOiB1aW50NjQKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY4NgoJLy8gcmVjZWl2ZXI6IHZhbGlkYXRvckNvbmZpZy5tYW5hZ2VyCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0MCAzMgoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2ODcKCS8vIG5vdGU6ICd2YWxpZGF0b3IgcmV3YXJkIHRvIG1hbmFnZXIgZm9yIGZ1bmRpbmcgZXBvY2ggdXBkYXRlcycKCXB1c2hieXRlcyAweDc2NjE2YzY5NjQ2MTc0NmY3MjIwNzI2NTc3NjE3MjY0MjA3NDZmMjA2ZDYxNmU2MTY3NjU3MjIwNjY2ZjcyMjA2Njc1NmU2NDY5NmU2NzIwNjU3MDZmNjM2ODIwNzU3MDY0NjE3NDY1NzMgLy8gInZhbGlkYXRvciByZXdhcmQgdG8gbWFuYWdlciBmb3IgZnVuZGluZyBlcG9jaCB1cGRhdGVzIgoJaXR4bl9maWVsZCBOb3RlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMzFfZW5kOgoJLy8gKmlmMzJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjkwCgkvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCAtIG1hbmFnZXJUb3BPZmYgPiAwCglmcmFtZV9kaWcgMTYgLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDIxIC8vIG1hbmFnZXJUb3BPZmY6IHVpbnQ2NAoJLQoJaW50YyAwIC8vIDAKCT4KCWJ6ICppZjMyX2VuZAoKCS8vICppZjMyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2OTEKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgICAgICAgIGFtb3VudDogdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQgLSBtYW5hZ2VyVG9wT2ZmLAoJLy8gICAgICAgICAgICAgcmVjZWl2ZXI6IHZhbGlkYXRvckNvbmZpZy52YWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcywKCS8vICAgICAgICAgICAgIG5vdGU6ICd2YWxpZGF0b3IgcmV3YXJkJywKCS8vICAgICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjkyCgkvLyBhbW91bnQ6IHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0IC0gbWFuYWdlclRvcE9mZgoJZnJhbWVfZGlnIDE2IC8vIHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0OiB1aW50NjQKCWZyYW1lX2RpZyAyMSAvLyBtYW5hZ2VyVG9wT2ZmOiB1aW50NjQKCS0KCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY5MwoJLy8gcmVjZWl2ZXI6IHZhbGlkYXRvckNvbmZpZy52YWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcwoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTc3IDMyCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY5NAoJLy8gbm90ZTogJ3ZhbGlkYXRvciByZXdhcmQnCglwdXNoYnl0ZXMgMHg3NjYxNmM2OTY0NjE3NDZmNzIyMDcyNjU3NzYxNzI2NCAvLyAidmFsaWRhdG9yIHJld2FyZCIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCippZjMyX2VuZDoKCippZjMwX2VuZDoKCippZjI5X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MDYKCS8vIGluY3JlYXNlZFN0YWtlID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoKCS8vICppZjMzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczMAoJLy8gYWxnb1Jld2FyZEF2YWlsICE9PSAwIHx8IHRva2VuUmV3YXJkQXZhaWwgIT09IDAKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCSE9CglkdXAKCWJueiAqc2tpcF9vcjEKCWZyYW1lX2RpZyAxNCAvLyB0b2tlblJld2FyZEF2YWlsOiB1aW50NjQKCWludGMgMCAvLyAwCgkhPQoJfHwKCipza2lwX29yMToKCWJ6ICppZjMzX2VuZAoKCS8vICppZjMzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzEKCS8vIHBhcnRpYWxTdGFrZXJzVG90YWxTdGFrZTogdWludDY0ID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMjMgLy8gcGFydGlhbFN0YWtlcnNUb3RhbFN0YWtlOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzMyCgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGg7IGkgKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDI0IC8vIGk6IHVpbnQ2NAoKKmZvcl80OgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczMgoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAyNCAvLyBpOiB1aW50NjQKCWludGMgNyAvLyAyMDAKCTwKCWJ6ICpmb3JfNF9lbmQKCgkvLyAqaWYzNF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzMKCS8vIGdsb2JhbHMub3Bjb2RlQnVkZ2V0IDwgNDAwCglnbG9iYWwgT3Bjb2RlQnVkZ2V0CglpbnRjIDE2IC8vIDQwMAoJPAoJYnogKmlmMzRfZW5kCgoJLy8gKmlmMzRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczNAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGVjIDUgLy8gICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludGMgOCAvLyAgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMzRfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczNgoJLy8gY21wU3Rha2VyID0gY2xvbmUodGhpcy5zdGFrZXJzLnZhbHVlW2ldKQoJZnJhbWVfZGlnIDI0IC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMyAvLyA2NAoJYnl0ZWMgMiAvLyAgInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyAqaWYzNV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzcKCS8vIGNtcFN0YWtlci5hY2NvdW50ICE9PSBnbG9iYWxzLnplcm9BZGRyZXNzCglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDAgMzIKCWdsb2JhbCBaZXJvQWRkcmVzcwoJIT0KCWJ6ICppZjM1X2VuZAoKCS8vICppZjM1X2NvbnNlcXVlbnQKCS8vICppZjM2X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczOAoJLy8gY21wU3Rha2VyLmVudHJ5Um91bmQgPj0gdGhpc0Vwb2NoQmVnaW4KCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgNTYgOAoJYnRvaQoJZnJhbWVfZGlnIDMgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJPj0KCWJ6ICppZjM2X2Vsc2UKCgkvLyAqaWYzNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzQxCgkvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2UgKz0gY21wU3Rha2VyLmJhbGFuY2UKCWZyYW1lX2RpZyAyMyAvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2U6IHVpbnQ2NAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCgkrCglmcmFtZV9idXJ5IDIzIC8vIHBhcnRpYWxTdGFrZXJzVG90YWxTdGFrZTogdWludDY0CgliICppZjM2X2VuZAoKKmlmMzZfZWxzZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NDUKCS8vIHRpbWVJblBvb2wgPSB0aGlzRXBvY2hCZWdpbiAtIGNtcFN0YWtlci5lbnRyeVJvdW5kCglmcmFtZV9kaWcgMyAvLyB0aGlzRXBvY2hCZWdpbjogdWludDY0CglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDU2IDgKCWJ0b2kKCS0KCWZyYW1lX2J1cnkgMjYgLy8gdGltZUluUG9vbDogdWludDY0CgoJLy8gKmlmMzdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzQ5CgkvLyB0aW1lSW5Qb29sIDwgZXBvY2hSb3VuZExlbmd0aAoJZnJhbWVfZGlnIDI2IC8vIHRpbWVJblBvb2w6IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0Cgk8CglieiAqaWYzN19lbmQKCgkvLyAqaWYzN19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzUwCgkvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2UgKz0gY21wU3Rha2VyLmJhbGFuY2UKCWZyYW1lX2RpZyAyMyAvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2U6IHVpbnQ2NAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCgkrCglmcmFtZV9idXJ5IDIzIC8vIHBhcnRpYWxTdGFrZXJzVG90YWxTdGFrZTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc1MQoJLy8gdGltZVBlcmNlbnRhZ2UgPSAodGltZUluUG9vbCAqIDEwMDApIC8gZXBvY2hSb3VuZExlbmd0aAoJZnJhbWVfZGlnIDI2IC8vIHRpbWVJblBvb2w6IHVpbnQ2NAoJaW50YyAxMCAvLyAxMDAwCgkqCglmcmFtZV9kaWcgMSAvLyBlcG9jaFJvdW5kTGVuZ3RoOiB1aW50NjQKCS8KCWZyYW1lX2J1cnkgMjcgLy8gdGltZVBlcmNlbnRhZ2U6IHVpbnQ2NAoKCS8vICppZjM4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc1MwoJLy8gdG9rZW5SZXdhcmRBdmFpbCA+IDAKCWZyYW1lX2RpZyAxNCAvLyB0b2tlblJld2FyZEF2YWlsOiB1aW50NjQKCWludGMgMCAvLyAwCgk+CglieiAqaWYzOF9lbmQKCgkvLyAqaWYzOF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzU1CgkvLyBzdGFrZXJUb2tlblJld2FyZCA9IHdpZGVSYXRpbygKCS8vICAgICAgICAgICAgICAgICAgIFtjbXBTdGFrZXIuYmFsYW5jZSwgdG9rZW5SZXdhcmRBdmFpbCwgdGltZVBlcmNlbnRhZ2VdLAoJLy8gICAgICAgICAgICAgICAgICAgW3RoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlLCAxMDAwXQoJLy8gICAgICAgICAgICAgICAgICkKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoJbXVsdwoJZnJhbWVfZGlnIDI3IC8vIHRpbWVQZXJjZW50YWdlOiB1aW50NjQKCXVuY292ZXIgMgoJZGlnIDEKCSoKCWNvdmVyIDIKCW11bHcKCWNvdmVyIDIKCSsKCXN3YXAKCWJ5dGVjIDYgLy8gICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxMCAvLyAxMDAwCgltdWx3CglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJZnJhbWVfYnVyeSAyOCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc2MgoJLy8gdG9rZW5SZXdhcmRBdmFpbCAtPSBzdGFrZXJUb2tlblJld2FyZAoJZnJhbWVfZGlnIDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoJZnJhbWVfZGlnIDI4IC8vIHN0YWtlclRva2VuUmV3YXJkOiB1aW50NjQKCS0KCWZyYW1lX2J1cnkgMTQgLy8gdG9rZW5SZXdhcmRBdmFpbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc2MwoJLy8gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZSArPSBzdGFrZXJUb2tlblJld2FyZAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50YyAxOSAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglmcmFtZV9kaWcgMjggLy8gc3Rha2VyVG9rZW5SZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc2NAoJLy8gdG9rZW5SZXdhcmRQYWlkT3V0ICs9IHN0YWtlclRva2VuUmV3YXJkCglmcmFtZV9kaWcgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCWZyYW1lX2RpZyAyOCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgkrCglmcmFtZV9idXJ5IDE1IC8vIHRva2VuUmV3YXJkUGFpZE91dDogdWludDY0CgoqaWYzOF9lbmQ6CgkvLyAqaWYzOV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NjYKCS8vIGFsZ29SZXdhcmRBdmFpbCA+IDAKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT4KCWJ6ICppZjM5X2VuZAoKCS8vICppZjM5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NjgKCS8vIHN0YWtlclJld2FyZCA9IHdpZGVSYXRpbygKCS8vICAgICAgICAgICAgICAgICAgIFtjbXBTdGFrZXIuYmFsYW5jZSwgYWxnb1Jld2FyZEF2YWlsLCB0aW1lUGVyY2VudGFnZV0sCgkvLyAgICAgICAgICAgICAgICAgICBbdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUsIDEwMDBdCgkvLyAgICAgICAgICAgICAgICAgKQoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCW11bHcKCWZyYW1lX2RpZyAyNyAvLyB0aW1lUGVyY2VudGFnZTogdWludDY0Cgl1bmNvdmVyIDIKCWRpZyAxCgkqCgljb3ZlciAyCgltdWx3Cgljb3ZlciAyCgkrCglzd2FwCglieXRlYyA2IC8vICAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMTAgLy8gMTAwMAoJbXVsdwoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMjkgLy8gc3Rha2VyUmV3YXJkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzc1CgkvLyBhbGdvUmV3YXJkQXZhaWwgLT0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWZyYW1lX2RpZyAyOSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJLQoJZnJhbWVfYnVyeSAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NzgKCS8vIGNtcFN0YWtlci5iYWxhbmNlICs9IHN0YWtlclJld2FyZAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50YyA0IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWZyYW1lX2RpZyAyOSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc3OQoJLy8gY21wU3Rha2VyLnRvdGFsUmV3YXJkZWQgKz0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglpbnRjIDE4IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQwIDgKCWJ0b2kKCWZyYW1lX2RpZyAyOSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc4MAoJLy8gaW5jcmVhc2VkU3Rha2UgKz0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoJZnJhbWVfZGlnIDI5IC8vIHN0YWtlclJld2FyZDogdWludDY0CgkrCglmcmFtZV9idXJ5IDIyIC8vIGluY3JlYXNlZFN0YWtlOiB1aW50NjQKCippZjM5X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3ODMKCS8vIHRoaXMuc3Rha2Vycy52YWx1ZVtpXSA9IGNtcFN0YWtlcgoJZnJhbWVfZGlnIDI0IC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCippZjM3X2VuZDoKCippZjM2X2VuZDoKCippZjM1X2VuZDoKCipmb3JfNF9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzIKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDI0IC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMjQgLy8gaTogdWludDY0CgliICpmb3JfNAoKKmZvcl80X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTEKCS8vIG5ld1Bvb2xUb3RhbFN0YWtlID0gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgLSBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2UKCWJ5dGVjIDYgLy8gICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDIzIC8vIHBhcnRpYWxTdGFrZXJzVG90YWxTdGFrZTogdWludDY0CgktCglmcmFtZV9idXJ5IDMwIC8vIG5ld1Bvb2xUb3RhbFN0YWtlOiB1aW50NjQKCgkvLyAqaWY0MF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTUKCS8vIG5ld1Bvb2xUb3RhbFN0YWtlID4gMAoJZnJhbWVfZGlnIDMwIC8vIG5ld1Bvb2xUb3RhbFN0YWtlOiB1aW50NjQKCWludGMgMCAvLyAwCgk+CglieiAqaWY0MF9lbmQKCgkvLyAqaWY0MF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzk3CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGg7IGkgKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDMxIC8vIGk6IHVpbnQ2NAoKKmZvcl81OgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc5NwoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAzMSAvLyBpOiB1aW50NjQKCWludGMgNyAvLyAyMDAKCTwKCWJ6ICpmb3JfNV9lbmQKCgkvLyAqaWY0MV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTgKCS8vIGdsb2JhbHMub3Bjb2RlQnVkZ2V0IDwgMjAwCglnbG9iYWwgT3Bjb2RlQnVkZ2V0CglpbnRjIDcgLy8gMjAwCgk8CglieiAqaWY0MV9lbmQKCgkvLyAqaWY0MV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzk5CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZWMgNSAvLyAgI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50YyA4IC8vICBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoqaWY0MV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODAxCgkvLyBjbXBTdGFrZXIgPSBjbG9uZSh0aGlzLnN0YWtlcnMudmFsdWVbaV0pCglmcmFtZV9kaWcgMzEgLy8gaTogdWludDY0CglpbnRjIDMgLy8gNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAzIC8vIDY0CglieXRlYyAyIC8vICAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vICppZjQyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgwMgoJLy8gY21wU3Rha2VyLmFjY291bnQgIT09IGdsb2JhbHMuemVyb0FkZHJlc3MgJiYgY21wU3Rha2VyLmVudHJ5Um91bmQgPCB0aGlzRXBvY2hCZWdpbgoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAwIDMyCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9CglkdXAKCWJ6ICpza2lwX2FuZDQKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgNTYgOAoJYnRvaQoJZnJhbWVfZGlnIDMgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJPAoJJiYKCipza2lwX2FuZDQ6CglieiAqaWY0Ml9lbmQKCgkvLyAqaWY0Ml9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODAzCgkvLyB0aW1lSW5Qb29sID0gdGhpc0Vwb2NoQmVnaW4gLSBjbXBTdGFrZXIuZW50cnlSb3VuZAoJZnJhbWVfZGlnIDMgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA1NiA4CglidG9pCgktCglmcmFtZV9idXJ5IDMzIC8vIHRpbWVJblBvb2w6IHVpbnQ2NAoKCS8vICppZjQzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgwNQoJLy8gdGltZUluUG9vbCA+PSBlcG9jaFJvdW5kTGVuZ3RoCglmcmFtZV9kaWcgMzMgLy8gdGltZUluUG9vbDogdWludDY0CglmcmFtZV9kaWcgMSAvLyBlcG9jaFJvdW5kTGVuZ3RoOiB1aW50NjQKCT49CglieiAqaWY0M19lbmQKCgkvLyAqaWY0M19jb25zZXF1ZW50CgkvLyAqaWY0NF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MTAKCS8vIHRva2VuUmV3YXJkQXZhaWwgPiAwCglmcmFtZV9kaWcgMTQgLy8gdG9rZW5SZXdhcmRBdmFpbDogdWludDY0CglpbnRjIDAgLy8gMAoJPgoJYnogKmlmNDRfZW5kCgoJLy8gKmlmNDRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgxMQoJLy8gc3Rha2VyVG9rZW5SZXdhcmQgPSB3aWRlUmF0aW8oW2NtcFN0YWtlci5iYWxhbmNlLCB0b2tlblJld2FyZEF2YWlsXSwgW25ld1Bvb2xUb3RhbFN0YWtlXSkKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoJbXVsdwoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyAzMCAvLyBuZXdQb29sVG90YWxTdGFrZTogdWludDY0CglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJZnJhbWVfYnVyeSAzNCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgxNAoJLy8gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZSArPSBzdGFrZXJUb2tlblJld2FyZAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50YyAxOSAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglmcmFtZV9kaWcgMzQgLy8gc3Rha2VyVG9rZW5SZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgxNQoJLy8gdG9rZW5SZXdhcmRQYWlkT3V0ICs9IHN0YWtlclRva2VuUmV3YXJkCglmcmFtZV9kaWcgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCWZyYW1lX2RpZyAzNCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgkrCglmcmFtZV9idXJ5IDE1IC8vIHRva2VuUmV3YXJkUGFpZE91dDogdWludDY0CgoqaWY0NF9lbmQ6CgkvLyAqaWY0NV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MTcKCS8vIGFsZ29SZXdhcmRBdmFpbCA+IDAKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT4KCWJ6ICppZjQ1X2VuZAoKCS8vICppZjQ1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MTgKCS8vIHN0YWtlclJld2FyZCA9IHdpZGVSYXRpbyhbY21wU3Rha2VyLmJhbGFuY2UsIGFsZ29SZXdhcmRBdmFpbF0sIFtuZXdQb29sVG90YWxTdGFrZV0pCglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJbXVsdwoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyAzMCAvLyBuZXdQb29sVG90YWxTdGFrZTogdWludDY0CglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJZnJhbWVfYnVyeSAzNSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MjEKCS8vIGNtcFN0YWtlci5iYWxhbmNlICs9IHN0YWtlclJld2FyZAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50YyA0IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWZyYW1lX2RpZyAzNSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgyMgoJLy8gY21wU3Rha2VyLnRvdGFsUmV3YXJkZWQgKz0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglpbnRjIDE4IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQwIDgKCWJ0b2kKCWZyYW1lX2RpZyAzNSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgyMwoJLy8gaW5jcmVhc2VkU3Rha2UgKz0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoJZnJhbWVfZGlnIDM1IC8vIHN0YWtlclJld2FyZDogdWludDY0CgkrCglmcmFtZV9idXJ5IDIyIC8vIGluY3JlYXNlZFN0YWtlOiB1aW50NjQKCippZjQ1X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MjcKCS8vIHRoaXMuc3Rha2Vycy52YWx1ZVtpXSA9IGNtcFN0YWtlcgoJZnJhbWVfZGlnIDMxIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCippZjQzX2VuZDoKCippZjQyX2VuZDoKCipmb3JfNV9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTcKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDMxIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMzEgLy8gaTogdWludDY0CgliICpmb3JfNQoKKmZvcl81X2VuZDoKCippZjQwX2VuZDoKCippZjMzX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MzcKCS8vIHJvdW5kc0xlZnRJbkJpbiA9IHRoaXMuYmluUm91bmRTdGFydC52YWx1ZSArIHRoaXMucm91bmRzUGVyRGF5LnZhbHVlIC0gZ2xvYmFscy5yb3VuZAoJYnl0ZWMgMTEgLy8gICJiaW5Sb3VuZFN0YXJ0IgoJYXBwX2dsb2JhbF9nZXQKCWJ5dGVjIDEwIC8vICAicm91bmRzUGVyRGF5IgoJYXBwX2dsb2JhbF9nZXQKCSsKCWdsb2JhbCBSb3VuZAoJLQoJZnJhbWVfYnVyeSAzNiAvLyByb3VuZHNMZWZ0SW5CaW46IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MzgKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlICs9IGluY3JlYXNlZFN0YWtlCglieXRlYyA2IC8vICAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAyMiAvLyBpbmNyZWFzZWRTdGFrZTogdWludDY0CgkrCglieXRlYyA2IC8vICAic3Rha2VkIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODM5CgkvLyB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgPQoJLy8gICAgICAgdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlICsgKGluY3JlYXNlZFN0YWtlIGFzIHVpbnQxMjgpICogKHJvdW5kc0xlZnRJbkJpbiBhcyB1aW50MTI4KQoJYnl0ZWMgNyAvLyAgInN0YWtlQWNjdW11bGF0b3IiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIDM2IC8vIHJvdW5kc0xlZnRJbkJpbjogdWludDY0CglpdG9iCgliKgoJYisKCWR1cAoJYml0bGVuCglpbnRjIDYgLy8gMTI4Cgk8PQoKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSArIChpbmNyZWFzZWRTdGFrZSBhcyB1aW50MTI4KSAqIChyb3VuZHNMZWZ0SW5CaW4gYXMgdWludDEyOCkgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlYyA4IC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDUgLy8gMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjg0MQoJLy8gdGhpcy5yZXdhcmRBY2N1bXVsYXRvci52YWx1ZSA9IHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgKyBpbmNyZWFzZWRTdGFrZQoJYnl0ZWMgMTIgLy8gICJyZXdhcmRBY2N1bXVsYXRvciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAyMiAvLyBpbmNyZWFzZWRTdGFrZTogdWludDY0CgkrCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4NDcKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuc3Rha2VVcGRhdGVkVmlhUmV3YXJkcz4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgIHsgaWQ6IHRoaXMudmFsaWRhdG9ySWQudmFsdWUsIHBvb2xJZDogdGhpcy5wb29sSWQudmFsdWUsIHBvb2xBcHBJZDogdGhpcy5hcHAuaWQgfSwKCS8vICAgICAgICAgaW5jcmVhc2VkU3Rha2UsCgkvLyAgICAgICAgIHRva2VuUmV3YXJkUGFpZE91dCwKCS8vICAgICAgICAgdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQsCgkvLyAgICAgICAgIGV4Y2Vzc1RvRmVlU2luaywKCS8vICAgICAgIF0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJcHVzaGJ5dGVzIDB4NDE4ZmNlZmMgLy8gbWV0aG9kICJzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzKCh1aW50NjQsdWludDY0LHVpbnQ2NCksdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4NDgKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODQ5CgkvLyBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgIHsgaWQ6IHRoaXMudmFsaWRhdG9ySWQudmFsdWUsIHBvb2xJZDogdGhpcy5wb29sSWQudmFsdWUsIHBvb2xBcHBJZDogdGhpcy5hcHAuaWQgfSwKCS8vICAgICAgICAgaW5jcmVhc2VkU3Rha2UsCgkvLyAgICAgICAgIHRva2VuUmV3YXJkUGFpZE91dCwKCS8vICAgICAgICAgdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQsCgkvLyAgICAgICAgIGV4Y2Vzc1RvRmVlU2luaywKCS8vICAgICAgIF0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglieXRlYyA0IC8vICAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWNvbmNhdAoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJaXRvYgoJY29uY2F0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDIyIC8vIGluY3JlYXNlZFN0YWtlOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMTYgLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAxNyAvLyBleGNlc3NUb0ZlZVNpbms6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIGdvT25saW5lKHBheSxieXRlW10sYnl0ZVtdLGJ5dGVbXSx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfZ29PbmxpbmU6CgkvLyB2b3RlS2V5RGlsdXRpb246IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNgoJYnRvaQoKCS8vIHZvdGVMYXN0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDUKCWJ0b2kKCgkvLyB2b3RlRmlyc3Q6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJYnRvaQoKCS8vIHN0YXRlUHJvb2ZQSzogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglleHRyYWN0IDIgMAoKCS8vIHNlbGVjdGlvblBLOiBieXRlW10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWV4dHJhY3QgMiAwCgoJLy8gdm90ZVBLOiBieXRlW10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZmVlUGF5bWVudDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50YyAxIC8vIDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMSAvLyAgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDYgKGZlZVBheW1lbnQpIGZvciBnb09ubGluZSBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGdvT25saW5lKHBheSxieXRlW10sYnl0ZVtdLGJ5dGVbXSx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGdvT25saW5lCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnb09ubGluZShmZWVQYXltZW50OiBQYXlUeG4sIHZvdGVQSzogYnl0ZXMsIHNlbGVjdGlvblBLOiBieXRlcywgc3RhdGVQcm9vZlBLOiBieXRlcywgdm90ZUZpcnN0OiB1aW50NjQsIHZvdGVMYXN0OiB1aW50NjQsIHZvdGVLZXlEaWx1dGlvbjogdWludDY0KTogdm9pZAovLwovLyBSZWdpc3RlcnMgYSBzdGFraW5nIHBvb2wga2V5IG9ubGluZSBhZ2FpbnN0IGEgcGFydGljaXBhdGlvbiBrZXkuCi8vIFsgT05MWSBPV05FUiBPUiBNQU5BR0VSIENBTiBDQUxMIF0KLy8KLy8gQHBhcmFtIHtQYXlUeG59IGZlZVBheW1lbnQgLSBwYXltZW50IHRvIGNvdmVyIGV4dHJhIGZlZSBvZiBnb2luZyBvbmxpbmUgaWYgb2ZmbGluZSAtIG9yIDAgaWYgbm90IHJlbmV3YWwKLy8gQHBhcmFtIHtieXRlc30gdm90ZVBLIC0gVGhlIHZvdGUgcHVibGljIGtleS4KLy8gQHBhcmFtIHtieXRlc30gc2VsZWN0aW9uUEsgLSBUaGUgc2VsZWN0aW9uIHB1YmxpYyBrZXkuCi8vIEBwYXJhbSB7Ynl0ZXN9IHN0YXRlUHJvb2ZQSyAtIFRoZSBzdGF0ZSBwcm9vZiBwdWJsaWMga2V5LgovLyBAcGFyYW0ge3VpbnQ2NH0gdm90ZUZpcnN0IC0gVGhlIGZpcnN0IHZvdGUgaW5kZXguCi8vIEBwYXJhbSB7dWludDY0fSB2b3RlTGFzdCAtIFRoZSBsYXN0IHZvdGUgaW5kZXguCi8vIEBwYXJhbSB7dWludDY0fSB2b3RlS2V5RGlsdXRpb24gLSBUaGUgdm90ZSBrZXkgZGlsdXRpb24gdmFsdWUuCi8vIEB0aHJvd3Mge0Vycm9yfSBXaWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBjYWxsZXIgaXMgbm90IHRoZSBvd25lciBvciBhIG1hbmFnZXIuCmdvT25saW5lOgoJcHJvdG8gNyAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODgxCgkvLyBhc3NlcnQodGhpcy5pc093bmVyT3JNYW5hZ2VyQ2FsbGVyKCksICdjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3InKQoJY2FsbHN1YiBpc093bmVyT3JNYW5hZ2VyQ2FsbGVyCgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODgyCgkvLyBleHRyYUZlZSA9IHRoaXMuZ2V0R29PbmxpbmVGZWUoKQoJY2FsbHN1YiBnZXRHb09ubGluZUZlZQoJZnJhbWVfYnVyeSAwIC8vIGV4dHJhRmVlOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODgzCgkvLyB2ZXJpZnlQYXlUeG4oZmVlUGF5bWVudCwgeyByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywgYW1vdW50OiBleHRyYUZlZSB9KQoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gZmVlUGF5bWVudDogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJmZWVQYXltZW50IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTEgLy8gZmVlUGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWZyYW1lX2RpZyAwIC8vIGV4dHJhRmVlOiB1aW50NjQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJmZWVQYXltZW50IiwiZmllbGQiOiJhbW91bnQiLCJleHBlY3RlZCI6ImV4dHJhRmVlIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4ODQKCS8vIHNlbmRPbmxpbmVLZXlSZWdpc3RyYXRpb24oewoJLy8gICAgICAgdm90ZVBLOiB2b3RlUEssCgkvLyAgICAgICBzZWxlY3Rpb25QSzogc2VsZWN0aW9uUEssCgkvLyAgICAgICBzdGF0ZVByb29mUEs6IHN0YXRlUHJvb2ZQSywKCS8vICAgICAgIHZvdGVGaXJzdDogdm90ZUZpcnN0LAoJLy8gICAgICAgdm90ZUxhc3Q6IHZvdGVMYXN0LAoJLy8gICAgICAgdm90ZUtleURpbHV0aW9uOiB2b3RlS2V5RGlsdXRpb24sCgkvLyAgICAgICBmZWU6IHRoaXMuZ2V0R29PbmxpbmVGZWUoKSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxNyAvLyAga2V5cmVnCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjg4NQoJLy8gdm90ZVBLOiB2b3RlUEsKCWZyYW1lX2RpZyAtMiAvLyB2b3RlUEs6IGJ5dGVzCglpdHhuX2ZpZWxkIFZvdGVQSwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4ODYKCS8vIHNlbGVjdGlvblBLOiBzZWxlY3Rpb25QSwoJZnJhbWVfZGlnIC0zIC8vIHNlbGVjdGlvblBLOiBieXRlcwoJaXR4bl9maWVsZCBTZWxlY3Rpb25QSwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4ODcKCS8vIHN0YXRlUHJvb2ZQSzogc3RhdGVQcm9vZlBLCglmcmFtZV9kaWcgLTQgLy8gc3RhdGVQcm9vZlBLOiBieXRlcwoJaXR4bl9maWVsZCBTdGF0ZVByb29mUEsKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODg4CgkvLyB2b3RlRmlyc3Q6IHZvdGVGaXJzdAoJZnJhbWVfZGlnIC01IC8vIHZvdGVGaXJzdDogdWludDY0CglpdHhuX2ZpZWxkIFZvdGVGaXJzdAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4ODkKCS8vIHZvdGVMYXN0OiB2b3RlTGFzdAoJZnJhbWVfZGlnIC02IC8vIHZvdGVMYXN0OiB1aW50NjQKCWl0eG5fZmllbGQgVm90ZUxhc3QKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODkwCgkvLyB2b3RlS2V5RGlsdXRpb246IHZvdGVLZXlEaWx1dGlvbgoJZnJhbWVfZGlnIC03IC8vIHZvdGVLZXlEaWx1dGlvbjogdWludDY0CglpdHhuX2ZpZWxkIFZvdGVLZXlEaWx1dGlvbgoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4OTEKCS8vIGZlZTogdGhpcy5nZXRHb09ubGluZUZlZSgpCgljYWxsc3ViIGdldEdvT25saW5lRmVlCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gZ29PZmZsaW5lKCl2b2lkCiphYmlfcm91dGVfZ29PZmZsaW5lOgoJLy8gZXhlY3V0ZSBnb09mZmxpbmUoKXZvaWQKCWNhbGxzdWIgZ29PZmZsaW5lCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnb09mZmxpbmUoKTogdm9pZAovLwovLyBNYXJrcyBhIHN0YWtpbmcgcG9vbCBrZXkgT0ZGTElORS4KLy8gWyBPTkxZIE9XTkVSIE9SIE1BTkFHRVIgQ0FOIENBTEwgXQpnb09mZmxpbmU6Cglwcm90byAwIDAKCgkvLyAqaWY0Nl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MDMKCS8vIHRoaXMudHhuLnNlbmRlciAhPT0gQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkuYWRkcmVzcwoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCgkhPQoJYnogKmlmNDZfZW5kCgoJLy8gKmlmNDZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkwNAoJLy8gYXNzZXJ0KHRoaXMuaXNPd25lck9yTWFuYWdlckNhbGxlcigpLCAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yJykKCWNhbGxzdWIgaXNPd25lck9yTWFuYWdlckNhbGxlcgoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcgoJYXNzZXJ0CgoqaWY0Nl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTA3CgkvLyBzZW5kT2ZmbGluZUtleVJlZ2lzdHJhdGlvbih7fSkKCWl0eG5fYmVnaW4KCWludGMgMTcgLy8gIGtleXJlZwoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gbGlua1RvTkZEKHVpbnQ2NCxzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX2xpbmtUb05GRDoKCS8vIG5mZE5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZXh0cmFjdCAyIDAKCgkvLyBuZmRBcHBJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBsaW5rVG9ORkQodWludDY0LHN0cmluZyl2b2lkCgljYWxsc3ViIGxpbmtUb05GRAoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gbGlua1RvTkZEKG5mZEFwcElkOiB1aW50NjQsIG5mZE5hbWU6IHN0cmluZyk6IHZvaWQKbGlua1RvTkZEOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkxNAoJLy8gYXNzZXJ0KHRoaXMuaXNPd25lck9yTWFuYWdlckNhbGxlcigpLCAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yJykKCWNhbGxzdWIgaXNPd25lck9yTWFuYWdlckNhbGxlcgoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkxNgoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpLAoJLy8gICAgICAgYXBwbGljYXRpb25BcmdzOiBbJ3ZlcmlmeV9uZmRfYWRkcicsIG5mZE5hbWUsIGl0b2IobmZkQXBwSWQpLCByYXdCeXRlcyh0aGlzLmFwcC5hZGRyZXNzKV0sCgkvLyAgICAgICBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MTcKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5uZmRSZWdpc3RyeUFwcElkKQoJaW50YyAyMCAvLyBUTVBMX25mZFJlZ2lzdHJ5QXBwSWQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MTgKCS8vIGFwcGxpY2F0aW9uQXJnczogWyd2ZXJpZnlfbmZkX2FkZHInLCBuZmROYW1lLCBpdG9iKG5mZEFwcElkKSwgcmF3Qnl0ZXModGhpcy5hcHAuYWRkcmVzcyldCglwdXNoYnl0ZXMgMHg3NjY1NzI2OTY2Nzk1ZjZlNjY2NDVmNjE2NDY0NzIgLy8gInZlcmlmeV9uZmRfYWRkciIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgLTIgLy8gbmZkTmFtZTogc3RyaW5nCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0xIC8vIG5mZEFwcElkOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTE5CgkvLyBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKV0KCWZyYW1lX2RpZyAtMSAvLyBuZmRBcHBJZDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9ucwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0WzI0XSx1aW50NjQpCiphYmlfcm91dGVfcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW86CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIxIC8vIDB4MTUxZjdjNzUKCgkvLyBwb29sS2V5OiAodWludDY0LHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJcHVzaGludCAyNAoJPT0KCgkvLyBhcmd1bWVudCAwIChwb29sS2V5KSBmb3IgcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8gbXVzdCBiZSBhICh1aW50NjQsdWludDY0LHVpbnQ2NCkKCWFzc2VydAoKCS8vIGV4ZWN1dGUgcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0WzI0XSx1aW50NjQpCgljYWxsc3ViIHByb3hpZWRTZXRUb2tlblBheW91dFJhdGlvCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8ocG9vbEtleTogVmFsaWRhdG9yUG9vbEtleSk6IFBvb2xUb2tlblBheW91dFJhdGlvCi8vCi8vIHByb3hpZWRTZXRUb2tlblBheW91dFJhdGlvIGlzIG1lYW50IHRvIGJlIGNhbGxlZCBieSBwb29scyAhPSAxIC0gY2FsbGluZyBVUywgcG9vbCAjMQovLyBXZSBuZWVkIHRvIHZlcmlmeSB0aGF0IHdlIGFyZSBpbiBmYWN0IGJlaW5nIGNhbGxlZCBieSBhbm90aGVyIG9mIE9VUiBwb29scyAobm90IHVzKQovLyBhbmQgdGhlbiB3ZSdsbCBjYWxsIHRoZSB2YWxpZGF0b3Igb24gdGhlaXIgYmVoYWxmIHRvIHVwZGF0ZSB0aGUgdG9rZW4gcGF5b3V0cwovLyBAcGFyYW0gcG9vbEtleSAtIFZhbGlkYXRvclBvb2xLZXkgdHVwbGUKcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW86Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzAKCS8vIGFzc2VydCh0aGlzLnZhbGlkYXRvcklkLnZhbHVlID09PSBwb29sS2V5LmlkLCAnY2FsbGVyIG11c3QgYmUgcGFydCBvZiBzYW1lIHZhbGlkYXRvciBzZXQhJykKCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCT09CgoJLy8gY2FsbGVyIG11c3QgYmUgcGFydCBvZiBzYW1lIHZhbGlkYXRvciBzZXQhCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTMxCgkvLyBhc3NlcnQodGhpcy5wb29sSWQudmFsdWUgPT09IDEsICdjYWxsZWUgbXVzdCBiZSBwb29sIDEnKQoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJPT0KCgkvLyBjYWxsZWUgbXVzdCBiZSBwb29sIDEKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzIKCS8vIGFzc2VydChwb29sS2V5LnBvb2xJZCAhPT0gMSwgJ2NhbGxlciBtdXN0IE5PVCBiZSBwb29sIDEnKQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnRjIDEgLy8gMQoJIT0KCgkvLyBjYWxsZXIgbXVzdCBOT1QgYmUgcG9vbCAxCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTM0CgkvLyBjYWxsZXJQb29sQXBwSUQgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLmdldFBvb2xBcHBJZD4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbcG9vbEtleS5pZCwgcG9vbEtleS5wb29sSWRdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWJ5dGVjIDIzIC8vICBtZXRob2QgImdldFBvb2xBcHBJZCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkzNQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkKCWJ5dGVjIDEgLy8gICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzYKCS8vIG1ldGhvZEFyZ3M6IFtwb29sS2V5LmlkLCBwb29sS2V5LnBvb2xJZF0KCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludGMgMSAvLyAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyBjYWxsZXJQb29sQXBwSUQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzgKCS8vIGFzc2VydChjYWxsZXJQb29sQXBwSUQgPT09IHBvb2xLZXkucG9vbEFwcElkKQoJZnJhbWVfZGlnIDAgLy8gY2FsbGVyUG9vbEFwcElEOiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDE2IDgKCWJ0b2kKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTM5CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyID09PSBBcHBJRC5mcm9tVWludDY0KHBvb2xLZXkucG9vbEFwcElkKS5hZGRyZXNzKQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMTYgOAoJYnRvaQoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk0MQoJLy8gcmV0dXJuIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuc2V0VG9rZW5QYXlvdXRSYXRpbz4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgfSk7CglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWJ5dGVjIDI0IC8vICBtZXRob2QgInNldFRva2VuUGF5b3V0UmF0aW8odWludDY0KSh1aW50NjRbMjRdLHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NDIKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTQzCgkvLyBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50YyAxIC8vIDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBpc093bmVyT3JNYW5hZ2VyQ2FsbGVyKCk6IGJvb2xlYW4KaXNPd25lck9yTWFuYWdlckNhbGxlcjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk0OAoJLy8gT3duZXJBbmRNYW5hZ2VyID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5nZXRWYWxpZGF0b3JPd25lckFuZE1hbmFnZXI+KHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweDJmYTIyYzRiIC8vIG1ldGhvZCAiZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyKHVpbnQ2NCkoYWRkcmVzcyxhZGRyZXNzKSIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk0OQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkKCWJ5dGVjIDEgLy8gICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NTAKCS8vIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXQoJYnl0ZWMgMyAvLyAgInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnRjIDEgLy8gMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglmcmFtZV9idXJ5IDAgLy8gT3duZXJBbmRNYW5hZ2VyOiAoYWRkcmVzcyxhZGRyZXNzKQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NTIKCS8vIHJldHVybiB0aGlzLnR4bi5zZW5kZXIgPT09IE93bmVyQW5kTWFuYWdlclswXSB8fCB0aGlzLnR4bi5zZW5kZXIgPT09IE93bmVyQW5kTWFuYWdlclsxXTsKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAwIC8vIE93bmVyQW5kTWFuYWdlcjogKGFkZHJlc3MsYWRkcmVzcykKCWV4dHJhY3QgMCAzMgoJPT0KCWR1cAoJYm56ICpza2lwX29yMgoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIDAgLy8gT3duZXJBbmRNYW5hZ2VyOiAoYWRkcmVzcyxhZGRyZXNzKQoJZXh0cmFjdCAzMiAzMgoJPT0KCXx8Cgoqc2tpcF9vcjI6CgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gZ2V0RmVlU2luaygpOiBBZGRyZXNzCmdldEZlZVNpbms6Cglwcm90byAwIDEKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTU2CgkvLyByZXR1cm4gdGhpcy5mZWVTaW5rQWRkcjsKCWJ5dGVjIDI3IC8vIFRNUExfZmVlU2lua0FkZHIKCXJldHN1YgoKLy8gYWxnb1NhdHVyYXRpb25MZXZlbCgpOiB1aW50NjQKLy8KLy8gUmV0dXJucyB0aGUgbWF4aW11bSBhbGxvd2VkIHN0YWtlIHBlciB2YWxpZGF0b3IgYmFzZWQgb24gYSBwZXJjZW50YWdlIG9mIGFsbCBjdXJyZW50IG9ubGluZSBzdGFrZSBiZWZvcmUKLy8gdGhlIHZhbGlkYXRvciBpcyBjb25zaWRlcmVkIHNhdHVyYXRlZCAtIHdoZXJlIHJld2FyZHMgYXJlIGRpbWluaXNoZWQuCmFsZ29TYXR1cmF0aW9uTGV2ZWw6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NjYKCS8vIG9ubGluZSA9IHRoaXMuZ2V0Q3VycmVudE9ubGluZVN0YWtlKCkKCWNhbGxzdWIgZ2V0Q3VycmVudE9ubGluZVN0YWtlCglmcmFtZV9idXJ5IDAgLy8gb25saW5lOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTY4CgkvLyByZXR1cm4gd2lkZVJhdGlvKFtvbmxpbmUsIE1BWF9WQUxJREFUT1JfU09GVF9QQ1RfT0ZfT05MSU5FXzFERUNJTUFMXSwgWzEwMDBdKTsKCWZyYW1lX2RpZyAwIC8vIG9ubGluZTogdWludDY0CglwdXNoaW50IDEwMAoJbXVsdwoJaW50YyAwIC8vIDAKCWludGMgMTAgLy8gMTAwMAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gZ2V0R29PbmxpbmVGZWUoKTogdWludDY0CmdldEdvT25saW5lRmVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTc1CgkvLyBpc09ubGluZSA9IGZhbHNlCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAwIC8vIGlzT25saW5lOiBib29sCgoJLy8gKmlmNDdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTc2CgkvLyAhaXNPbmxpbmUKCWZyYW1lX2RpZyAwIC8vIGlzT25saW5lOiBib29sCgkhCglieiAqaWY0N19lbmQKCgkvLyAqaWY0N19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTc4CgkvLyByZXR1cm4gMl8wMDBfMDAwOwoJcHVzaGludCAyXzAwMF8wMDAKCWIgKmdldEdvT25saW5lRmVlKnJldHVybgoKKmlmNDdfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk4MAoJLy8gcmV0dXJuIDA7CglpbnRjIDAgLy8gMAoKKmdldEdvT25saW5lRmVlKnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBnZXRDdXJyZW50T25saW5lU3Rha2UoKTogdWludDY0CmdldEN1cnJlbnRPbmxpbmVTdGFrZToKCXByb3RvIDAgMQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5ODUKCS8vIHJldHVybiAyXzAwMF8wMDBfMDAwXzAwMF8wMDA7CglwdXNoaW50IDJfMDAwXzAwMF8wMDBfMDAwXzAwMAoJcmV0c3ViCgovLyBjaGVja0lmQmluQ2xvc2VkKCk6IHZvaWQKLy8KLy8gQ2hlY2tzIGlmIHRoZSBjdXJyZW50IHJvdW5kIGlzIGluIGEgJ25ldyBjYWxjdWxhdGlvbiBiaW4nIChhcHByb3hpbWF0ZWx5IGRhaWx5KQpjaGVja0lmQmluQ2xvc2VkOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gNAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5OTIKCS8vIGN1cnJlbnRCaW5TaXplID0gdGhpcy5yb3VuZHNQZXJEYXkudmFsdWUgYXMgdWludDEyOAoJYnl0ZWMgMTAgLy8gICJyb3VuZHNQZXJEYXkiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJZnJhbWVfYnVyeSAwIC8vIGN1cnJlbnRCaW5TaXplOiB1bnNhZmUgdWludDEyOAoKCS8vICppZjQ4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5MwoJLy8gZ2xvYmFscy5yb3VuZCA+PSB0aGlzLmJpblJvdW5kU3RhcnQudmFsdWUgKyAoY3VycmVudEJpblNpemUgYXMgdWludDY0KQoJZ2xvYmFsIFJvdW5kCglieXRlYyAxMSAvLyAgImJpblJvdW5kU3RhcnQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDAgLy8gY3VycmVudEJpblNpemU6IHVuc2FmZSB1aW50MTI4CglkdXAKCWJpdGxlbgoJaW50YyAzIC8vIDY0Cgk8PQoKCS8vIGN1cnJlbnRCaW5TaXplIGFzIHVpbnQ2NCBvdmVyZmxvd2VkIDY0IGJpdHMKCWFzc2VydAoJcHVzaGJ5dGVzIDB4RkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMTQgLy8gOAoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYnRvaQoJKwoJPj0KCWJ6ICppZjQ4X2VuZAoKCS8vICppZjQ4X2NvbnNlcXVlbnQKCS8vICppZjQ5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5NAoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAzMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludGMgOSAvLyAzMDAKCTwKCWJ6ICppZjQ5X2VuZAoKCS8vICppZjQ5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5OTUKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyA1IC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDggLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjQ5X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5OTcKCS8vIGFwcHJveFJvdW5kc1BlclllYXI6IHVpbnQxMjggPSBjdXJyZW50QmluU2l6ZSAqICgzNjUgYXMgdWludDEyOCkKCWZyYW1lX2RpZyAwIC8vIGN1cnJlbnRCaW5TaXplOiB1bnNhZmUgdWludDEyOAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNmQKCWIqCglkdXAKCWJpdGxlbgoJaW50YyA2IC8vIDEyOAoJPD0KCgkvLyBjdXJyZW50QmluU2l6ZSAqICgzNjUgYXMgdWludDEyOCkgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlYyA4IC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDUgLy8gMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWZyYW1lX2J1cnkgMSAvLyBhcHByb3hSb3VuZHNQZXJZZWFyOiB1aW50MTI4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5OAoJLy8gYXZnU3Rha2U6IHVpbnQxMjggPSB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgLyBjdXJyZW50QmluU2l6ZQoJYnl0ZWMgNyAvLyAgInN0YWtlQWNjdW11bGF0b3IiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDAgLy8gY3VycmVudEJpblNpemU6IHVuc2FmZSB1aW50MTI4CgliLwoJZHVwCgliaXRsZW4KCWludGMgNiAvLyAxMjgKCTw9CgoJLy8gdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlIC8gY3VycmVudEJpblNpemUgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlYyA4IC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDUgLy8gMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWZyYW1lX2J1cnkgMiAvLyBhdmdTdGFrZTogdWludDEyOAoKCS8vICppZjUwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5OQoJLy8gYXZnU3Rha2UgIT09IDAKCWZyYW1lX2RpZyAyIC8vIGF2Z1N0YWtlOiB1aW50MTI4CglieXRlYyAxNiAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCgliIT0KCWJ6ICppZjUwX2VuZAoKCS8vICppZjUwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDAzCgkvLyBhcHI6IHVpbnQxMjggPQoJLy8gICAgICAgICAgICgoKHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgYXMgdWludDEyOCkgKiAoMTAwMDAgYXMgdWludDEyOCkpIC8gYXZnU3Rha2UpICoKCS8vICAgICAgICAgICAoYXBwcm94Um91bmRzUGVyWWVhciAvIGN1cnJlbnRCaW5TaXplKQoJYnl0ZWMgMTIgLy8gICJyZXdhcmRBY2N1bXVsYXRvciIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjcxMAoJYioKCWZyYW1lX2RpZyAyIC8vIGF2Z1N0YWtlOiB1aW50MTI4CgliLwoJZnJhbWVfZGlnIDEgLy8gYXBwcm94Um91bmRzUGVyWWVhcjogdWludDEyOAoJZnJhbWVfZGlnIDAgLy8gY3VycmVudEJpblNpemU6IHVuc2FmZSB1aW50MTI4CgliLwoJYioKCWR1cAoJYml0bGVuCglpbnRjIDYgLy8gMTI4Cgk8PQoKCS8vICgoKHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgYXMgdWludDEyOCkgKiAoMTAwMDAgYXMgdWludDEyOCkpIC8gYXZnU3Rha2UpICpcbiAgICAgICAgICAoYXBwcm94Um91bmRzUGVyWWVhciAvIGN1cnJlbnRCaW5TaXplKSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGVjIDggLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgNSAvLyAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJZnJhbWVfYnVyeSAzIC8vIGFwcjogdWludDEyOAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDA3CgkvLyBhbHBoYTogdWludDEyOCA9IDEwIGFzIHVpbnQxMjgKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBhCglmcmFtZV9idXJ5IDQgLy8gYWxwaGE6IHVuc2FmZSB1aW50MTI4CgoJLy8gKmlmNTFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTAwOQoJLy8gYXZnU3Rha2UgPiAzMDAwMDAwMDAwMDAKCWZyYW1lX2RpZyAyIC8vIGF2Z1N0YWtlOiB1aW50MTI4CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDVkOTY0YjgwMAoJYj4KCWJ6ICppZjUxX2VuZAoKCS8vICppZjUxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDEwCgkvLyBhbHBoYSA9IDkwIGFzIHVpbnQxMjgKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVhCglmcmFtZV9idXJ5IDQgLy8gYWxwaGE6IHVuc2FmZSB1aW50MTI4CgoqaWY1MV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTAxMgoJLy8gdGhpcy53ZWlnaHRlZE1vdmluZ0F2ZXJhZ2UudmFsdWUgPQoJLy8gICAgICAgICAgICh0aGlzLndlaWdodGVkTW92aW5nQXZlcmFnZS52YWx1ZSAqICgoMTAwIGFzIHVpbnQxMjgpIC0gYWxwaGEpKSAvICgxMDAgYXMgdWludDEyOCkgKwoJLy8gICAgICAgICAgIChhcHIgKiBhbHBoYSkgLyAoMTAwIGFzIHVpbnQxMjgpCglieXRlYyAyMCAvLyAgImV3bWEiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglieXRlYyAxNyAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0CglmcmFtZV9kaWcgNCAvLyBhbHBoYTogdW5zYWZlIHVpbnQxMjgKCWItCgliKgoJYnl0ZWMgMTcgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAoJYi8KCWZyYW1lX2RpZyAzIC8vIGFwcjogdWludDEyOAoJZnJhbWVfZGlnIDQgLy8gYWxwaGE6IHVuc2FmZSB1aW50MTI4CgliKgoJYnl0ZWMgMTcgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAoJYi8KCWIrCglkdXAKCWJpdGxlbgoJaW50YyA2IC8vIDEyOAoJPD0KCgkvLyAodGhpcy53ZWlnaHRlZE1vdmluZ0F2ZXJhZ2UudmFsdWUgKiAoKDEwMCBhcyB1aW50MTI4KSAtIGFscGhhKSkgLyAoMTAwIGFzIHVpbnQxMjgpICtcbiAgICAgICAgICAoYXByICogYWxwaGEpIC8gKDEwMCBhcyB1aW50MTI4KSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGVjIDggLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgNSAvLyAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYXBwX2dsb2JhbF9wdXQKCippZjUwX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDE4CgkvLyB0aGlzLnNldFJvdW5kc1BlckRheSgpCgljYWxsc3ViIHNldFJvdW5kc1BlckRheQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDE5CgkvLyB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgPSAodGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgYXMgdWludDEyOCkgKiAodGhpcy5yb3VuZHNQZXJEYXkudmFsdWUgYXMgdWludDEyOCkKCWJ5dGVjIDcgLy8gICJzdGFrZUFjY3VtdWxhdG9yIgoJYnl0ZWMgNiAvLyAgInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglieXRlYyAxMCAvLyAgInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCgliKgoJZHVwCgliaXRsZW4KCWludGMgNiAvLyAxMjgKCTw9CgoJLy8gKHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlIGFzIHVpbnQxMjgpICogKHRoaXMucm91bmRzUGVyRGF5LnZhbHVlIGFzIHVpbnQxMjgpIG92ZXJmbG93ZWQgMTI4IGJpdHMKCWFzc2VydAoJYnl0ZWMgOCAvLyAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyA1IC8vIDE2CgktCglzd2FwCglzdWJzdHJpbmczCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDIwCgkvLyB0aGlzLnJld2FyZEFjY3VtdWxhdG9yLnZhbHVlID0gMAoJYnl0ZWMgMTIgLy8gICJyZXdhcmRBY2N1bXVsYXRvciIKCWludGMgMCAvLyAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDIxCgkvLyB0aGlzLmJpblJvdW5kU3RhcnQudmFsdWUgPSBnbG9iYWxzLnJvdW5kIC0gKGdsb2JhbHMucm91bmQgJSB0aGlzLnJvdW5kc1BlckRheS52YWx1ZSkKCWJ5dGVjIDExIC8vICAiYmluUm91bmRTdGFydCIKCWdsb2JhbCBSb3VuZAoJZ2xvYmFsIFJvdW5kCglieXRlYyAxMCAvLyAgInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CgklCgktCglhcHBfZ2xvYmFsX3B1dAoKKmlmNDhfZW5kOgoJcmV0c3ViCgovLyBzZXRSb3VuZHNQZXJEYXkoKTogdm9pZApzZXRSb3VuZHNQZXJEYXk6Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTAyNgoJLy8gdGhpcy5yb3VuZHNQZXJEYXkudmFsdWUgPSBBVkdfUk9VTkRTX1BFUl9EQVkKCWJ5dGVjIDEwIC8vICAicm91bmRzUGVyRGF5IgoJcHVzaGludCAzMDg1NwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4NTllOTBhYTYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbih1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDMxNzJjYTlkIC8vIG1ldGhvZCAiZ2FzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4NDdjZmNjMDQgLy8gbWV0aG9kICJpbml0U3RvcmFnZShwYXkpdm9pZCIKCXB1c2hieXRlcyAweGY5YzcwY2JkIC8vIG1ldGhvZCAiYWRkU3Rha2UocGF5LGFkZHJlc3MpdWludDY0IgoJcHVzaGJ5dGVzIDB4NDIxYjVhYmUgLy8gbWV0aG9kICJyZW1vdmVTdGFrZShhZGRyZXNzLHVpbnQ2NCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZjU4OTJkNTYgLy8gbWV0aG9kICJjbGFpbVRva2Vucygpdm9pZCIKCXB1c2hieXRlcyAweDVjZmJiMDU3IC8vIG1ldGhvZCAiZ2V0U3Rha2VySW5mbyhhZGRyZXNzKShhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkiCglwdXNoYnl0ZXMgMHg2M2YzZjI4YiAvLyBtZXRob2QgInBheVRva2VuUmV3YXJkKGFkZHJlc3MsdWludDY0LHVpbnQ2NCl2b2lkIgoJcHVzaGJ5dGVzIDB4ODZhMzcyNWMgLy8gbWV0aG9kICJ1cGRhdGVBbGdvZFZlcihzdHJpbmcpdm9pZCIKCXB1c2hieXRlcyAweGVmYzI2MDhkIC8vIG1ldGhvZCAiZXBvY2hCYWxhbmNlVXBkYXRlKCl2b2lkIgoJcHVzaGJ5dGVzIDB4NDAwZTE0ZmIgLy8gbWV0aG9kICJnb09ubGluZShwYXksYnl0ZVtdLGJ5dGVbXSxieXRlW10sdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweDUxZWYzYjIxIC8vIG1ldGhvZCAiZ29PZmZsaW5lKCl2b2lkIgoJcHVzaGJ5dGVzIDB4YTI0ZTI3MTcgLy8gbWV0aG9kICJsaW5rVG9ORkQodWludDY0LHN0cmluZyl2b2lkIgoJYnl0ZWMgMjUgLy8gIG1ldGhvZCAicHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0WzI0XSx1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9nYXMgKmFiaV9yb3V0ZV9pbml0U3RvcmFnZSAqYWJpX3JvdXRlX2FkZFN0YWtlICphYmlfcm91dGVfcmVtb3ZlU3Rha2UgKmFiaV9yb3V0ZV9jbGFpbVRva2VucyAqYWJpX3JvdXRlX2dldFN0YWtlckluZm8gKmFiaV9yb3V0ZV9wYXlUb2tlblJld2FyZCAqYWJpX3JvdXRlX3VwZGF0ZUFsZ29kVmVyICphYmlfcm91dGVfZXBvY2hCYWxhbmNlVXBkYXRlICphYmlfcm91dGVfZ29PbmxpbmUgKmFiaV9yb3V0ZV9nb09mZmxpbmUgKmFiaV9yb3V0ZV9saW5rVG9ORkQgKmFiaV9yb3V0ZV9wcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKmNhbGxfVXBkYXRlQXBwbGljYXRpb246CglwdXNoYnl0ZXMgMHg0NmY3NjUzMyAvLyBtZXRob2QgInVwZGF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIFVwZGF0ZUFwcGxpY2F0aW9uCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "templateVariables": { "nfdRegistryAppId": { "type": "uint64" }, "feeSinkAddr": { "type": "address" } }, "scratchVariables": { "nfdRegistryAppId": { "type": "uint64", "slot": 200 }, "feeSinkAddr": { "type": "address", "slot": 201 } }, "compilerInfo": { "compiler": "algod", "compilerVersion": { "major": 4, "minor": 4, "patch": 1, "commitHash": "7b607ce4" } } }