{ "name": "ValidatorRegistry", "desc": "", "methods": [ { "name": "updateApplication", "args": [], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "UpdateApplication" ] } }, { "name": "createApplication", "args": [], "returns": { "type": "void" }, "actions": { "create": [ "NoOp" ], "call": [] } }, { "name": "initStakingContract", "args": [ { "name": "approvalProgramSize", "type": "uint64" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "loadStakingContractData", "args": [ { "name": "offset", "type": "uint64" }, { "name": "data", "type": "byte[]" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "finalizeStakingContract", "args": [], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "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": "getMbrAmounts", "desc": "Returns the MBR amounts needed for various actions:\n[\n addValidatorMbr: uint64 - mbr needed to add a new validator - paid to validator contract\n addPoolMbr: uint64 - mbr needed to add a new pool - paid to validator\n poolInitMbr: uint64 - mbr needed to initStorage() of pool - paid to pool itself\n addStakerMbr: uint64 - mbr staker needs to add to first staking payment (stays w/ validator)\n]", "args": [], "returns": { "type": "(uint64,uint64,uint64,uint64)", "struct": "MbrAmounts" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "getProtocolConstraints", "desc": "Returns the protocol constraints so that UIs can limit what users specify for validator configuration parameters.", "args": [], "returns": { "type": "(uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64)", "struct": "Constraints" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "getNumValidators", "desc": "Returns the current number of validators", "args": [], "returns": { "type": "uint64" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "getValidatorConfig", "args": [ { "name": "validatorId", "type": "uint64" } ], "returns": { "type": "(uint64,address,address,uint64,uint8,address,uint64[4],uint64,uint64,uint64,uint32,uint32,address,uint64,uint64,uint8,uint64,uint64)", "struct": "ValidatorConfig" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "getValidatorState", "args": [ { "name": "validatorId", "type": "uint64" } ], "returns": { "type": "(uint16,uint64,uint64,uint64)", "struct": "ValidatorCurState" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "getValidatorOwnerAndManager", "args": [ { "name": "validatorId", "type": "uint64" } ], "returns": { "type": "(address,address)" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "getPools", "desc": "Return list of all pools for this validator.", "args": [ { "name": "validatorId", "type": "uint64", "desc": "PoolInfo[] - array of pools\nNot callable from other contracts because 1K return but can be called w/ simulate which bumps log returns" } ], "returns": { "type": "(uint64,uint16,uint64)[]" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "getPoolAppId", "args": [ { "name": "validatorId", "type": "uint64" }, { "name": "poolId", "type": "uint64" } ], "returns": { "type": "uint64" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "getPoolInfo", "args": [ { "name": "poolKey", "type": "(uint64,uint64,uint64)", "struct": "ValidatorPoolKey" } ], "returns": { "type": "(uint64,uint16,uint64)", "struct": "PoolInfo" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "getCurMaxStakePerPool", "desc": "Calculate the maximum stake per pool for a given validator.\nNormally this would be maxAlgoPerPool, but it should also never go above MaxAllowedStake / numPools so\nas pools are added the max allowed per pool can reduce.", "args": [ { "name": "validatorId", "type": "uint64", "desc": "The id of the validator." } ], "returns": { "type": "uint64" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "doesStakerNeedToPayMBR", "desc": "Helper callers can call w/ simulate to determine if 'AddStaker' MBR should be included w/ staking amount", "args": [ { "name": "staker", "type": "address" } ], "returns": { "type": "bool" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "getStakedPoolsForAccount", "desc": "Retrieves the staked pools for an account.", "args": [ { "name": "staker", "type": "address", "desc": "The account to retrieve staked pools for.\n ValidatorPoolKey[] - The array of staked pools for the account." } ], "returns": { "type": "(uint64,uint64,uint64)[]" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "getTokenPayoutRatio", "desc": "Retrieves the token payout ratio for a given validator - returning the pool ratios of whole so that token\npayouts across pools can be based on a stable snaphost of stake.", "args": [ { "name": "validatorId", "type": "uint64", "desc": "The id of the validator.\n PoolTokenPayoutRatio - The token payout ratio for the validator." } ], "returns": { "type": "(uint64[24],uint64)", "struct": "PoolTokenPayoutRatio" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "getNodePoolAssignments", "args": [ { "name": "validatorId", "type": "uint64" } ], "returns": { "type": "((uint64[3])[8])", "struct": "NodePoolAssignmentConfig" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "getNFDRegistryID", "args": [], "returns": { "type": "uint64" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "addValidator", "desc": "Adds a new validator\nRequires at least 10 ALGO as the 'fee' for the transaction to help dissuade spammed validator adds.", "args": [ { "name": "mbrPayment", "type": "pay", "desc": "payment from caller which covers mbr increase of new validator storage" }, { "name": "nfdName", "type": "string", "desc": "(Optional) Name of nfd (used as double-check against id specified in config)" }, { "name": "config", "type": "(uint64,address,address,uint64,uint8,address,uint64[4],uint64,uint64,uint64,uint32,uint32,address,uint64,uint64,uint8,uint64,uint64)", "desc": "ValidatorConfig struct", "struct": "ValidatorConfig" } ], "returns": { "type": "uint64", "desc": "uint64 validator id" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "changeValidatorManager", "desc": "Changes the Validator manager for a specific Validator id.\n[ ONLY OWNER CAN CHANGE ]", "args": [ { "name": "validatorId", "type": "uint64", "desc": "The id of the validator to change the manager for." }, { "name": "manager", "type": "address", "desc": "The new manager address." } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "changeValidatorSunsetInfo", "desc": "Updates the sunset information for a given validator.\n[ ONLY OWNER CAN CHANGE ]", "args": [ { "name": "validatorId", "type": "uint64", "desc": "The id of the validator to update." }, { "name": "sunsettingOn", "type": "uint64", "desc": "The new sunset timestamp." }, { "name": "sunsettingTo", "type": "uint64", "desc": "The new sunset to validator id." } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "changeValidatorNFD", "desc": "Changes the NFD for a validator in the validatorList contract.\n[ ONLY OWNER CAN CHANGE ]", "args": [ { "name": "validatorId", "type": "uint64", "desc": "The id of the validator to update." }, { "name": "nfdAppID", "type": "uint64", "desc": "The application id of the NFD to assign to the validator." }, { "name": "nfdName", "type": "string", "desc": "The name of the NFD (which must match)" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "changeValidatorCommissionAddress", "desc": "Change the commission address that validator rewards are sent to.\n [ ONLY OWNER CAN CHANGE ]", "args": [ { "name": "validatorId", "type": "uint64" }, { "name": "commissionAddress", "type": "address" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "changeValidatorRewardInfo", "desc": "Allow the additional rewards (gating entry, additional token rewards) information be changed at will.\n[ ONLY OWNER CAN CHANGE ]", "args": [ { "name": "validatorId", "type": "uint64" }, { "name": "EntryGatingType", "type": "uint8" }, { "name": "EntryGatingAddress", "type": "address" }, { "name": "EntryGatingAssets", "type": "uint64[4]" }, { "name": "GatingAssetMinBalance", "type": "uint64" }, { "name": "RewardPerPayout", "type": "uint64" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "addPool", "desc": "Adds a new pool to a validator's pool set, returning the 'key' to reference the pool in the future for staking, etc.\nThe caller must pay the cost of the validators MBR increase as well as the MBR that will be needed for the pool itself.\n\n\n[ ONLY OWNER OR MANAGER CAN call ]", "args": [ { "name": "mbrPayment", "type": "pay", "desc": "payment from caller which covers mbr increase of adding a new pool" }, { "name": "validatorId", "type": "uint64", "desc": "is id of validator to pool to (must be owner or manager)" }, { "name": "nodeNum", "type": "uint64", "desc": "is node number to add to" } ], "returns": { "type": "(uint64,uint64,uint64)", "desc": "ValidatorPoolKey pool key to created pool", "struct": "ValidatorPoolKey" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "addStake", "desc": "Adds stake to a validator pool.", "args": [ { "name": "stakedAmountPayment", "type": "pay", "desc": "payment coming from staker to place into a pool" }, { "name": "validatorId", "type": "uint64", "desc": "The id of the validator." }, { "name": "valueToVerify", "type": "uint64", "desc": "only if validator has gating to enter - this is asset id or nfd id that corresponds to gating.\nTxn sender is factored in as well if that is part of gating.\n*" } ], "returns": { "type": "(uint64,uint64,uint64)", "desc": "ValidatorPoolKey - The key of the validator pool.", "struct": "ValidatorPoolKey" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "setTokenPayoutRatio", "desc": "setTokenPayoutRatio is called by Staking Pool # 1 (ONLY) to ask the validator (us) to calculate the ratios\nof stake in the pools for subsequent token payouts (ie: 2 pools, '100' algo total staked, 60 in pool 1, and 40\nin pool 2) This is done so we have a stable snapshot of stake - taken once per epoch - only triggered by\npool 1 doing payout. pools other than 1 doing payout call pool 1 to ask it do it first.\nIt would be 60/40% in the poolPctOfWhole values. The token reward payouts then use these values instead of\ntheir 'current' stake which changes as part of the payouts themselves (and people could be changing stake\nduring the epoch updates across pools)\n\n\nMultiple pools will call us via pool 1 (pool2-pool1-validator, etc.) so don't assert on pool1 calling multiple\ntimes in same epoch. Just return.", "args": [ { "name": "validatorId", "type": "uint64", "desc": "validator id (and thus pool) calling us. Verified so that sender MUST be pool 1 of this validator." } ], "returns": { "type": "(uint64[24],uint64)", "desc": "PoolTokenPayoutRatio - the finished ratio data", "struct": "PoolTokenPayoutRatio" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "stakeUpdatedViaRewards", "desc": "stakeUpdatedViaRewards is called by Staking pools to inform the validator (us) that a particular amount of total\nstake has been added to the specified pool. This is used to update the stats we have in our PoolInfo storage.\nThe calling App id is validated against our pool list as well.", "args": [ { "name": "poolKey", "type": "(uint64,uint64,uint64)", "desc": "ValidatorPoolKey type", "struct": "ValidatorPoolKey" }, { "name": "algoToAdd", "type": "uint64", "desc": "amount this validator's total stake increased via rewards" }, { "name": "rewardTokenAmountReserved", "type": "uint64", "desc": "amount this validator's total stake increased via rewards (that should be" }, { "name": "validatorCommission", "type": "uint64", "desc": "the commission amount the validator was paid, if any" }, { "name": "saturatedBurnToFeeSink", "type": "uint64", "desc": "if the pool was in saturated state, the amount sent back to the fee sink.\nseen as 'accounted for/pending spent')" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "stakeRemoved", "desc": "stakeRemoved is called by Staking pools to inform the validator (us) that a particular amount of total stake has been removed\nfrom the specified pool. This is used to update the stats we have in our PoolInfo storage.\nIf any amount of rewardRemoved is specified, then that amount of reward is sent to the use\nThe calling App id is validated against our pool list as well.", "args": [ { "name": "poolKey", "type": "(uint64,uint64,uint64)", "desc": "calling us from which stake was removed", "struct": "ValidatorPoolKey" }, { "name": "staker", "type": "address" }, { "name": "amountRemoved", "type": "uint64", "desc": "algo amount removed" }, { "name": "rewardRemoved", "type": "uint64", "desc": "if applicable, amount of token reward removed (by pool 1 caller) or TO remove and pay out (via pool 1 from different pool caller)" }, { "name": "stakerRemoved", "type": "bool" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "findPoolForStaker", "desc": "Finds the pool for a staker based on the provided validator id, staker address, and amount to stake.\nFirst checks the stakers 'already staked list' for the validator preferring those (adding if possible) then adds\nto new pool if necessary.", "args": [ { "name": "validatorId", "type": "uint64", "desc": "The id of the validator." }, { "name": "staker", "type": "address", "desc": "The address of the staker." }, { "name": "amountToStake", "type": "uint64", "desc": "The amount to stake." } ], "returns": { "type": "((uint64,uint64,uint64),bool,bool)", "desc": "ValidatorPoolKey, boolean, boolean - The pool for the staker, true/false on whether the staker is 'new'\nto this VALIDATOR, and true/false if staker is new to the protocol." }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "movePoolToNode", "desc": "Find the specified pool (in any node number) and move it to the specified node.\nThe pool account is forced offline if moved so prior node will still run for 320 rounds but\nnew key goes online on new node soon after (320 rounds after it goes online)\nNo-op if success, asserts if not found or can't move (no space in target)\n[ ONLY OWNER OR MANAGER CAN CHANGE ]", "args": [ { "name": "validatorId", "type": "uint64", "desc": "The id of the validator." }, { "name": "poolAppId", "type": "uint64" }, { "name": "nodeNum", "type": "uint64" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "emptyTokenRewards", "desc": "Sends the reward tokens held in pool 1 to specified receiver.\nThis is intended to be used by the owner when they want to get reward tokens 'back' which they sent to\nthe first pool (likely because validator is sunsetting. Any tokens currently 'reserved' for stakers to claim will\nNOT be sent as they must be held back for stakers to later claim.\n[ ONLY OWNER CAN CALL]", "args": [ { "name": "validatorId", "type": "uint64", "desc": "The id of the validator." }, { "name": "receiver", "type": "address", "desc": "the account to send the tokens to (must already be opted-in to the reward token)" } ], "returns": { "type": "uint64", "desc": "uint64 the amount of reward token sent" }, "actions": { "create": [], "call": [ "NoOp" ] } } ], "arcs": [ 4, 56 ], "structs": { "ValidatorInfo": [ { "name": "config", "type": [ { "name": "id", "type": "uint64" }, { "name": "owner", "type": "address" }, { "name": "manager", "type": "address" }, { "name": "nfdForInfo", "type": "uint64" }, { "name": "entryGatingType", "type": "uint8" }, { "name": "entryGatingAddress", "type": "address" }, { "name": "entryGatingAssets", "type": "uint64[4]" }, { "name": "gatingAssetMinBalance", "type": "uint64" }, { "name": "rewardTokenId", "type": "uint64" }, { "name": "rewardPerPayout", "type": "uint64" }, { "name": "epochRoundLength", "type": "uint32" }, { "name": "percentToValidator", "type": "uint32" }, { "name": "validatorCommissionAddress", "type": "address" }, { "name": "minEntryStake", "type": "uint64" }, { "name": "maxAlgoPerPool", "type": "uint64" }, { "name": "poolsPerNode", "type": "uint8" }, { "name": "sunsettingOn", "type": "uint64" }, { "name": "sunsettingTo", "type": "uint64" } ] }, { "name": "state", "type": [ { "name": "numPools", "type": "uint16" }, { "name": "totalStakers", "type": "uint64" }, { "name": "totalAlgoStaked", "type": "uint64" }, { "name": "rewardTokenHeldBack", "type": "uint64" } ] }, { "name": "pools", "type": "(uint64,uint16,uint64)[24]" }, { "name": "tokenPayoutRatio", "type": [ { "name": "poolPctOfWhole", "type": "uint64[24]" }, { "name": "updatedForPayout", "type": "uint64" } ] }, { "name": "nodePoolAssignments", "type": [ { "name": "nodes", "type": "(uint64[3])[8]" } ] } ], "MbrAmounts": [ { "name": "addValidatorMbr", "type": "uint64" }, { "name": "addPoolMbr", "type": "uint64" }, { "name": "poolInitMbr", "type": "uint64" }, { "name": "addStakerMbr", "type": "uint64" } ], "Constraints": [ { "name": "epochPayoutRoundsMin", "type": "uint64" }, { "name": "epochPayoutRoundsMax", "type": "uint64" }, { "name": "minPctToValidatorWFourDecimals", "type": "uint64" }, { "name": "maxPctToValidatorWFourDecimals", "type": "uint64" }, { "name": "minEntryStake", "type": "uint64" }, { "name": "maxAlgoPerPool", "type": "uint64" }, { "name": "maxAlgoPerValidator", "type": "uint64" }, { "name": "amtConsideredSaturated", "type": "uint64" }, { "name": "maxNodes", "type": "uint64" }, { "name": "maxPoolsPerNode", "type": "uint64" }, { "name": "maxStakersPerPool", "type": "uint64" } ], "ValidatorConfig": [ { "name": "id", "type": "uint64" }, { "name": "owner", "type": "address" }, { "name": "manager", "type": "address" }, { "name": "nfdForInfo", "type": "uint64" }, { "name": "entryGatingType", "type": "uint8" }, { "name": "entryGatingAddress", "type": "address" }, { "name": "entryGatingAssets", "type": "uint64[4]" }, { "name": "gatingAssetMinBalance", "type": "uint64" }, { "name": "rewardTokenId", "type": "uint64" }, { "name": "rewardPerPayout", "type": "uint64" }, { "name": "epochRoundLength", "type": "uint32" }, { "name": "percentToValidator", "type": "uint32" }, { "name": "validatorCommissionAddress", "type": "address" }, { "name": "minEntryStake", "type": "uint64" }, { "name": "maxAlgoPerPool", "type": "uint64" }, { "name": "poolsPerNode", "type": "uint8" }, { "name": "sunsettingOn", "type": "uint64" }, { "name": "sunsettingTo", "type": "uint64" } ], "ValidatorCurState": [ { "name": "numPools", "type": "uint16" }, { "name": "totalStakers", "type": "uint64" }, { "name": "totalAlgoStaked", "type": "uint64" }, { "name": "rewardTokenHeldBack", "type": "uint64" } ], "PoolInfo": [ { "name": "poolAppId", "type": "uint64" }, { "name": "totalStakers", "type": "uint16" }, { "name": "totalAlgoStaked", "type": "uint64" } ], "ValidatorPoolKey": [ { "name": "id", "type": "uint64" }, { "name": "poolId", "type": "uint64" }, { "name": "poolAppId", "type": "uint64" } ], "PoolTokenPayoutRatio": [ { "name": "poolPctOfWhole", "type": "uint64[24]" }, { "name": "updatedForPayout", "type": "uint64" } ], "NodePoolAssignmentConfig": [ { "name": "nodes", "type": "(uint64[3])[8]" } ] }, "state": { "schema": { "global": { "bytes": 1, "ints": 3 }, "local": { "bytes": 0, "ints": 0 } }, "keys": { "global": { "stakingPoolInitialized": { "key": "aW5pdA==", "keyType": "AVMBytes", "valueType": "bool" }, "numValidators": { "key": "bnVtVg==", "keyType": "AVMBytes", "valueType": "uint64" }, "numStakers": { "key": "bnVtU3Rha2Vycw==", "keyType": "AVMBytes", "valueType": "uint64" }, "totalAlgoStaked": { "key": "c3Rha2Vk", "keyType": "AVMBytes", "valueType": "uint64" } }, "local": {}, "box": { "stakingPoolApprovalProgram": { "key": "cG9vbFRlbXBsYXRlQXBwcm92YWxCeXRlcw==", "keyType": "AVMBytes", "valueType": "AVMBytes" } } }, "maps": { "global": {}, "local": {}, "box": { "validatorList": { "keyType": "uint64", "valueType": "ValidatorInfo", "prefix": "dg==" }, "stakerPoolSet": { "keyType": "address", "valueType": "(uint64,uint64,uint64)[6]", "prefix": "c3Bz" } } } }, "bareActions": { "create": [], "call": [] }, "sourceInfo": { "approval": { "sourceInfo": [ { "teal": 15, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 1, 2 ] }, { "teal": 16, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 3 ] }, { "teal": 17, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 4, 5 ] }, { "teal": 18, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 6 ] }, { "teal": 19, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 7, 8 ] }, { "teal": 20, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 9 ] }, { "teal": 21, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 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, 35 ] }, { "teal": 25, "source": "examples/reti/validatorRegistry.algo.ts:168", "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?", "pc": [ 36 ] }, { "teal": 30, "source": "examples/reti/validatorRegistry.algo.ts:201", "pc": [ 37, 38, 39 ] }, { "teal": 31, "source": "examples/reti/validatorRegistry.algo.ts:201", "pc": [ 40 ] }, { "teal": 32, "source": "examples/reti/validatorRegistry.algo.ts:201", "pc": [ 41 ] }, { "teal": 36, "source": "examples/reti/validatorRegistry.algo.ts:201", "pc": [ 42, 43, 44 ] }, { "teal": 40, "source": "examples/reti/validatorRegistry.algo.ts:202", "pc": [ 45, 46 ] }, { "teal": 41, "source": "examples/reti/validatorRegistry.algo.ts:202", "pc": [ 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, 80 ] }, { "teal": 42, "source": "examples/reti/validatorRegistry.algo.ts:202", "pc": [ 81 ] }, { "teal": 43, "source": "examples/reti/validatorRegistry.algo.ts:202", "pc": [ 82 ] }, { "teal": 47, "source": "examples/reti/validatorRegistry.algo.ts:204", "pc": [ 83, 84 ] }, { "teal": 48, "source": "examples/reti/validatorRegistry.algo.ts:204", "pc": [ 85 ] }, { "teal": 52, "source": "examples/reti/validatorRegistry.algo.ts:205", "pc": [ 86, 87 ] }, { "teal": 53, "source": "examples/reti/validatorRegistry.algo.ts:205", "pc": [ 88 ] }, { "teal": 54, "source": "examples/reti/validatorRegistry.algo.ts:205", "pc": [ 89, 90 ] }, { "teal": 55, "source": "examples/reti/validatorRegistry.algo.ts:205", "pc": [ 91 ] }, { "teal": 56, "source": "examples/reti/validatorRegistry.algo.ts:205", "pc": [ 92, 93 ] }, { "teal": 57, "source": "examples/reti/validatorRegistry.algo.ts:205", "pc": [ 94 ] }, { "teal": 58, "source": "examples/reti/validatorRegistry.algo.ts:205", "pc": [ 95 ] }, { "teal": 59, "source": "examples/reti/validatorRegistry.algo.ts:201", "pc": [ 96 ] }, { "teal": 64, "source": "examples/reti/validatorRegistry.algo.ts:208", "pc": [ 97, 98, 99 ] }, { "teal": 65, "source": "examples/reti/validatorRegistry.algo.ts:208", "pc": [ 100 ] }, { "teal": 66, "source": "examples/reti/validatorRegistry.algo.ts:208", "pc": [ 101 ] }, { "teal": 70, "source": "examples/reti/validatorRegistry.algo.ts:208", "pc": [ 102, 103, 104 ] }, { "teal": 74, "source": "examples/reti/validatorRegistry.algo.ts:209", "pc": [ 105, 106 ] }, { "teal": 75, "source": "examples/reti/validatorRegistry.algo.ts:209", "pc": [ 107 ] }, { "teal": 76, "source": "examples/reti/validatorRegistry.algo.ts:209", "pc": [ 108, 109 ] }, { "teal": 77, "source": "examples/reti/validatorRegistry.algo.ts:209", "pc": [ 110 ] }, { "teal": 78, "source": "examples/reti/validatorRegistry.algo.ts:209", "pc": [ 111, 112 ] }, { "teal": 79, "source": "examples/reti/validatorRegistry.algo.ts:209", "pc": [ 113 ] }, { "teal": 80, "source": "examples/reti/validatorRegistry.algo.ts:209", "pc": [ 114 ] }, { "teal": 84, "source": "examples/reti/validatorRegistry.algo.ts:210", "pc": [ 115, 116 ] }, { "teal": 85, "source": "examples/reti/validatorRegistry.algo.ts:210", "pc": [ 117 ] }, { "teal": 86, "source": "examples/reti/validatorRegistry.algo.ts:210", "pc": [ 118 ] }, { "teal": 90, "source": "examples/reti/validatorRegistry.algo.ts:211", "pc": [ 119, 120 ] }, { "teal": 91, "source": "examples/reti/validatorRegistry.algo.ts:211", "pc": [ 121 ] }, { "teal": 92, "source": "examples/reti/validatorRegistry.algo.ts:211", "pc": [ 122 ] }, { "teal": 96, "source": "examples/reti/validatorRegistry.algo.ts:212", "pc": [ 123, 124 ] }, { "teal": 97, "source": "examples/reti/validatorRegistry.algo.ts:212", "pc": [ 125 ] }, { "teal": 98, "source": "examples/reti/validatorRegistry.algo.ts:212", "pc": [ 126 ] }, { "teal": 99, "source": "examples/reti/validatorRegistry.algo.ts:208", "pc": [ 127 ] }, { "teal": 104, "source": "examples/reti/validatorRegistry.algo.ts:215", "pc": [ 128, 129, 130 ] }, { "teal": 105, "source": "examples/reti/validatorRegistry.algo.ts:215", "pc": [ 131 ] }, { "teal": 108, "source": "examples/reti/validatorRegistry.algo.ts:215", "pc": [ 132, 133, 134 ] }, { "teal": 109, "source": "examples/reti/validatorRegistry.algo.ts:215", "pc": [ 135 ] }, { "teal": 110, "source": "examples/reti/validatorRegistry.algo.ts:215", "pc": [ 136 ] }, { "teal": 114, "source": "examples/reti/validatorRegistry.algo.ts:215", "pc": [ 137, 138, 139 ] }, { "teal": 118, "source": "examples/reti/validatorRegistry.algo.ts:217", "pc": [ 140, 141 ] }, { "teal": 119, "source": "examples/reti/validatorRegistry.algo.ts:217", "pc": [ 142, 143 ] }, { "teal": 120, "source": "examples/reti/validatorRegistry.algo.ts:217", "pc": [ 144 ] }, { "teal": 121, "source": "examples/reti/validatorRegistry.algo.ts:217", "pc": [ 145 ] }, { "teal": 122, "source": "examples/reti/validatorRegistry.algo.ts:215", "pc": [ 146 ] }, { "teal": 127, "source": "examples/reti/validatorRegistry.algo.ts:220", "pc": [ 147, 148, 149 ] }, { "teal": 128, "source": "examples/reti/validatorRegistry.algo.ts:220", "pc": [ 150, 151, 152 ] }, { "teal": 131, "source": "examples/reti/validatorRegistry.algo.ts:220", "pc": [ 153, 154, 155 ] }, { "teal": 132, "source": "examples/reti/validatorRegistry.algo.ts:220", "pc": [ 156 ] }, { "teal": 135, "source": "examples/reti/validatorRegistry.algo.ts:220", "pc": [ 157, 158, 159 ] }, { "teal": 136, "source": "examples/reti/validatorRegistry.algo.ts:220", "pc": [ 160 ] }, { "teal": 137, "source": "examples/reti/validatorRegistry.algo.ts:220", "pc": [ 161 ] }, { "teal": 141, "source": "examples/reti/validatorRegistry.algo.ts:220", "pc": [ 162, 163, 164 ] }, { "teal": 145, "source": "examples/reti/validatorRegistry.algo.ts:221", "pc": [ 165, 166 ] }, { "teal": 146, "source": "examples/reti/validatorRegistry.algo.ts:221", "pc": [ 167 ] }, { "teal": 147, "source": "examples/reti/validatorRegistry.algo.ts:221", "pc": [ 168 ] }, { "teal": 148, "source": "examples/reti/validatorRegistry.algo.ts:221", "pc": [ 169 ] }, { "teal": 149, "source": "examples/reti/validatorRegistry.algo.ts:221", "pc": [ 170 ] }, { "teal": 150, "source": "examples/reti/validatorRegistry.algo.ts:221", "pc": [ 171 ] }, { "teal": 154, "source": "examples/reti/validatorRegistry.algo.ts:222", "pc": [ 172, 173 ] }, { "teal": 155, "source": "examples/reti/validatorRegistry.algo.ts:222", "pc": [ 174, 175 ] }, { "teal": 156, "source": "examples/reti/validatorRegistry.algo.ts:222", "pc": [ 176, 177 ] }, { "teal": 157, "source": "examples/reti/validatorRegistry.algo.ts:222", "pc": [ 178 ] }, { "teal": 158, "source": "examples/reti/validatorRegistry.algo.ts:220", "pc": [ 179 ] }, { "teal": 163, "source": "examples/reti/validatorRegistry.algo.ts:225", "pc": [ 180, 181, 182 ] }, { "teal": 164, "source": "examples/reti/validatorRegistry.algo.ts:225", "pc": [ 183 ] }, { "teal": 165, "source": "examples/reti/validatorRegistry.algo.ts:225", "pc": [ 184 ] }, { "teal": 169, "source": "examples/reti/validatorRegistry.algo.ts:225", "pc": [ 185, 186, 187 ] }, { "teal": 173, "source": "examples/reti/validatorRegistry.algo.ts:226", "pc": [ 188, 189 ] }, { "teal": 174, "source": "examples/reti/validatorRegistry.algo.ts:226", "pc": [ 190 ] }, { "teal": 175, "source": "examples/reti/validatorRegistry.algo.ts:226", "pc": [ 191, 192 ] }, { "teal": 176, "source": "examples/reti/validatorRegistry.algo.ts:226", "pc": [ 193 ] }, { "teal": 177, "source": "examples/reti/validatorRegistry.algo.ts:226", "pc": [ 194, 195 ] }, { "teal": 178, "source": "examples/reti/validatorRegistry.algo.ts:226", "pc": [ 196 ] }, { "teal": 179, "source": "examples/reti/validatorRegistry.algo.ts:226", "pc": [ 197 ] }, { "teal": 180, "source": "examples/reti/validatorRegistry.algo.ts:225", "pc": [ 198 ] }, { "teal": 185, "source": "examples/reti/validatorRegistry.algo.ts:232", "pc": [ 199, 200, 201 ] }, { "teal": 186, "source": "examples/reti/validatorRegistry.algo.ts:232", "pc": [ 202 ] }, { "teal": 187, "source": "examples/reti/validatorRegistry.algo.ts:232", "pc": [ 203 ] }, { "teal": 193, "source": "examples/reti/validatorRegistry.algo.ts:232", "pc": [ 204, 205, 206 ] }, { "teal": 194, "source": "examples/reti/validatorRegistry.algo.ts:232", "pc": [ 207 ] }, { "teal": 199, "source": "examples/reti/validatorRegistry.algo.ts:243", "pc": [ 208 ] }, { "teal": 202, "source": "examples/reti/validatorRegistry.algo.ts:243", "pc": [ 209, 210, 211 ] }, { "teal": 203, "source": "examples/reti/validatorRegistry.algo.ts:243", "pc": [ 212 ] }, { "teal": 204, "source": "examples/reti/validatorRegistry.algo.ts:243", "pc": [ 213 ] }, { "teal": 205, "source": "examples/reti/validatorRegistry.algo.ts:243", "pc": [ 214 ] }, { "teal": 206, "source": "examples/reti/validatorRegistry.algo.ts:243", "pc": [ 215 ] }, { "teal": 218, "source": "examples/reti/validatorRegistry.algo.ts:243", "pc": [ 216, 217, 218 ] }, { "teal": 241, "source": "examples/reti/validatorRegistry.algo.ts:247", "pc": [ 219, 220, 221 ] }, { "teal": 242, "source": "examples/reti/validatorRegistry.algo.ts:247", "pc": [ 222, 223, 224 ] }, { "teal": 243, "source": "examples/reti/validatorRegistry.algo.ts:247", "pc": [ 225 ] }, { "teal": 244, "source": "examples/reti/validatorRegistry.algo.ts:257", "pc": [ 226, 227 ] }, { "teal": 245, "source": "examples/reti/validatorRegistry.algo.ts:256", "pc": [ 228, 229 ] }, { "teal": 246, "source": "examples/reti/validatorRegistry.algo.ts:255", "pc": [ 230 ] }, { "teal": 247, "source": "examples/reti/validatorRegistry.algo.ts:255", "pc": [ 231, 232 ] }, { "teal": 248, "source": "examples/reti/validatorRegistry.algo.ts:252", "pc": [ 233, 234 ] }, { "teal": 249, "source": "examples/reti/validatorRegistry.algo.ts:249", "pc": [ 235 ] }, { "teal": 250, "source": "examples/reti/validatorRegistry.algo.ts:248", "pc": [ 236, 237, 238 ] }, { "teal": 251, "source": "examples/reti/validatorRegistry.algo.ts:248", "pc": [ 239 ] }, { "teal": 252, "source": "examples/reti/validatorRegistry.algo.ts:248", "pc": [ 240 ] }, { "teal": 253, "source": "examples/reti/validatorRegistry.algo.ts:260", "pc": [ 241, 242 ] }, { "teal": 254, "source": "examples/reti/validatorRegistry.algo.ts:261", "pc": [ 243, 244, 245 ] }, { "teal": 255, "source": "examples/reti/validatorRegistry.algo.ts:261", "pc": [ 246, 247, 248 ] }, { "teal": 256, "source": "examples/reti/validatorRegistry.algo.ts:260", "pc": [ 249 ] }, { "teal": 257, "source": "examples/reti/validatorRegistry.algo.ts:260", "pc": [ 250 ] }, { "teal": 258, "source": "examples/reti/validatorRegistry.algo.ts:260", "pc": [ 251 ] }, { "teal": 259, "source": "examples/reti/validatorRegistry.algo.ts:264", "pc": [ 252, 253, 254 ] }, { "teal": 260, "source": "examples/reti/validatorRegistry.algo.ts:264", "pc": [ 255, 256, 257 ] }, { "teal": 261, "source": "examples/reti/validatorRegistry.algo.ts:264", "pc": [ 258 ] }, { "teal": 262, "source": "examples/reti/validatorRegistry.algo.ts:264", "pc": [ 259 ] }, { "teal": 263, "source": "examples/reti/validatorRegistry.algo.ts:243", "pc": [ 260 ] }, { "teal": 268, "source": "examples/reti/validatorRegistry.algo.ts:271", "pc": [ 261 ] }, { "teal": 271, "source": "examples/reti/validatorRegistry.algo.ts:271", "pc": [ 262, 263, 264 ] }, { "teal": 272, "source": "examples/reti/validatorRegistry.algo.ts:271", "pc": [ 265 ] }, { "teal": 273, "source": "examples/reti/validatorRegistry.algo.ts:271", "pc": [ 266 ] }, { "teal": 274, "source": "examples/reti/validatorRegistry.algo.ts:271", "pc": [ 267 ] }, { "teal": 275, "source": "examples/reti/validatorRegistry.algo.ts:271", "pc": [ 268 ] }, { "teal": 281, "source": "examples/reti/validatorRegistry.algo.ts:271", "pc": [ 269, 270, 271 ] }, { "teal": 297, "source": "examples/reti/validatorRegistry.algo.ts:277", "pc": [ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313 ] }, { "teal": 298, "source": "examples/reti/validatorRegistry.algo.ts:278", "pc": [ 314, 315, 316 ] }, { "teal": 299, "source": "examples/reti/validatorRegistry.algo.ts:278", "pc": [ 317 ] }, { "teal": 300, "source": "examples/reti/validatorRegistry.algo.ts:278", "pc": [ 318 ] }, { "teal": 301, "source": "examples/reti/validatorRegistry.algo.ts:279", "pc": [ 319, 320, 321 ] }, { "teal": 302, "source": "examples/reti/validatorRegistry.algo.ts:279", "pc": [ 322 ] }, { "teal": 303, "source": "examples/reti/validatorRegistry.algo.ts:279", "pc": [ 323 ] }, { "teal": 304, "source": "examples/reti/validatorRegistry.algo.ts:280", "pc": [ 324, 325, 326 ] }, { "teal": 305, "source": "examples/reti/validatorRegistry.algo.ts:280", "pc": [ 327 ] }, { "teal": 306, "source": "examples/reti/validatorRegistry.algo.ts:280", "pc": [ 328 ] }, { "teal": 307, "source": "examples/reti/validatorRegistry.algo.ts:281", "pc": [ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338 ] }, { "teal": 308, "source": "examples/reti/validatorRegistry.algo.ts:281", "pc": [ 339 ] }, { "teal": 309, "source": "examples/reti/validatorRegistry.algo.ts:282", "pc": [ 340, 341, 342, 343, 344, 345, 346, 347, 348, 349 ] }, { "teal": 310, "source": "examples/reti/validatorRegistry.algo.ts:282", "pc": [ 350 ] }, { "teal": 311, "source": "examples/reti/validatorRegistry.algo.ts:283", "pc": [ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360 ] }, { "teal": 312, "source": "examples/reti/validatorRegistry.algo.ts:283", "pc": [ 361 ] }, { "teal": 313, "source": "examples/reti/validatorRegistry.algo.ts:271", "pc": [ 362 ] }, { "teal": 318, "source": "examples/reti/validatorRegistry.algo.ts:291", "pc": [ 363 ] }, { "teal": 321, "source": "examples/reti/validatorRegistry.algo.ts:291", "pc": [ 364, 365, 366 ] }, { "teal": 322, "source": "examples/reti/validatorRegistry.algo.ts:291", "pc": [ 367 ] }, { "teal": 323, "source": "examples/reti/validatorRegistry.algo.ts:291", "pc": [ 368 ] }, { "teal": 324, "source": "examples/reti/validatorRegistry.algo.ts:291", "pc": [ 369 ] }, { "teal": 325, "source": "examples/reti/validatorRegistry.algo.ts:291", "pc": [ 370 ] }, { "teal": 326, "source": "examples/reti/validatorRegistry.algo.ts:291", "pc": [ 371 ] }, { "teal": 332, "source": "examples/reti/validatorRegistry.algo.ts:291", "pc": [ 372, 373, 374 ] }, { "teal": 336, "source": "examples/reti/validatorRegistry.algo.ts:292", "pc": [ 375, 376 ] }, { "teal": 337, "source": "examples/reti/validatorRegistry.algo.ts:292", "pc": [ 377 ] }, { "teal": 338, "source": "examples/reti/validatorRegistry.algo.ts:291", "pc": [ 378 ] }, { "teal": 343, "source": "examples/reti/validatorRegistry.algo.ts:296", "pc": [ 379 ] }, { "teal": 346, "source": "examples/reti/validatorRegistry.algo.ts:296", "pc": [ 380, 381, 382 ] }, { "teal": 347, "source": "examples/reti/validatorRegistry.algo.ts:296", "pc": [ 383 ] }, { "teal": 350, "source": "examples/reti/validatorRegistry.algo.ts:296", "pc": [ 384, 385, 386 ] }, { "teal": 351, "source": "examples/reti/validatorRegistry.algo.ts:296", "pc": [ 387 ] }, { "teal": 352, "source": "examples/reti/validatorRegistry.algo.ts:296", "pc": [ 388 ] }, { "teal": 353, "source": "examples/reti/validatorRegistry.algo.ts:296", "pc": [ 389 ] }, { "teal": 354, "source": "examples/reti/validatorRegistry.algo.ts:296", "pc": [ 390 ] }, { "teal": 358, "source": "examples/reti/validatorRegistry.algo.ts:296", "pc": [ 391, 392, 393 ] }, { "teal": 362, "source": "examples/reti/validatorRegistry.algo.ts:297", "pc": [ 394 ] }, { "teal": 363, "source": "examples/reti/validatorRegistry.algo.ts:297", "pc": [ 395, 396 ] }, { "teal": 364, "source": "examples/reti/validatorRegistry.algo.ts:297", "pc": [ 397 ] }, { "teal": 365, "source": "examples/reti/validatorRegistry.algo.ts:297", "pc": [ 398, 399 ] }, { "teal": 366, "source": "examples/reti/validatorRegistry.algo.ts:297", "pc": [ 400 ] }, { "teal": 367, "source": "examples/reti/validatorRegistry.algo.ts:297", "pc": [ 401 ] }, { "teal": 368, "source": "examples/reti/validatorRegistry.algo.ts:297", "pc": [ 402, 403 ] }, { "teal": 369, "source": "examples/reti/validatorRegistry.algo.ts:297", "pc": [ 404 ] }, { "teal": 370, "source": "examples/reti/validatorRegistry.algo.ts:296", "pc": [ 405 ] }, { "teal": 375, "source": "examples/reti/validatorRegistry.algo.ts:301", "pc": [ 406 ] }, { "teal": 378, "source": "examples/reti/validatorRegistry.algo.ts:301", "pc": [ 407, 408, 409 ] }, { "teal": 379, "source": "examples/reti/validatorRegistry.algo.ts:301", "pc": [ 410 ] }, { "teal": 382, "source": "examples/reti/validatorRegistry.algo.ts:301", "pc": [ 411, 412, 413 ] }, { "teal": 383, "source": "examples/reti/validatorRegistry.algo.ts:301", "pc": [ 414 ] }, { "teal": 384, "source": "examples/reti/validatorRegistry.algo.ts:301", "pc": [ 415 ] }, { "teal": 385, "source": "examples/reti/validatorRegistry.algo.ts:301", "pc": [ 416 ] }, { "teal": 386, "source": "examples/reti/validatorRegistry.algo.ts:301", "pc": [ 417 ] }, { "teal": 390, "source": "examples/reti/validatorRegistry.algo.ts:301", "pc": [ 418, 419, 420 ] }, { "teal": 394, "source": "examples/reti/validatorRegistry.algo.ts:302", "pc": [ 421, 422 ] }, { "teal": 395, "source": "examples/reti/validatorRegistry.algo.ts:302", "pc": [ 423, 424 ] }, { "teal": 396, "source": "examples/reti/validatorRegistry.algo.ts:302", "pc": [ 425 ] }, { "teal": 397, "source": "examples/reti/validatorRegistry.algo.ts:302", "pc": [ 426, 427 ] }, { "teal": 398, "source": "examples/reti/validatorRegistry.algo.ts:302", "pc": [ 428 ] }, { "teal": 399, "source": "examples/reti/validatorRegistry.algo.ts:302", "pc": [ 429 ] }, { "teal": 400, "source": "examples/reti/validatorRegistry.algo.ts:302", "pc": [ 430, 431 ] }, { "teal": 401, "source": "examples/reti/validatorRegistry.algo.ts:302", "pc": [ 432 ] }, { "teal": 402, "source": "examples/reti/validatorRegistry.algo.ts:301", "pc": [ 433 ] }, { "teal": 407, "source": "examples/reti/validatorRegistry.algo.ts:306", "pc": [ 434 ] }, { "teal": 410, "source": "examples/reti/validatorRegistry.algo.ts:306", "pc": [ 435, 436, 437 ] }, { "teal": 411, "source": "examples/reti/validatorRegistry.algo.ts:306", "pc": [ 438 ] }, { "teal": 414, "source": "examples/reti/validatorRegistry.algo.ts:306", "pc": [ 439, 440, 441 ] }, { "teal": 415, "source": "examples/reti/validatorRegistry.algo.ts:306", "pc": [ 442 ] }, { "teal": 416, "source": "examples/reti/validatorRegistry.algo.ts:306", "pc": [ 443 ] }, { "teal": 417, "source": "examples/reti/validatorRegistry.algo.ts:306", "pc": [ 444 ] }, { "teal": 418, "source": "examples/reti/validatorRegistry.algo.ts:306", "pc": [ 445 ] }, { "teal": 422, "source": "examples/reti/validatorRegistry.algo.ts:306", "pc": [ 446, 447, 448 ] }, { "teal": 426, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ 449 ] }, { "teal": 427, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ 450, 451 ] }, { "teal": 428, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ 452 ] }, { "teal": 429, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ 453, 454 ] }, { "teal": 430, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ 455 ] }, { "teal": 431, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ 456 ] }, { "teal": 432, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ 457, 458 ] }, { "teal": 433, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ 459 ] }, { "teal": 434, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ 460, 461 ] }, { "teal": 435, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ 462, 463 ] }, { "teal": 436, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ 464 ] }, { "teal": 437, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ 465, 466 ] }, { "teal": 438, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ 467 ] }, { "teal": 439, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ 468 ] }, { "teal": 440, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ 469, 470 ] }, { "teal": 441, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ 471 ] }, { "teal": 442, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ 472 ] }, { "teal": 443, "source": "examples/reti/validatorRegistry.algo.ts:306", "pc": [ 473 ] }, { "teal": 448, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 474 ] }, { "teal": 451, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 475, 476, 477 ] }, { "teal": 452, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 478 ] }, { "teal": 455, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 479, 480, 481 ] }, { "teal": 456, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 482 ] }, { "teal": 457, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 483 ] }, { "teal": 458, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 484, 485 ] }, { "teal": 459, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 486 ] }, { "teal": 460, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 487 ] }, { "teal": 461, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 488, 489, 490 ] }, { "teal": 462, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 491 ] }, { "teal": 463, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 492 ] }, { "teal": 464, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 493 ] }, { "teal": 465, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 494 ] }, { "teal": 466, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 495 ] }, { "teal": 467, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 496 ] }, { "teal": 476, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 497, 498, 499 ] }, { "teal": 479, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 500 ] }, { "teal": 480, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 501, 502 ] }, { "teal": 484, "source": "examples/reti/validatorRegistry.algo.ts:318", "pc": [ 503 ] }, { "teal": 485, "source": "examples/reti/validatorRegistry.algo.ts:318", "pc": [ 504, 505 ] }, { "teal": 489, "source": "examples/reti/validatorRegistry.algo.ts:319", "pc": [ 506, 507 ] }, { "teal": 490, "source": "examples/reti/validatorRegistry.algo.ts:319", "pc": [ 508, 509 ] }, { "teal": 491, "source": "examples/reti/validatorRegistry.algo.ts:319", "pc": [ 510 ] }, { "teal": 492, "source": "examples/reti/validatorRegistry.algo.ts:319", "pc": [ 511, 512 ] }, { "teal": 493, "source": "examples/reti/validatorRegistry.algo.ts:319", "pc": [ 513 ] }, { "teal": 494, "source": "examples/reti/validatorRegistry.algo.ts:319", "pc": [ 514 ] }, { "teal": 495, "source": "examples/reti/validatorRegistry.algo.ts:319", "pc": [ 515, 516 ] }, { "teal": 496, "source": "examples/reti/validatorRegistry.algo.ts:319", "pc": [ 517 ] }, { "teal": 497, "source": "examples/reti/validatorRegistry.algo.ts:319", "pc": [ 518, 519 ] }, { "teal": 501, "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ 520 ] }, { "teal": 502, "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ 521, 522 ] }, { "teal": 507, "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ 523, 524 ] }, { "teal": 508, "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ 525 ] }, { "teal": 509, "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ 526 ] }, { "teal": 510, "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ 527, 528, 529 ] }, { "teal": 515, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ 530, 531 ] }, { "teal": 516, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ 532, 533 ] }, { "teal": 517, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ 534, 535 ] }, { "teal": 518, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ 536 ] }, { "teal": 519, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ 537 ] }, { "teal": 520, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ 538 ] }, { "teal": 521, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ 539 ] }, { "teal": 522, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ 540 ] }, { "teal": 523, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ 541 ] }, { "teal": 524, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ 542 ] }, { "teal": 525, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ 543 ] }, { "teal": 526, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ 544, 545, 546 ] }, { "teal": 529, "source": "examples/reti/validatorRegistry.algo.ts:323", "pc": [ 547, 548, 549 ] }, { "teal": 534, "source": "examples/reti/validatorRegistry.algo.ts:325", "pc": [ 550, 551 ] }, { "teal": 535, "source": "examples/reti/validatorRegistry.algo.ts:325", "pc": [ 552, 553 ] }, { "teal": 536, "source": "examples/reti/validatorRegistry.algo.ts:325", "pc": [ 554, 555 ] }, { "teal": 537, "source": "examples/reti/validatorRegistry.algo.ts:325", "pc": [ 556, 557 ] }, { "teal": 538, "source": "examples/reti/validatorRegistry.algo.ts:325", "pc": [ 558 ] }, { "teal": 539, "source": "examples/reti/validatorRegistry.algo.ts:325", "pc": [ 559, 560 ] }, { "teal": 540, "source": "examples/reti/validatorRegistry.algo.ts:325", "pc": [ 561 ] }, { "teal": 541, "source": "examples/reti/validatorRegistry.algo.ts:325", "pc": [ 562 ] }, { "teal": 542, "source": "examples/reti/validatorRegistry.algo.ts:325", "pc": [ 563, 564 ] }, { "teal": 547, "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ 565, 566 ] }, { "teal": 548, "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ 567 ] }, { "teal": 549, "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ 568 ] }, { "teal": 550, "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ 569, 570 ] }, { "teal": 551, "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ 571, 572, 573 ] }, { "teal": 556, "source": "examples/reti/validatorRegistry.algo.ts:327", "pc": [ 574, 575 ] }, { "teal": 559, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 576, 577 ] }, { "teal": 562, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 578, 579 ] }, { "teal": 563, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 580 ] }, { "teal": 568, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ 581 ] }, { "teal": 571, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ 582, 583, 584 ] }, { "teal": 572, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ 585 ] }, { "teal": 575, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ 586, 587, 588 ] }, { "teal": 576, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ 589 ] }, { "teal": 579, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ 590, 591, 592 ] }, { "teal": 580, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ 593 ] }, { "teal": 581, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ 594 ] }, { "teal": 582, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ 595 ] }, { "teal": 583, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ 596 ] }, { "teal": 584, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ 597 ] }, { "teal": 588, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ 598, 599, 600 ] }, { "teal": 595, "source": "examples/reti/validatorRegistry.algo.ts:336", "pc": [ 601, 602 ] }, { "teal": 596, "source": "examples/reti/validatorRegistry.algo.ts:336", "pc": [ 603 ] }, { "teal": 597, "source": "examples/reti/validatorRegistry.algo.ts:336", "pc": [ 604 ] }, { "teal": 598, "source": "examples/reti/validatorRegistry.algo.ts:336", "pc": [ 605 ] }, { "teal": 599, "source": "examples/reti/validatorRegistry.algo.ts:336", "pc": [ 606, 607, 608 ] }, { "teal": 600, "source": "examples/reti/validatorRegistry.algo.ts:336", "pc": [ 609, 610 ] }, { "teal": 601, "source": "examples/reti/validatorRegistry.algo.ts:336", "pc": [ 611 ] }, { "teal": 602, "source": "examples/reti/validatorRegistry.algo.ts:336", "pc": [ 612 ] }, { "teal": 603, "source": "examples/reti/validatorRegistry.algo.ts:336", "pc": [ 613 ] }, { "teal": 607, "source": "examples/reti/validatorRegistry.algo.ts:335", "errorMessage": "pool id must be between 1 and number of pools for this validator", "pc": [ 614 ] }, { "teal": 611, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ 615, 616 ] }, { "teal": 612, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ 617, 618 ] }, { "teal": 613, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ 619 ] }, { "teal": 614, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ 620 ] }, { "teal": 615, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ 621, 622 ] }, { "teal": 616, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ 623 ] }, { "teal": 617, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ 624 ] }, { "teal": 618, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ 625 ] }, { "teal": 619, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ 626 ] }, { "teal": 620, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ 627 ] }, { "teal": 621, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ 628 ] }, { "teal": 622, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ 629, 630 ] }, { "teal": 623, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ 631 ] }, { "teal": 624, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ 632 ] }, { "teal": 625, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ 633, 634 ] }, { "teal": 626, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ 635 ] }, { "teal": 627, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ 636 ] }, { "teal": 628, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ 637 ] }, { "teal": 633, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ 638 ] }, { "teal": 636, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ 639, 640, 641 ] }, { "teal": 637, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ 642 ] }, { "teal": 638, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ 643 ] }, { "teal": 639, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ 644 ] }, { "teal": 640, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ 645 ] }, { "teal": 643, "source": "examples/reti/validatorRegistry.algo.ts:343", "errorMessage": "argument 0 (poolKey) for getPoolInfo must be a (uint64,uint64,uint64)", "pc": [ 646 ] }, { "teal": 646, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ 647, 648, 649 ] }, { "teal": 647, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ 650 ] }, { "teal": 648, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ 651 ] }, { "teal": 649, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ 652 ] }, { "teal": 650, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ 653 ] }, { "teal": 654, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ 654, 655, 656 ] }, { "teal": 658, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ 657, 658 ] }, { "teal": 659, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ 659, 660 ] }, { "teal": 660, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ 661, 662, 663 ] }, { "teal": 661, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ 664 ] }, { "teal": 662, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ 665 ] }, { "teal": 663, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ 666 ] }, { "teal": 664, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ 667, 668 ] }, { "teal": 665, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ 669 ] }, { "teal": 666, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ 670 ] }, { "teal": 667, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ 671, 672 ] }, { "teal": 668, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ 673 ] }, { "teal": 669, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ 674, 675 ] }, { "teal": 670, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ 676, 677, 678 ] }, { "teal": 671, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ 679 ] }, { "teal": 672, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ 680 ] }, { "teal": 673, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ 681 ] }, { "teal": 674, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ 682, 683 ] }, { "teal": 675, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ 684 ] }, { "teal": 676, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ 685 ] }, { "teal": 681, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ 686 ] }, { "teal": 684, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ 687, 688, 689 ] }, { "teal": 685, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ 690 ] }, { "teal": 688, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ 691, 692, 693 ] }, { "teal": 689, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ 694 ] }, { "teal": 690, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ 695 ] }, { "teal": 691, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ 696 ] }, { "teal": 692, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ 697 ] }, { "teal": 693, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ 698 ] }, { "teal": 703, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ 699, 700, 701 ] }, { "teal": 706, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ 702 ] }, { "teal": 707, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ 703, 704 ] }, { "teal": 711, "source": "examples/reti/validatorRegistry.algo.ts:355", "pc": [ 705, 706 ] }, { "teal": 712, "source": "examples/reti/validatorRegistry.algo.ts:355", "pc": [ 707, 708 ] }, { "teal": 713, "source": "examples/reti/validatorRegistry.algo.ts:355", "pc": [ 709 ] }, { "teal": 714, "source": "examples/reti/validatorRegistry.algo.ts:355", "pc": [ 710, 711 ] }, { "teal": 715, "source": "examples/reti/validatorRegistry.algo.ts:355", "pc": [ 712 ] }, { "teal": 716, "source": "examples/reti/validatorRegistry.algo.ts:355", "pc": [ 713 ] }, { "teal": 717, "source": "examples/reti/validatorRegistry.algo.ts:355", "pc": [ 714, 715 ] }, { "teal": 718, "source": "examples/reti/validatorRegistry.algo.ts:355", "pc": [ 716 ] }, { "teal": 719, "source": "examples/reti/validatorRegistry.algo.ts:355", "pc": [ 717 ] }, { "teal": 720, "source": "examples/reti/validatorRegistry.algo.ts:355", "pc": [ 718, 719 ] }, { "teal": 724, "source": "examples/reti/validatorRegistry.algo.ts:356", "pc": [ 720, 721, 722 ] }, { "teal": 725, "source": "examples/reti/validatorRegistry.algo.ts:356", "pc": [ 723, 724 ] }, { "teal": 726, "source": "examples/reti/validatorRegistry.algo.ts:356", "pc": [ 725 ] }, { "teal": 727, "source": "examples/reti/validatorRegistry.algo.ts:356", "pc": [ 726, 727 ] }, { "teal": 731, "source": "examples/reti/validatorRegistry.algo.ts:357", "pc": [ 728, 729, 730 ] }, { "teal": 732, "source": "examples/reti/validatorRegistry.algo.ts:357", "pc": [ 731 ] }, { "teal": 733, "source": "examples/reti/validatorRegistry.algo.ts:357", "pc": [ 732 ] }, { "teal": 734, "source": "examples/reti/validatorRegistry.algo.ts:357", "pc": [ 733, 734 ] }, { "teal": 735, "source": "examples/reti/validatorRegistry.algo.ts:357", "pc": [ 735 ] }, { "teal": 736, "source": "examples/reti/validatorRegistry.algo.ts:357", "pc": [ 736 ] }, { "teal": 737, "source": "examples/reti/validatorRegistry.algo.ts:357", "pc": [ 737, 738 ] }, { "teal": 738, "source": "examples/reti/validatorRegistry.algo.ts:357", "pc": [ 739 ] }, { "teal": 739, "source": "examples/reti/validatorRegistry.algo.ts:357", "pc": [ 740 ] }, { "teal": 740, "source": "examples/reti/validatorRegistry.algo.ts:357", "pc": [ 741, 742 ] }, { "teal": 745, "source": "examples/reti/validatorRegistry.algo.ts:358", "pc": [ 743, 744 ] }, { "teal": 746, "source": "examples/reti/validatorRegistry.algo.ts:358", "pc": [ 745 ] }, { "teal": 747, "source": "examples/reti/validatorRegistry.algo.ts:358", "pc": [ 746 ] }, { "teal": 748, "source": "examples/reti/validatorRegistry.algo.ts:358", "pc": [ 747, 748, 749 ] }, { "teal": 753, "source": "examples/reti/validatorRegistry.algo.ts:359", "pc": [ 750, 751, 752 ] }, { "teal": 754, "source": "examples/reti/validatorRegistry.algo.ts:359", "pc": [ 753, 754 ] }, { "teal": 760, "source": "examples/reti/validatorRegistry.algo.ts:361", "pc": [ 755, 756 ] }, { "teal": 761, "source": "examples/reti/validatorRegistry.algo.ts:361", "pc": [ 757, 758 ] }, { "teal": 762, "source": "examples/reti/validatorRegistry.algo.ts:361", "pc": [ 759 ] }, { "teal": 763, "source": "examples/reti/validatorRegistry.algo.ts:361", "pc": [ 760, 761, 762 ] }, { "teal": 768, "source": "examples/reti/validatorRegistry.algo.ts:362", "pc": [ 763, 764 ] }, { "teal": 769, "source": "examples/reti/validatorRegistry.algo.ts:362", "pc": [ 765, 766 ] }, { "teal": 774, "source": "examples/reti/validatorRegistry.algo.ts:364", "pc": [ 767, 768 ] }, { "teal": 777, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ 769, 770 ] }, { "teal": 780, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ 771, 772 ] }, { "teal": 781, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ 773 ] }, { "teal": 786, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ 774 ] }, { "teal": 789, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ 775, 776, 777 ] }, { "teal": 790, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ 778 ] }, { "teal": 791, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ 779 ] }, { "teal": 792, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ 780, 781 ] }, { "teal": 793, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ 782 ] }, { "teal": 796, "source": "examples/reti/validatorRegistry.algo.ts:372", "errorMessage": "argument 0 (staker) for doesStakerNeedToPayMBR must be a address", "pc": [ 783 ] }, { "teal": 799, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ 784, 785, 786 ] }, { "teal": 800, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ 787, 788 ] }, { "teal": 801, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ 789 ] }, { "teal": 802, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ 790, 791 ] }, { "teal": 803, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ 792 ] }, { "teal": 804, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ 793 ] }, { "teal": 805, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ 794 ] }, { "teal": 806, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ 795 ] }, { "teal": 807, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ 796 ] }, { "teal": 814, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ 797, 798, 799 ] }, { "teal": 818, "source": "examples/reti/validatorRegistry.algo.ts:373", "pc": [ 800 ] }, { "teal": 819, "source": "examples/reti/validatorRegistry.algo.ts:373", "pc": [ 801, 802 ] }, { "teal": 820, "source": "examples/reti/validatorRegistry.algo.ts:373", "pc": [ 803 ] }, { "teal": 821, "source": "examples/reti/validatorRegistry.algo.ts:373", "pc": [ 804 ] }, { "teal": 822, "source": "examples/reti/validatorRegistry.algo.ts:373", "pc": [ 805 ] }, { "teal": 823, "source": "examples/reti/validatorRegistry.algo.ts:373", "pc": [ 806 ] }, { "teal": 824, "source": "examples/reti/validatorRegistry.algo.ts:373", "pc": [ 807 ] }, { "teal": 825, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ 808 ] }, { "teal": 830, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 809 ] }, { "teal": 833, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 810, 811, 812 ] }, { "teal": 834, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 813 ] }, { "teal": 835, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 814 ] }, { "teal": 836, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 815, 816 ] }, { "teal": 837, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 817 ] }, { "teal": 840, "source": "examples/reti/validatorRegistry.algo.ts:382", "errorMessage": "argument 0 (staker) for getStakedPoolsForAccount must be a address", "pc": [ 818 ] }, { "teal": 843, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 819, 820, 821 ] }, { "teal": 844, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 822 ] }, { "teal": 845, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 823 ] }, { "teal": 846, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 824 ] }, { "teal": 847, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 825 ] }, { "teal": 848, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 826 ] }, { "teal": 849, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 827, 828, 829 ] }, { "teal": 850, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 830 ] }, { "teal": 851, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 831 ] }, { "teal": 852, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 832 ] }, { "teal": 853, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 833 ] }, { "teal": 854, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 834 ] }, { "teal": 855, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 835 ] }, { "teal": 864, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 836, 837, 838 ] }, { "teal": 867, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 839 ] }, { "teal": 868, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 840, 841 ] }, { "teal": 873, "source": "examples/reti/validatorRegistry.algo.ts:383", "pc": [ 842 ] }, { "teal": 874, "source": "examples/reti/validatorRegistry.algo.ts:383", "pc": [ 843, 844 ] }, { "teal": 875, "source": "examples/reti/validatorRegistry.algo.ts:383", "pc": [ 845 ] }, { "teal": 876, "source": "examples/reti/validatorRegistry.algo.ts:383", "pc": [ 846 ] }, { "teal": 877, "source": "examples/reti/validatorRegistry.algo.ts:383", "pc": [ 847 ] }, { "teal": 878, "source": "examples/reti/validatorRegistry.algo.ts:383", "pc": [ 848 ] }, { "teal": 879, "source": "examples/reti/validatorRegistry.algo.ts:383", "pc": [ 849 ] }, { "teal": 880, "source": "examples/reti/validatorRegistry.algo.ts:383", "pc": [ 850, 851, 852 ] }, { "teal": 885, "source": "examples/reti/validatorRegistry.algo.ts:384", "pc": [ 853 ] }, { "teal": 886, "source": "examples/reti/validatorRegistry.algo.ts:384", "pc": [ 854, 855, 856 ] }, { "teal": 891, "source": "examples/reti/validatorRegistry.algo.ts:386", "pc": [ 857 ] }, { "teal": 892, "source": "examples/reti/validatorRegistry.algo.ts:386", "pc": [ 858, 859 ] }, { "teal": 896, "source": "examples/reti/validatorRegistry.algo.ts:387", "pc": [ 860 ] }, { "teal": 897, "source": "examples/reti/validatorRegistry.algo.ts:387", "pc": [ 861, 862 ] }, { "teal": 898, "source": "examples/reti/validatorRegistry.algo.ts:387", "pc": [ 863 ] }, { "teal": 899, "source": "examples/reti/validatorRegistry.algo.ts:387", "pc": [ 864 ] }, { "teal": 902, "source": "examples/reti/validatorRegistry.algo.ts:387", "errorMessage": "box value does not exist: this.stakerPoolSet(staker).value", "pc": [ 865 ] }, { "teal": 903, "source": "examples/reti/validatorRegistry.algo.ts:387", "pc": [ 866, 867 ] }, { "teal": 907, "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ 868 ] }, { "teal": 908, "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ 869, 870 ] }, { "teal": 913, "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ 871, 872 ] }, { "teal": 914, "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ 873, 874 ] }, { "teal": 915, "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ 875 ] }, { "teal": 916, "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ 876, 877, 878 ] }, { "teal": 921, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ 879, 880 ] }, { "teal": 922, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ 881, 882 ] }, { "teal": 923, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ 883 ] }, { "teal": 924, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ 884 ] }, { "teal": 925, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ 885 ] }, { "teal": 926, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ 886 ] }, { "teal": 927, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ 887 ] }, { "teal": 928, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ 888 ] }, { "teal": 929, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ 889 ] }, { "teal": 930, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ 890 ] }, { "teal": 931, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ 891 ] }, { "teal": 932, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ 892, 893, 894 ] }, { "teal": 937, "source": "examples/reti/validatorRegistry.algo.ts:390", "pc": [ 895, 896 ] }, { "teal": 938, "source": "examples/reti/validatorRegistry.algo.ts:390", "pc": [ 897, 898 ] }, { "teal": 939, "source": "examples/reti/validatorRegistry.algo.ts:390", "pc": [ 899, 900 ] }, { "teal": 940, "source": "examples/reti/validatorRegistry.algo.ts:390", "pc": [ 901 ] }, { "teal": 941, "source": "examples/reti/validatorRegistry.algo.ts:390", "pc": [ 902 ] }, { "teal": 942, "source": "examples/reti/validatorRegistry.algo.ts:390", "pc": [ 903 ] }, { "teal": 943, "source": "examples/reti/validatorRegistry.algo.ts:390", "pc": [ 904 ] }, { "teal": 944, "source": "examples/reti/validatorRegistry.algo.ts:390", "pc": [ 905 ] }, { "teal": 945, "source": "examples/reti/validatorRegistry.algo.ts:390", "pc": [ 906, 907 ] }, { "teal": 952, "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ 908, 909 ] }, { "teal": 953, "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ 910 ] }, { "teal": 954, "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ 911 ] }, { "teal": 955, "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ 912, 913 ] }, { "teal": 956, "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ 914, 915, 916 ] }, { "teal": 961, "source": "examples/reti/validatorRegistry.algo.ts:393", "pc": [ 917, 918 ] }, { "teal": 965, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 919, 920 ] }, { "teal": 968, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 921, 922 ] }, { "teal": 969, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 923 ] }, { "teal": 974, "source": "examples/reti/validatorRegistry.algo.ts:404", "pc": [ 924 ] }, { "teal": 977, "source": "examples/reti/validatorRegistry.algo.ts:404", "pc": [ 925, 926, 927 ] }, { "teal": 978, "source": "examples/reti/validatorRegistry.algo.ts:404", "pc": [ 928 ] }, { "teal": 981, "source": "examples/reti/validatorRegistry.algo.ts:404", "pc": [ 929, 930, 931 ] }, { "teal": 982, "source": "examples/reti/validatorRegistry.algo.ts:404", "pc": [ 932 ] }, { "teal": 983, "source": "examples/reti/validatorRegistry.algo.ts:404", "pc": [ 933 ] }, { "teal": 984, "source": "examples/reti/validatorRegistry.algo.ts:404", "pc": [ 934 ] }, { "teal": 985, "source": "examples/reti/validatorRegistry.algo.ts:404", "pc": [ 935 ] }, { "teal": 995, "source": "examples/reti/validatorRegistry.algo.ts:404", "pc": [ 936, 937, 938 ] }, { "teal": 999, "source": "examples/reti/validatorRegistry.algo.ts:405", "pc": [ 939, 940 ] }, { "teal": 1000, "source": "examples/reti/validatorRegistry.algo.ts:405", "pc": [ 941, 942 ] }, { "teal": 1001, "source": "examples/reti/validatorRegistry.algo.ts:405", "pc": [ 943 ] }, { "teal": 1002, "source": "examples/reti/validatorRegistry.algo.ts:405", "pc": [ 944, 945 ] }, { "teal": 1003, "source": "examples/reti/validatorRegistry.algo.ts:405", "pc": [ 946 ] }, { "teal": 1004, "source": "examples/reti/validatorRegistry.algo.ts:405", "pc": [ 947 ] }, { "teal": 1005, "source": "examples/reti/validatorRegistry.algo.ts:405", "pc": [ 948, 949 ] }, { "teal": 1006, "source": "examples/reti/validatorRegistry.algo.ts:405", "pc": [ 950 ] }, { "teal": 1007, "source": "examples/reti/validatorRegistry.algo.ts:404", "pc": [ 951 ] }, { "teal": 1012, "source": "examples/reti/validatorRegistry.algo.ts:409", "pc": [ 952 ] }, { "teal": 1015, "source": "examples/reti/validatorRegistry.algo.ts:409", "pc": [ 953, 954, 955 ] }, { "teal": 1016, "source": "examples/reti/validatorRegistry.algo.ts:409", "pc": [ 956 ] }, { "teal": 1019, "source": "examples/reti/validatorRegistry.algo.ts:409", "pc": [ 957, 958, 959 ] }, { "teal": 1020, "source": "examples/reti/validatorRegistry.algo.ts:409", "pc": [ 960 ] }, { "teal": 1021, "source": "examples/reti/validatorRegistry.algo.ts:409", "pc": [ 961 ] }, { "teal": 1022, "source": "examples/reti/validatorRegistry.algo.ts:409", "pc": [ 962 ] }, { "teal": 1023, "source": "examples/reti/validatorRegistry.algo.ts:409", "pc": [ 963 ] }, { "teal": 1027, "source": "examples/reti/validatorRegistry.algo.ts:409", "pc": [ 964, 965, 966 ] }, { "teal": 1031, "source": "examples/reti/validatorRegistry.algo.ts:410", "pc": [ 967 ] }, { "teal": 1032, "source": "examples/reti/validatorRegistry.algo.ts:410", "pc": [ 968, 969 ] }, { "teal": 1033, "source": "examples/reti/validatorRegistry.algo.ts:410", "pc": [ 970 ] }, { "teal": 1034, "source": "examples/reti/validatorRegistry.algo.ts:410", "pc": [ 971 ] }, { "teal": 1035, "source": "examples/reti/validatorRegistry.algo.ts:410", "pc": [ 972 ] }, { "teal": 1036, "source": "examples/reti/validatorRegistry.algo.ts:410", "pc": [ 973 ] }, { "teal": 1037, "source": "examples/reti/validatorRegistry.algo.ts:410", "pc": [ 974 ] }, { "teal": 1040, "source": "examples/reti/validatorRegistry.algo.ts:410", "errorMessage": "the specified validator id doesn't exist", "pc": [ 975 ] }, { "teal": 1044, "source": "examples/reti/validatorRegistry.algo.ts:412", "pc": [ 976, 977 ] }, { "teal": 1045, "source": "examples/reti/validatorRegistry.algo.ts:412", "pc": [ 978, 979 ] }, { "teal": 1046, "source": "examples/reti/validatorRegistry.algo.ts:412", "pc": [ 980 ] }, { "teal": 1047, "source": "examples/reti/validatorRegistry.algo.ts:412", "pc": [ 981, 982 ] }, { "teal": 1048, "source": "examples/reti/validatorRegistry.algo.ts:412", "pc": [ 983 ] }, { "teal": 1049, "source": "examples/reti/validatorRegistry.algo.ts:412", "pc": [ 984 ] }, { "teal": 1050, "source": "examples/reti/validatorRegistry.algo.ts:412", "pc": [ 985, 986 ] }, { "teal": 1051, "source": "examples/reti/validatorRegistry.algo.ts:412", "pc": [ 987 ] }, { "teal": 1052, "source": "examples/reti/validatorRegistry.algo.ts:409", "pc": [ 988 ] }, { "teal": 1057, "source": "examples/reti/validatorRegistry.algo.ts:415", "pc": [ 989 ] }, { "teal": 1060, "source": "examples/reti/validatorRegistry.algo.ts:415", "pc": [ 990, 991, 992 ] }, { "teal": 1061, "source": "examples/reti/validatorRegistry.algo.ts:415", "pc": [ 993 ] }, { "teal": 1062, "source": "examples/reti/validatorRegistry.algo.ts:415", "pc": [ 994 ] }, { "teal": 1063, "source": "examples/reti/validatorRegistry.algo.ts:415", "pc": [ 995 ] }, { "teal": 1064, "source": "examples/reti/validatorRegistry.algo.ts:415", "pc": [ 996 ] }, { "teal": 1065, "source": "examples/reti/validatorRegistry.algo.ts:415", "pc": [ 997 ] }, { "teal": 1069, "source": "examples/reti/validatorRegistry.algo.ts:415", "pc": [ 998, 999, 1000 ] }, { "teal": 1073, "source": "examples/reti/validatorRegistry.algo.ts:416", "pc": [ 1001, 1002 ] }, { "teal": 1074, "source": "examples/reti/validatorRegistry.algo.ts:415", "pc": [ 1003 ] }, { "teal": 1079, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ 1004 ] }, { "teal": 1082, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ 1005, 1006, 1007 ] }, { "teal": 1083, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ 1008 ] }, { "teal": 1084, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ 1009 ] }, { "teal": 1085, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ 1010, 1011 ] }, { "teal": 1086, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ 1012 ] }, { "teal": 1089, "source": "examples/reti/validatorRegistry.algo.ts:427", "errorMessage": "argument 0 (config) for addValidator must be a (uint64,address,address,uint64,uint8,address,uint64[4],uint64,uint64,uint64,uint32,uint32,address,uint64,uint64,uint8,uint64,uint64)", "pc": [ 1013 ] }, { "teal": 1092, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ 1014, 1015, 1016 ] }, { "teal": 1093, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ 1017, 1018, 1019 ] }, { "teal": 1096, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ 1020, 1021 ] }, { "teal": 1097, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ 1022 ] }, { "teal": 1098, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ 1023 ] }, { "teal": 1099, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ 1024 ] }, { "teal": 1100, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ 1025, 1026 ] }, { "teal": 1101, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ 1027 ] }, { "teal": 1102, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ 1028 ] }, { "teal": 1105, "source": "examples/reti/validatorRegistry.algo.ts:427", "errorMessage": "argument 2 (mbrPayment) for addValidator must be a pay transaction", "pc": [ 1029 ] }, { "teal": 1108, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ 1030, 1031, 1032 ] }, { "teal": 1109, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ 1033 ] }, { "teal": 1110, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ 1034 ] }, { "teal": 1111, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ 1035 ] }, { "teal": 1112, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ 1036 ] }, { "teal": 1113, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ 1037 ] }, { "teal": 1125, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ 1038, 1039, 1040 ] }, { "teal": 1128, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ 1041 ] }, { "teal": 1132, "source": "examples/reti/validatorRegistry.algo.ts:428", "pc": [ 1042, 1043 ] }, { "teal": 1133, "source": "examples/reti/validatorRegistry.algo.ts:428", "pc": [ 1044, 1045, 1046 ] }, { "teal": 1137, "source": "examples/reti/validatorRegistry.algo.ts:429", "pc": [ 1047, 1048 ] }, { "teal": 1138, "source": "examples/reti/validatorRegistry.algo.ts:429", "pc": [ 1049, 1050, 1051 ] }, { "teal": 1139, "source": "examples/reti/validatorRegistry.algo.ts:429", "pc": [ 1052, 1053 ] }, { "teal": 1140, "source": "examples/reti/validatorRegistry.algo.ts:429", "pc": [ 1054 ] }, { "teal": 1141, "source": "examples/reti/validatorRegistry.algo.ts:429", "pc": [ 1055 ] }, { "teal": 1145, "source": "examples/reti/validatorRegistry.algo.ts:430", "pc": [ 1056, 1057 ] }, { "teal": 1146, "source": "examples/reti/validatorRegistry.algo.ts:430", "pc": [ 1058, 1059, 1060 ] }, { "teal": 1147, "source": "examples/reti/validatorRegistry.algo.ts:430", "pc": [ 1061, 1062 ] }, { "teal": 1148, "source": "examples/reti/validatorRegistry.algo.ts:430", "pc": [ 1063 ] }, { "teal": 1149, "source": "examples/reti/validatorRegistry.algo.ts:430", "pc": [ 1064 ] }, { "teal": 1153, "source": "examples/reti/validatorRegistry.algo.ts:431", "pc": [ 1065, 1066 ] }, { "teal": 1154, "source": "examples/reti/validatorRegistry.algo.ts:431", "pc": [ 1067, 1068 ] }, { "teal": 1155, "source": "examples/reti/validatorRegistry.algo.ts:431", "pc": [ 1069, 1070, 1071 ] }, { "teal": 1156, "source": "examples/reti/validatorRegistry.algo.ts:431", "pc": [ 1072 ] }, { "teal": 1159, "source": "examples/reti/validatorRegistry.algo.ts:431", "errorMessage": "sender must be owner to add new validator", "pc": [ 1073 ] }, { "teal": 1164, "source": "examples/reti/validatorRegistry.algo.ts:433", "pc": [ 1074, 1075 ] }, { "teal": 1165, "source": "examples/reti/validatorRegistry.algo.ts:433", "pc": [ 1076, 1077 ] }, { "teal": 1166, "source": "examples/reti/validatorRegistry.algo.ts:433", "pc": [ 1078, 1079, 1080 ] }, { "teal": 1167, "source": "examples/reti/validatorRegistry.algo.ts:433", "pc": [ 1081, 1082, 1083 ] }, { "teal": 1168, "source": "examples/reti/validatorRegistry.algo.ts:433", "pc": [ 1084 ] }, { "teal": 1169, "source": "examples/reti/validatorRegistry.algo.ts:433", "pc": [ 1085 ] }, { "teal": 1172, "source": "examples/reti/validatorRegistry.algo.ts:433", "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"amount\",\"expected\":\"this.getMbrAmounts().addValidatorMbr\"}", "pc": [ 1086 ] }, { "teal": 1176, "source": "examples/reti/validatorRegistry.algo.ts:435", "pc": [ 1087, 1088 ] }, { "teal": 1177, "source": "examples/reti/validatorRegistry.algo.ts:435", "pc": [ 1089, 1090 ] }, { "teal": 1178, "source": "examples/reti/validatorRegistry.algo.ts:435", "pc": [ 1091, 1092, 1093, 1094, 1095 ] }, { "teal": 1179, "source": "examples/reti/validatorRegistry.algo.ts:435", "pc": [ 1096 ] }, { "teal": 1182, "source": "examples/reti/validatorRegistry.algo.ts:435", "errorMessage": "fee must be 10 ALGO or more to prevent spamming of validators", "pc": [ 1097 ] }, { "teal": 1186, "source": "examples/reti/validatorRegistry.algo.ts:438", "pc": [ 1098, 1099 ] }, { "teal": 1187, "source": "examples/reti/validatorRegistry.algo.ts:438", "pc": [ 1100 ] }, { "teal": 1188, "source": "examples/reti/validatorRegistry.algo.ts:438", "pc": [ 1101 ] }, { "teal": 1189, "source": "examples/reti/validatorRegistry.algo.ts:438", "pc": [ 1102 ] }, { "teal": 1190, "source": "examples/reti/validatorRegistry.algo.ts:438", "pc": [ 1103, 1104 ] }, { "teal": 1194, "source": "examples/reti/validatorRegistry.algo.ts:439", "pc": [ 1105, 1106 ] }, { "teal": 1195, "source": "examples/reti/validatorRegistry.algo.ts:439", "pc": [ 1107, 1108 ] }, { "teal": 1196, "source": "examples/reti/validatorRegistry.algo.ts:439", "pc": [ 1109 ] }, { "teal": 1200, "source": "examples/reti/validatorRegistry.algo.ts:441", "pc": [ 1110 ] }, { "teal": 1201, "source": "examples/reti/validatorRegistry.algo.ts:441", "pc": [ 1111, 1112 ] }, { "teal": 1202, "source": "examples/reti/validatorRegistry.algo.ts:441", "pc": [ 1113 ] }, { "teal": 1203, "source": "examples/reti/validatorRegistry.algo.ts:441", "pc": [ 1114 ] }, { "teal": 1204, "source": "examples/reti/validatorRegistry.algo.ts:441", "pc": [ 1115, 1116, 1117 ] }, { "teal": 1205, "source": "examples/reti/validatorRegistry.algo.ts:441", "pc": [ 1118 ] }, { "teal": 1206, "source": "examples/reti/validatorRegistry.algo.ts:441", "pc": [ 1119 ] }, { "teal": 1210, "source": "examples/reti/validatorRegistry.algo.ts:442", "pc": [ 1120 ] }, { "teal": 1211, "source": "examples/reti/validatorRegistry.algo.ts:442", "pc": [ 1121, 1122 ] }, { "teal": 1212, "source": "examples/reti/validatorRegistry.algo.ts:442", "pc": [ 1123 ] }, { "teal": 1213, "source": "examples/reti/validatorRegistry.algo.ts:442", "pc": [ 1124, 1125 ] }, { "teal": 1214, "source": "examples/reti/validatorRegistry.algo.ts:442", "pc": [ 1126 ] }, { "teal": 1215, "source": "examples/reti/validatorRegistry.algo.ts:442", "pc": [ 1127 ] }, { "teal": 1216, "source": "examples/reti/validatorRegistry.algo.ts:442", "pc": [ 1128, 1129 ] }, { "teal": 1217, "source": "examples/reti/validatorRegistry.algo.ts:442", "pc": [ 1130 ] }, { "teal": 1221, "source": "examples/reti/validatorRegistry.algo.ts:443", "pc": [ 1131 ] }, { "teal": 1222, "source": "examples/reti/validatorRegistry.algo.ts:443", "pc": [ 1132, 1133 ] }, { "teal": 1223, "source": "examples/reti/validatorRegistry.algo.ts:443", "pc": [ 1134 ] }, { "teal": 1224, "source": "examples/reti/validatorRegistry.algo.ts:443", "pc": [ 1135 ] }, { "teal": 1225, "source": "examples/reti/validatorRegistry.algo.ts:443", "pc": [ 1136, 1137 ] }, { "teal": 1226, "source": "examples/reti/validatorRegistry.algo.ts:443", "pc": [ 1138 ] }, { "teal": 1227, "source": "examples/reti/validatorRegistry.algo.ts:443", "pc": [ 1139 ] }, { "teal": 1228, "source": "examples/reti/validatorRegistry.algo.ts:443", "pc": [ 1140, 1141 ] }, { "teal": 1229, "source": "examples/reti/validatorRegistry.algo.ts:443", "pc": [ 1142 ] }, { "teal": 1234, "source": "examples/reti/validatorRegistry.algo.ts:446", "pc": [ 1143, 1144 ] }, { "teal": 1235, "source": "examples/reti/validatorRegistry.algo.ts:446", "pc": [ 1145, 1146, 1147 ] }, { "teal": 1236, "source": "examples/reti/validatorRegistry.algo.ts:446", "pc": [ 1148 ] }, { "teal": 1237, "source": "examples/reti/validatorRegistry.algo.ts:446", "pc": [ 1149 ] }, { "teal": 1238, "source": "examples/reti/validatorRegistry.algo.ts:446", "pc": [ 1150 ] }, { "teal": 1239, "source": "examples/reti/validatorRegistry.algo.ts:446", "pc": [ 1151, 1152, 1153 ] }, { "teal": 1248, "source": "examples/reti/validatorRegistry.algo.ts:448", "pc": [ 1154 ] }, { "teal": 1249, "source": "examples/reti/validatorRegistry.algo.ts:448", "pc": [ 1155, 1156 ] }, { "teal": 1250, "source": "examples/reti/validatorRegistry.algo.ts:448", "pc": [ 1157, 1158 ] }, { "teal": 1254, "source": "examples/reti/validatorRegistry.algo.ts:449", "pc": [ 1159, 1160 ] }, { "teal": 1255, "source": "examples/reti/validatorRegistry.algo.ts:449", "pc": [ 1161, 1162 ] }, { "teal": 1259, "source": "examples/reti/validatorRegistry.algo.ts:450", "pc": [ 1163, 1164 ] }, { "teal": 1260, "source": "examples/reti/validatorRegistry.algo.ts:450", "pc": [ 1165, 1166 ] }, { "teal": 1261, "source": "examples/reti/validatorRegistry.algo.ts:450", "pc": [ 1167, 1168 ] }, { "teal": 1262, "source": "examples/reti/validatorRegistry.algo.ts:450", "pc": [ 1169, 1170 ] }, { "teal": 1263, "source": "examples/reti/validatorRegistry.algo.ts:450", "pc": [ 1171, 1172 ] }, { "teal": 1264, "source": "examples/reti/validatorRegistry.algo.ts:450", "pc": [ 1173, 1174, 1175 ] }, { "teal": 1265, "source": "examples/reti/validatorRegistry.algo.ts:450", "pc": [ 1176 ] }, { "teal": 1266, "source": "examples/reti/validatorRegistry.algo.ts:450", "pc": [ 1177 ] }, { "teal": 1267, "source": "examples/reti/validatorRegistry.algo.ts:450", "pc": [ 1178, 1179 ] }, { "teal": 1271, "source": "examples/reti/validatorRegistry.algo.ts:451", "pc": [ 1180, 1181 ] }, { "teal": 1272, "source": "examples/reti/validatorRegistry.algo.ts:451", "pc": [ 1182, 1183, 1184 ] }, { "teal": 1273, "source": "examples/reti/validatorRegistry.algo.ts:451", "pc": [ 1185 ] }, { "teal": 1274, "source": "examples/reti/validatorRegistry.algo.ts:451", "pc": [ 1186, 1187 ] }, { "teal": 1277, "source": "examples/reti/validatorRegistry.algo.ts:448", "pc": [ 1188 ] }, { "teal": 1278, "source": "examples/reti/validatorRegistry.algo.ts:448", "pc": [ 1189, 1190 ] }, { "teal": 1281, "source": "examples/reti/validatorRegistry.algo.ts:448", "pc": [ 1191 ] }, { "teal": 1285, "source": "examples/reti/validatorRegistry.algo.ts:453", "pc": [ 1192, 1193 ] }, { "teal": 1286, "source": "examples/reti/validatorRegistry.algo.ts:453", "pc": [ 1194 ] }, { "teal": 1287, "source": "examples/reti/validatorRegistry.algo.ts:453", "pc": [ 1195 ] }, { "teal": 1288, "source": "examples/reti/validatorRegistry.algo.ts:453", "pc": [ 1196 ] }, { "teal": 1291, "source": "examples/reti/validatorRegistry.algo.ts:453", "errorMessage": "provided NFD isn't valid", "pc": [ 1197 ] }, { "teal": 1298, "source": "examples/reti/validatorRegistry.algo.ts:456", "pc": [ 1198, 1199 ] }, { "teal": 1299, "source": "examples/reti/validatorRegistry.algo.ts:456", "pc": [ 1200, 1201 ] }, { "teal": 1300, "source": "examples/reti/validatorRegistry.algo.ts:456", "pc": [ 1202, 1203, 1204 ] }, { "teal": 1301, "source": "examples/reti/validatorRegistry.algo.ts:456", "pc": [ 1205 ] }, { "teal": 1302, "source": "examples/reti/validatorRegistry.algo.ts:456", "pc": [ 1206, 1207 ] }, { "teal": 1303, "source": "examples/reti/validatorRegistry.algo.ts:456", "pc": [ 1208 ] }, { "teal": 1306, "source": "examples/reti/validatorRegistry.algo.ts:456", "errorMessage": "global state value does not exist: AppID.fromUint64(config.nfdForInfo).globalState('i.owner.a')", "pc": [ 1209 ] }, { "teal": 1307, "source": "examples/reti/validatorRegistry.algo.ts:456", "pc": [ 1210 ] }, { "teal": 1310, "source": "examples/reti/validatorRegistry.algo.ts:455", "errorMessage": "If specifying NFD, account adding validator must be owner", "pc": [ 1211 ] }, { "teal": 1317, "source": "examples/reti/validatorRegistry.algo.ts:461", "pc": [ 1212, 1213 ] }, { "teal": 1318, "source": "examples/reti/validatorRegistry.algo.ts:461", "pc": [ 1214, 1215, 1216 ] }, { "teal": 1319, "source": "examples/reti/validatorRegistry.algo.ts:461", "pc": [ 1217 ] }, { "teal": 1320, "source": "examples/reti/validatorRegistry.algo.ts:461", "pc": [ 1218, 1219 ] }, { "teal": 1321, "source": "examples/reti/validatorRegistry.algo.ts:461", "pc": [ 1220 ] }, { "teal": 1322, "source": "examples/reti/validatorRegistry.algo.ts:461", "pc": [ 1221 ] }, { "teal": 1323, "source": "examples/reti/validatorRegistry.algo.ts:461", "pc": [ 1222, 1223, 1224 ] }, { "teal": 1324, "source": "examples/reti/validatorRegistry.algo.ts:462", "pc": [ 1225, 1226 ] }, { "teal": 1325, "source": "examples/reti/validatorRegistry.algo.ts:462", "pc": [ 1227, 1228, 1229 ] }, { "teal": 1326, "source": "examples/reti/validatorRegistry.algo.ts:462", "pc": [ 1230 ] }, { "teal": 1327, "source": "examples/reti/validatorRegistry.algo.ts:462", "pc": [ 1231, 1232 ] }, { "teal": 1328, "source": "examples/reti/validatorRegistry.algo.ts:462", "pc": [ 1233 ] }, { "teal": 1329, "source": "examples/reti/validatorRegistry.algo.ts:461", "pc": [ 1234 ] }, { "teal": 1332, "source": "examples/reti/validatorRegistry.algo.ts:460", "pc": [ 1235, 1236, 1237 ] }, { "teal": 1337, "source": "examples/reti/validatorRegistry.algo.ts:465", "pc": [ 1238, 1239 ] }, { "teal": 1338, "source": "examples/reti/validatorRegistry.algo.ts:465", "pc": [ 1240, 1241, 1242 ] }, { "teal": 1339, "source": "examples/reti/validatorRegistry.algo.ts:465", "pc": [ 1243 ] }, { "teal": 1340, "source": "examples/reti/validatorRegistry.algo.ts:465", "pc": [ 1244, 1245, 1246 ] }, { "teal": 1343, "source": "examples/reti/validatorRegistry.algo.ts:465", "errorMessage": "provided NFD App id for gating must be valid NFD", "pc": [ 1247 ] }, { "teal": 1348, "source": "examples/reti/validatorRegistry.algo.ts:468", "pc": [ 1248, 1249 ] }, { "teal": 1351, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ 1250, 1251 ] }, { "teal": 1352, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ 1252 ] }, { "teal": 1357, "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ 1253, 1254, 1255 ] }, { "teal": 1358, "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ 1256 ] }, { "teal": 1359, "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ 1257 ] }, { "teal": 1360, "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ 1258, 1259 ] }, { "teal": 1361, "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ 1260 ] }, { "teal": 1364, "source": "examples/reti/validatorRegistry.algo.ts:478", "errorMessage": "argument 0 (manager) for changeValidatorManager must be a address", "pc": [ 1261 ] }, { "teal": 1367, "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ 1262, 1263, 1264 ] }, { "teal": 1368, "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ 1265 ] }, { "teal": 1371, "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ 1266, 1267, 1268 ] }, { "teal": 1372, "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ 1269 ] }, { "teal": 1373, "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ 1270 ] }, { "teal": 1383, "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ 1271, 1272, 1273 ] }, { "teal": 1390, "source": "examples/reti/validatorRegistry.algo.ts:480", "pc": [ 1274, 1275 ] }, { "teal": 1391, "source": "examples/reti/validatorRegistry.algo.ts:480", "pc": [ 1276 ] }, { "teal": 1392, "source": "examples/reti/validatorRegistry.algo.ts:480", "pc": [ 1277, 1278 ] }, { "teal": 1393, "source": "examples/reti/validatorRegistry.algo.ts:480", "pc": [ 1279 ] }, { "teal": 1394, "source": "examples/reti/validatorRegistry.algo.ts:480", "pc": [ 1280, 1281 ] }, { "teal": 1395, "source": "examples/reti/validatorRegistry.algo.ts:480", "pc": [ 1282 ] }, { "teal": 1396, "source": "examples/reti/validatorRegistry.algo.ts:480", "pc": [ 1283 ] }, { "teal": 1397, "source": "examples/reti/validatorRegistry.algo.ts:480", "pc": [ 1284, 1285 ] }, { "teal": 1398, "source": "examples/reti/validatorRegistry.algo.ts:480", "pc": [ 1286 ] }, { "teal": 1399, "source": "examples/reti/validatorRegistry.algo.ts:480", "pc": [ 1287 ] }, { "teal": 1402, "source": "examples/reti/validatorRegistry.algo.ts:479", "errorMessage": "can only be called by validator owner", "pc": [ 1288 ] }, { "teal": 1406, "source": "examples/reti/validatorRegistry.algo.ts:483", "pc": [ 1289, 1290 ] }, { "teal": 1407, "source": "examples/reti/validatorRegistry.algo.ts:483", "pc": [ 1291, 1292 ] }, { "teal": 1408, "source": "examples/reti/validatorRegistry.algo.ts:483", "pc": [ 1293 ] }, { "teal": 1409, "source": "examples/reti/validatorRegistry.algo.ts:483", "pc": [ 1294, 1295 ] }, { "teal": 1410, "source": "examples/reti/validatorRegistry.algo.ts:483", "pc": [ 1296 ] }, { "teal": 1411, "source": "examples/reti/validatorRegistry.algo.ts:483", "pc": [ 1297 ] }, { "teal": 1412, "source": "examples/reti/validatorRegistry.algo.ts:483", "pc": [ 1298, 1299 ] }, { "teal": 1413, "source": "examples/reti/validatorRegistry.algo.ts:483", "pc": [ 1300 ] }, { "teal": 1414, "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ 1301 ] }, { "teal": 1419, "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ 1302, 1303, 1304 ] }, { "teal": 1420, "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ 1305 ] }, { "teal": 1423, "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ 1306, 1307, 1308 ] }, { "teal": 1424, "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ 1309 ] }, { "teal": 1427, "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ 1310, 1311, 1312 ] }, { "teal": 1428, "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ 1313 ] }, { "teal": 1431, "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ 1314, 1315, 1316 ] }, { "teal": 1432, "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ 1317 ] }, { "teal": 1433, "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ 1318 ] }, { "teal": 1444, "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ 1319, 1320, 1321 ] }, { "teal": 1451, "source": "examples/reti/validatorRegistry.algo.ts:496", "pc": [ 1322, 1323 ] }, { "teal": 1452, "source": "examples/reti/validatorRegistry.algo.ts:496", "pc": [ 1324 ] }, { "teal": 1453, "source": "examples/reti/validatorRegistry.algo.ts:496", "pc": [ 1325, 1326 ] }, { "teal": 1454, "source": "examples/reti/validatorRegistry.algo.ts:496", "pc": [ 1327 ] }, { "teal": 1455, "source": "examples/reti/validatorRegistry.algo.ts:496", "pc": [ 1328, 1329 ] }, { "teal": 1456, "source": "examples/reti/validatorRegistry.algo.ts:496", "pc": [ 1330 ] }, { "teal": 1457, "source": "examples/reti/validatorRegistry.algo.ts:496", "pc": [ 1331 ] }, { "teal": 1458, "source": "examples/reti/validatorRegistry.algo.ts:496", "pc": [ 1332, 1333 ] }, { "teal": 1459, "source": "examples/reti/validatorRegistry.algo.ts:496", "pc": [ 1334 ] }, { "teal": 1460, "source": "examples/reti/validatorRegistry.algo.ts:496", "pc": [ 1335 ] }, { "teal": 1463, "source": "examples/reti/validatorRegistry.algo.ts:495", "errorMessage": "can only be called by validator owner", "pc": [ 1336 ] }, { "teal": 1467, "source": "examples/reti/validatorRegistry.algo.ts:499", "pc": [ 1337, 1338 ] }, { "teal": 1468, "source": "examples/reti/validatorRegistry.algo.ts:499", "pc": [ 1339, 1340 ] }, { "teal": 1469, "source": "examples/reti/validatorRegistry.algo.ts:499", "pc": [ 1341 ] }, { "teal": 1470, "source": "examples/reti/validatorRegistry.algo.ts:499", "pc": [ 1342 ] }, { "teal": 1471, "source": "examples/reti/validatorRegistry.algo.ts:499", "pc": [ 1343, 1344 ] }, { "teal": 1472, "source": "examples/reti/validatorRegistry.algo.ts:499", "pc": [ 1345 ] }, { "teal": 1473, "source": "examples/reti/validatorRegistry.algo.ts:499", "pc": [ 1346 ] }, { "teal": 1474, "source": "examples/reti/validatorRegistry.algo.ts:499", "pc": [ 1347, 1348 ] }, { "teal": 1475, "source": "examples/reti/validatorRegistry.algo.ts:499", "pc": [ 1349 ] }, { "teal": 1479, "source": "examples/reti/validatorRegistry.algo.ts:500", "pc": [ 1350, 1351, 1352 ] }, { "teal": 1480, "source": "examples/reti/validatorRegistry.algo.ts:500", "pc": [ 1353, 1354 ] }, { "teal": 1481, "source": "examples/reti/validatorRegistry.algo.ts:500", "pc": [ 1355 ] }, { "teal": 1482, "source": "examples/reti/validatorRegistry.algo.ts:500", "pc": [ 1356 ] }, { "teal": 1483, "source": "examples/reti/validatorRegistry.algo.ts:500", "pc": [ 1357, 1358 ] }, { "teal": 1484, "source": "examples/reti/validatorRegistry.algo.ts:500", "pc": [ 1359 ] }, { "teal": 1485, "source": "examples/reti/validatorRegistry.algo.ts:500", "pc": [ 1360 ] }, { "teal": 1486, "source": "examples/reti/validatorRegistry.algo.ts:500", "pc": [ 1361, 1362 ] }, { "teal": 1487, "source": "examples/reti/validatorRegistry.algo.ts:500", "pc": [ 1363 ] }, { "teal": 1488, "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ 1364 ] }, { "teal": 1493, "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ 1365, 1366, 1367 ] }, { "teal": 1494, "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ 1368, 1369, 1370 ] }, { "teal": 1497, "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ 1371, 1372, 1373 ] }, { "teal": 1498, "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ 1374 ] }, { "teal": 1501, "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ 1375, 1376, 1377 ] }, { "teal": 1502, "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ 1378 ] }, { "teal": 1505, "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ 1379, 1380, 1381 ] }, { "teal": 1506, "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ 1382 ] }, { "teal": 1507, "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ 1383 ] }, { "teal": 1518, "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ 1384, 1385, 1386 ] }, { "teal": 1525, "source": "examples/reti/validatorRegistry.algo.ts:514", "pc": [ 1387, 1388 ] }, { "teal": 1526, "source": "examples/reti/validatorRegistry.algo.ts:514", "pc": [ 1389 ] }, { "teal": 1527, "source": "examples/reti/validatorRegistry.algo.ts:514", "pc": [ 1390, 1391 ] }, { "teal": 1528, "source": "examples/reti/validatorRegistry.algo.ts:514", "pc": [ 1392 ] }, { "teal": 1529, "source": "examples/reti/validatorRegistry.algo.ts:514", "pc": [ 1393, 1394 ] }, { "teal": 1530, "source": "examples/reti/validatorRegistry.algo.ts:514", "pc": [ 1395 ] }, { "teal": 1531, "source": "examples/reti/validatorRegistry.algo.ts:514", "pc": [ 1396 ] }, { "teal": 1532, "source": "examples/reti/validatorRegistry.algo.ts:514", "pc": [ 1397, 1398 ] }, { "teal": 1533, "source": "examples/reti/validatorRegistry.algo.ts:514", "pc": [ 1399 ] }, { "teal": 1534, "source": "examples/reti/validatorRegistry.algo.ts:514", "pc": [ 1400 ] }, { "teal": 1537, "source": "examples/reti/validatorRegistry.algo.ts:513", "errorMessage": "can only be called by validator owner", "pc": [ 1401 ] }, { "teal": 1545, "source": "examples/reti/validatorRegistry.algo.ts:518", "pc": [ 1402 ] }, { "teal": 1546, "source": "examples/reti/validatorRegistry.algo.ts:518", "pc": [ 1403, 1404 ] }, { "teal": 1547, "source": "examples/reti/validatorRegistry.algo.ts:518", "pc": [ 1405, 1406 ] }, { "teal": 1551, "source": "examples/reti/validatorRegistry.algo.ts:519", "pc": [ 1407, 1408 ] }, { "teal": 1552, "source": "examples/reti/validatorRegistry.algo.ts:519", "pc": [ 1409, 1410 ] }, { "teal": 1556, "source": "examples/reti/validatorRegistry.algo.ts:520", "pc": [ 1411, 1412 ] }, { "teal": 1557, "source": "examples/reti/validatorRegistry.algo.ts:520", "pc": [ 1413, 1414 ] }, { "teal": 1558, "source": "examples/reti/validatorRegistry.algo.ts:520", "pc": [ 1415, 1416 ] }, { "teal": 1559, "source": "examples/reti/validatorRegistry.algo.ts:520", "pc": [ 1417, 1418 ] }, { "teal": 1560, "source": "examples/reti/validatorRegistry.algo.ts:520", "pc": [ 1419, 1420 ] }, { "teal": 1561, "source": "examples/reti/validatorRegistry.algo.ts:520", "pc": [ 1421 ] }, { "teal": 1562, "source": "examples/reti/validatorRegistry.algo.ts:520", "pc": [ 1422, 1423 ] }, { "teal": 1566, "source": "examples/reti/validatorRegistry.algo.ts:521", "pc": [ 1424, 1425 ] }, { "teal": 1567, "source": "examples/reti/validatorRegistry.algo.ts:521", "pc": [ 1426, 1427 ] }, { "teal": 1570, "source": "examples/reti/validatorRegistry.algo.ts:518", "pc": [ 1428 ] }, { "teal": 1571, "source": "examples/reti/validatorRegistry.algo.ts:518", "pc": [ 1429, 1430 ] }, { "teal": 1574, "source": "examples/reti/validatorRegistry.algo.ts:518", "pc": [ 1431 ] }, { "teal": 1581, "source": "examples/reti/validatorRegistry.algo.ts:525", "pc": [ 1432, 1433 ] }, { "teal": 1582, "source": "examples/reti/validatorRegistry.algo.ts:525", "pc": [ 1434, 1435 ] }, { "teal": 1583, "source": "examples/reti/validatorRegistry.algo.ts:525", "pc": [ 1436, 1437 ] }, { "teal": 1584, "source": "examples/reti/validatorRegistry.algo.ts:525", "pc": [ 1438 ] }, { "teal": 1587, "source": "examples/reti/validatorRegistry.algo.ts:525", "errorMessage": "global state value does not exist: AppID.fromUint64(nfdAppID).globalState('i.owner.a')", "pc": [ 1439 ] }, { "teal": 1588, "source": "examples/reti/validatorRegistry.algo.ts:525", "pc": [ 1440 ] }, { "teal": 1591, "source": "examples/reti/validatorRegistry.algo.ts:524", "errorMessage": "If specifying NFD, account adding validator must be owner", "pc": [ 1441 ] }, { "teal": 1595, "source": "examples/reti/validatorRegistry.algo.ts:528", "pc": [ 1442, 1443 ] }, { "teal": 1596, "source": "examples/reti/validatorRegistry.algo.ts:528", "pc": [ 1444, 1445 ] }, { "teal": 1597, "source": "examples/reti/validatorRegistry.algo.ts:528", "pc": [ 1446 ] }, { "teal": 1598, "source": "examples/reti/validatorRegistry.algo.ts:528", "pc": [ 1447 ] }, { "teal": 1599, "source": "examples/reti/validatorRegistry.algo.ts:528", "pc": [ 1448, 1449 ] }, { "teal": 1600, "source": "examples/reti/validatorRegistry.algo.ts:528", "pc": [ 1450 ] }, { "teal": 1601, "source": "examples/reti/validatorRegistry.algo.ts:528", "pc": [ 1451 ] }, { "teal": 1602, "source": "examples/reti/validatorRegistry.algo.ts:528", "pc": [ 1452, 1453 ] }, { "teal": 1603, "source": "examples/reti/validatorRegistry.algo.ts:528", "pc": [ 1454 ] }, { "teal": 1604, "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ 1455 ] }, { "teal": 1609, "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ 1456, 1457, 1458 ] }, { "teal": 1610, "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ 1459 ] }, { "teal": 1611, "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ 1460 ] }, { "teal": 1612, "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ 1461, 1462 ] }, { "teal": 1613, "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ 1463 ] }, { "teal": 1616, "source": "examples/reti/validatorRegistry.algo.ts:535", "errorMessage": "argument 0 (commissionAddress) for changeValidatorCommissionAddress must be a address", "pc": [ 1464 ] }, { "teal": 1619, "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ 1465, 1466, 1467 ] }, { "teal": 1620, "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ 1468 ] }, { "teal": 1623, "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ 1469, 1470, 1471 ] }, { "teal": 1624, "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ 1472 ] }, { "teal": 1625, "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ 1473 ] }, { "teal": 1632, "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ 1474, 1475, 1476 ] }, { "teal": 1639, "source": "examples/reti/validatorRegistry.algo.ts:537", "pc": [ 1477, 1478 ] }, { "teal": 1640, "source": "examples/reti/validatorRegistry.algo.ts:537", "pc": [ 1479 ] }, { "teal": 1641, "source": "examples/reti/validatorRegistry.algo.ts:537", "pc": [ 1480, 1481 ] }, { "teal": 1642, "source": "examples/reti/validatorRegistry.algo.ts:537", "pc": [ 1482 ] }, { "teal": 1643, "source": "examples/reti/validatorRegistry.algo.ts:537", "pc": [ 1483, 1484 ] }, { "teal": 1644, "source": "examples/reti/validatorRegistry.algo.ts:537", "pc": [ 1485 ] }, { "teal": 1645, "source": "examples/reti/validatorRegistry.algo.ts:537", "pc": [ 1486 ] }, { "teal": 1646, "source": "examples/reti/validatorRegistry.algo.ts:537", "pc": [ 1487, 1488 ] }, { "teal": 1647, "source": "examples/reti/validatorRegistry.algo.ts:537", "pc": [ 1489 ] }, { "teal": 1648, "source": "examples/reti/validatorRegistry.algo.ts:537", "pc": [ 1490 ] }, { "teal": 1651, "source": "examples/reti/validatorRegistry.algo.ts:536", "errorMessage": "can only be called by validator owner", "pc": [ 1491 ] }, { "teal": 1655, "source": "examples/reti/validatorRegistry.algo.ts:540", "pc": [ 1492, 1493 ] }, { "teal": 1656, "source": "examples/reti/validatorRegistry.algo.ts:540", "pc": [ 1494, 1495 ] }, { "teal": 1657, "source": "examples/reti/validatorRegistry.algo.ts:540", "pc": [ 1496 ] }, { "teal": 1658, "source": "examples/reti/validatorRegistry.algo.ts:540", "pc": [ 1497 ] }, { "teal": 1662, "source": "examples/reti/validatorRegistry.algo.ts:541", "pc": [ 1498, 1499, 1500 ] }, { "teal": 1663, "source": "examples/reti/validatorRegistry.algo.ts:541", "pc": [ 1501, 1502 ] }, { "teal": 1664, "source": "examples/reti/validatorRegistry.algo.ts:541", "pc": [ 1503 ] }, { "teal": 1665, "source": "examples/reti/validatorRegistry.algo.ts:541", "pc": [ 1504, 1505 ] }, { "teal": 1666, "source": "examples/reti/validatorRegistry.algo.ts:541", "pc": [ 1506 ] }, { "teal": 1667, "source": "examples/reti/validatorRegistry.algo.ts:541", "pc": [ 1507 ] }, { "teal": 1668, "source": "examples/reti/validatorRegistry.algo.ts:541", "pc": [ 1508, 1509 ] }, { "teal": 1669, "source": "examples/reti/validatorRegistry.algo.ts:541", "pc": [ 1510 ] }, { "teal": 1670, "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ 1511 ] }, { "teal": 1675, "source": "examples/reti/validatorRegistry.algo.ts:554", "pc": [ 1512, 1513, 1514 ] }, { "teal": 1676, "source": "examples/reti/validatorRegistry.algo.ts:554", "pc": [ 1515 ] }, { "teal": 1679, "source": "examples/reti/validatorRegistry.algo.ts:553", "pc": [ 1516, 1517, 1518 ] }, { "teal": 1680, "source": "examples/reti/validatorRegistry.algo.ts:553", "pc": [ 1519 ] }, { "teal": 1683, "source": "examples/reti/validatorRegistry.algo.ts:552", "pc": [ 1520, 1521, 1522 ] }, { "teal": 1684, "source": "examples/reti/validatorRegistry.algo.ts:552", "pc": [ 1523 ] }, { "teal": 1685, "source": "examples/reti/validatorRegistry.algo.ts:552", "pc": [ 1524 ] }, { "teal": 1686, "source": "examples/reti/validatorRegistry.algo.ts:552", "pc": [ 1525, 1526 ] }, { "teal": 1687, "source": "examples/reti/validatorRegistry.algo.ts:552", "pc": [ 1527 ] }, { "teal": 1690, "source": "examples/reti/validatorRegistry.algo.ts:552", "errorMessage": "argument 2 (EntryGatingAssets) for changeValidatorRewardInfo must be a uint64[4]", "pc": [ 1528 ] }, { "teal": 1693, "source": "examples/reti/validatorRegistry.algo.ts:551", "pc": [ 1529, 1530, 1531 ] }, { "teal": 1694, "source": "examples/reti/validatorRegistry.algo.ts:551", "pc": [ 1532 ] }, { "teal": 1695, "source": "examples/reti/validatorRegistry.algo.ts:551", "pc": [ 1533 ] }, { "teal": 1696, "source": "examples/reti/validatorRegistry.algo.ts:551", "pc": [ 1534, 1535 ] }, { "teal": 1697, "source": "examples/reti/validatorRegistry.algo.ts:551", "pc": [ 1536 ] }, { "teal": 1700, "source": "examples/reti/validatorRegistry.algo.ts:551", "errorMessage": "argument 3 (EntryGatingAddress) for changeValidatorRewardInfo must be a address", "pc": [ 1537 ] }, { "teal": 1703, "source": "examples/reti/validatorRegistry.algo.ts:550", "pc": [ 1538, 1539, 1540 ] }, { "teal": 1704, "source": "examples/reti/validatorRegistry.algo.ts:550", "pc": [ 1541 ] }, { "teal": 1705, "source": "examples/reti/validatorRegistry.algo.ts:550", "pc": [ 1542 ] }, { "teal": 1706, "source": "examples/reti/validatorRegistry.algo.ts:550", "pc": [ 1543 ] }, { "teal": 1707, "source": "examples/reti/validatorRegistry.algo.ts:550", "pc": [ 1544 ] }, { "teal": 1710, "source": "examples/reti/validatorRegistry.algo.ts:550", "errorMessage": "argument 4 (EntryGatingType) for changeValidatorRewardInfo must be a uint8", "pc": [ 1545 ] }, { "teal": 1711, "source": "examples/reti/validatorRegistry.algo.ts:550", "pc": [ 1546 ] }, { "teal": 1714, "source": "examples/reti/validatorRegistry.algo.ts:549", "pc": [ 1547, 1548, 1549 ] }, { "teal": 1715, "source": "examples/reti/validatorRegistry.algo.ts:549", "pc": [ 1550 ] }, { "teal": 1718, "source": "examples/reti/validatorRegistry.algo.ts:548", "pc": [ 1551, 1552, 1553 ] }, { "teal": 1719, "source": "examples/reti/validatorRegistry.algo.ts:548", "pc": [ 1554 ] }, { "teal": 1720, "source": "examples/reti/validatorRegistry.algo.ts:548", "pc": [ 1555 ] }, { "teal": 1727, "source": "examples/reti/validatorRegistry.algo.ts:548", "pc": [ 1556, 1557, 1558 ] }, { "teal": 1734, "source": "examples/reti/validatorRegistry.algo.ts:557", "pc": [ 1559, 1560 ] }, { "teal": 1735, "source": "examples/reti/validatorRegistry.algo.ts:557", "pc": [ 1561 ] }, { "teal": 1736, "source": "examples/reti/validatorRegistry.algo.ts:557", "pc": [ 1562, 1563 ] }, { "teal": 1737, "source": "examples/reti/validatorRegistry.algo.ts:557", "pc": [ 1564 ] }, { "teal": 1738, "source": "examples/reti/validatorRegistry.algo.ts:557", "pc": [ 1565, 1566 ] }, { "teal": 1739, "source": "examples/reti/validatorRegistry.algo.ts:557", "pc": [ 1567 ] }, { "teal": 1740, "source": "examples/reti/validatorRegistry.algo.ts:557", "pc": [ 1568 ] }, { "teal": 1741, "source": "examples/reti/validatorRegistry.algo.ts:557", "pc": [ 1569, 1570 ] }, { "teal": 1742, "source": "examples/reti/validatorRegistry.algo.ts:557", "pc": [ 1571 ] }, { "teal": 1743, "source": "examples/reti/validatorRegistry.algo.ts:557", "pc": [ 1572 ] }, { "teal": 1746, "source": "examples/reti/validatorRegistry.algo.ts:556", "errorMessage": "can only be called by validator owner", "pc": [ 1573 ] }, { "teal": 1750, "source": "examples/reti/validatorRegistry.algo.ts:561", "pc": [ 1574, 1575 ] }, { "teal": 1751, "source": "examples/reti/validatorRegistry.algo.ts:561", "pc": [ 1576, 1577 ] }, { "teal": 1752, "source": "examples/reti/validatorRegistry.algo.ts:561", "pc": [ 1578 ] }, { "teal": 1753, "source": "examples/reti/validatorRegistry.algo.ts:561", "pc": [ 1579, 1580, 1581 ] }, { "teal": 1754, "source": "examples/reti/validatorRegistry.algo.ts:561", "pc": [ 1582 ] }, { "teal": 1755, "source": "examples/reti/validatorRegistry.algo.ts:561", "pc": [ 1583, 1584 ] }, { "teal": 1756, "source": "examples/reti/validatorRegistry.algo.ts:561", "pc": [ 1585 ] }, { "teal": 1757, "source": "examples/reti/validatorRegistry.algo.ts:561", "pc": [ 1586 ] }, { "teal": 1758, "source": "examples/reti/validatorRegistry.algo.ts:561", "pc": [ 1587, 1588 ] }, { "teal": 1759, "source": "examples/reti/validatorRegistry.algo.ts:561", "pc": [ 1589 ] }, { "teal": 1763, "source": "examples/reti/validatorRegistry.algo.ts:562", "pc": [ 1590, 1591 ] }, { "teal": 1764, "source": "examples/reti/validatorRegistry.algo.ts:562", "pc": [ 1592, 1593 ] }, { "teal": 1765, "source": "examples/reti/validatorRegistry.algo.ts:562", "pc": [ 1594 ] }, { "teal": 1766, "source": "examples/reti/validatorRegistry.algo.ts:562", "pc": [ 1595, 1596 ] }, { "teal": 1767, "source": "examples/reti/validatorRegistry.algo.ts:562", "pc": [ 1597 ] }, { "teal": 1768, "source": "examples/reti/validatorRegistry.algo.ts:562", "pc": [ 1598 ] }, { "teal": 1769, "source": "examples/reti/validatorRegistry.algo.ts:562", "pc": [ 1599, 1600 ] }, { "teal": 1770, "source": "examples/reti/validatorRegistry.algo.ts:562", "pc": [ 1601 ] }, { "teal": 1774, "source": "examples/reti/validatorRegistry.algo.ts:563", "pc": [ 1602, 1603 ] }, { "teal": 1775, "source": "examples/reti/validatorRegistry.algo.ts:563", "pc": [ 1604, 1605 ] }, { "teal": 1776, "source": "examples/reti/validatorRegistry.algo.ts:563", "pc": [ 1606 ] }, { "teal": 1777, "source": "examples/reti/validatorRegistry.algo.ts:563", "pc": [ 1607, 1608 ] }, { "teal": 1778, "source": "examples/reti/validatorRegistry.algo.ts:563", "pc": [ 1609 ] }, { "teal": 1779, "source": "examples/reti/validatorRegistry.algo.ts:563", "pc": [ 1610 ] }, { "teal": 1780, "source": "examples/reti/validatorRegistry.algo.ts:563", "pc": [ 1611, 1612 ] }, { "teal": 1781, "source": "examples/reti/validatorRegistry.algo.ts:563", "pc": [ 1613 ] }, { "teal": 1785, "source": "examples/reti/validatorRegistry.algo.ts:564", "pc": [ 1614, 1615 ] }, { "teal": 1786, "source": "examples/reti/validatorRegistry.algo.ts:564", "pc": [ 1616, 1617 ] }, { "teal": 1787, "source": "examples/reti/validatorRegistry.algo.ts:564", "pc": [ 1618 ] }, { "teal": 1788, "source": "examples/reti/validatorRegistry.algo.ts:564", "pc": [ 1619 ] }, { "teal": 1789, "source": "examples/reti/validatorRegistry.algo.ts:564", "pc": [ 1620, 1621 ] }, { "teal": 1790, "source": "examples/reti/validatorRegistry.algo.ts:564", "pc": [ 1622 ] }, { "teal": 1791, "source": "examples/reti/validatorRegistry.algo.ts:564", "pc": [ 1623 ] }, { "teal": 1792, "source": "examples/reti/validatorRegistry.algo.ts:564", "pc": [ 1624, 1625 ] }, { "teal": 1793, "source": "examples/reti/validatorRegistry.algo.ts:564", "pc": [ 1626 ] }, { "teal": 1797, "source": "examples/reti/validatorRegistry.algo.ts:565", "pc": [ 1627, 1628, 1629 ] }, { "teal": 1798, "source": "examples/reti/validatorRegistry.algo.ts:565", "pc": [ 1630, 1631 ] }, { "teal": 1799, "source": "examples/reti/validatorRegistry.algo.ts:565", "pc": [ 1632 ] }, { "teal": 1800, "source": "examples/reti/validatorRegistry.algo.ts:565", "pc": [ 1633 ] }, { "teal": 1801, "source": "examples/reti/validatorRegistry.algo.ts:565", "pc": [ 1634, 1635 ] }, { "teal": 1802, "source": "examples/reti/validatorRegistry.algo.ts:565", "pc": [ 1636 ] }, { "teal": 1803, "source": "examples/reti/validatorRegistry.algo.ts:565", "pc": [ 1637 ] }, { "teal": 1804, "source": "examples/reti/validatorRegistry.algo.ts:565", "pc": [ 1638, 1639 ] }, { "teal": 1805, "source": "examples/reti/validatorRegistry.algo.ts:565", "pc": [ 1640 ] }, { "teal": 1806, "source": "examples/reti/validatorRegistry.algo.ts:548", "pc": [ 1641 ] }, { "teal": 1811, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ 1642 ] }, { "teal": 1814, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ 1643, 1644, 1645 ] }, { "teal": 1815, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ 1646 ] }, { "teal": 1818, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ 1647, 1648, 1649 ] }, { "teal": 1819, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ 1650 ] }, { "teal": 1822, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ 1651, 1652 ] }, { "teal": 1823, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ 1653 ] }, { "teal": 1824, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ 1654 ] }, { "teal": 1825, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ 1655 ] }, { "teal": 1826, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ 1656, 1657 ] }, { "teal": 1827, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ 1658 ] }, { "teal": 1828, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ 1659 ] }, { "teal": 1831, "source": "examples/reti/validatorRegistry.algo.ts:579", "errorMessage": "argument 2 (mbrPayment) for addPool must be a pay transaction", "pc": [ 1660 ] }, { "teal": 1834, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ 1661, 1662, 1663 ] }, { "teal": 1835, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ 1664 ] }, { "teal": 1836, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ 1665 ] }, { "teal": 1837, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ 1666 ] }, { "teal": 1838, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ 1667 ] }, { "teal": 1851, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ 1668, 1669, 1670 ] }, { "teal": 1854, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ 1671 ] }, { "teal": 1855, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ 1672 ] }, { "teal": 1863, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ 1673, 1674 ] }, { "teal": 1864, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ 1675 ] }, { "teal": 1865, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ 1676, 1677 ] }, { "teal": 1866, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ 1678 ] }, { "teal": 1867, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ 1679, 1680 ] }, { "teal": 1868, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ 1681 ] }, { "teal": 1869, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ 1682 ] }, { "teal": 1870, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ 1683, 1684 ] }, { "teal": 1871, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ 1685 ] }, { "teal": 1872, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ 1686 ] }, { "teal": 1873, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ 1687 ] }, { "teal": 1874, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ 1688, 1689, 1690 ] }, { "teal": 1875, "source": "examples/reti/validatorRegistry.algo.ts:583", "pc": [ 1691, 1692 ] }, { "teal": 1876, "source": "examples/reti/validatorRegistry.algo.ts:583", "pc": [ 1693, 1694 ] }, { "teal": 1877, "source": "examples/reti/validatorRegistry.algo.ts:583", "pc": [ 1695, 1696 ] }, { "teal": 1878, "source": "examples/reti/validatorRegistry.algo.ts:583", "pc": [ 1697 ] }, { "teal": 1879, "source": "examples/reti/validatorRegistry.algo.ts:583", "pc": [ 1698, 1699 ] }, { "teal": 1880, "source": "examples/reti/validatorRegistry.algo.ts:583", "pc": [ 1700 ] }, { "teal": 1881, "source": "examples/reti/validatorRegistry.algo.ts:583", "pc": [ 1701 ] }, { "teal": 1882, "source": "examples/reti/validatorRegistry.algo.ts:583", "pc": [ 1702, 1703 ] }, { "teal": 1883, "source": "examples/reti/validatorRegistry.algo.ts:583", "pc": [ 1704 ] }, { "teal": 1884, "source": "examples/reti/validatorRegistry.algo.ts:583", "pc": [ 1705 ] }, { "teal": 1885, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ 1706 ] }, { "teal": 1889, "source": "examples/reti/validatorRegistry.algo.ts:581", "errorMessage": "can only be called by owner or manager of validator", "pc": [ 1707 ] }, { "teal": 1894, "source": "examples/reti/validatorRegistry.algo.ts:588", "pc": [ 1708, 1709 ] }, { "teal": 1895, "source": "examples/reti/validatorRegistry.algo.ts:588", "pc": [ 1710, 1711 ] }, { "teal": 1896, "source": "examples/reti/validatorRegistry.algo.ts:588", "pc": [ 1712, 1713, 1714 ] }, { "teal": 1897, "source": "examples/reti/validatorRegistry.algo.ts:588", "pc": [ 1715, 1716, 1717 ] }, { "teal": 1898, "source": "examples/reti/validatorRegistry.algo.ts:588", "pc": [ 1718 ] }, { "teal": 1899, "source": "examples/reti/validatorRegistry.algo.ts:588", "pc": [ 1719 ] }, { "teal": 1902, "source": "examples/reti/validatorRegistry.algo.ts:588", "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"amount\",\"expected\":\"this.getMbrAmounts().addPoolMbr\"}", "pc": [ 1720 ] }, { "teal": 1905, "source": "examples/reti/validatorRegistry.algo.ts:588", "pc": [ 1721, 1722 ] }, { "teal": 1906, "source": "examples/reti/validatorRegistry.algo.ts:588", "pc": [ 1723, 1724 ] }, { "teal": 1907, "source": "examples/reti/validatorRegistry.algo.ts:588", "pc": [ 1725, 1726 ] }, { "teal": 1908, "source": "examples/reti/validatorRegistry.algo.ts:588", "pc": [ 1727 ] }, { "teal": 1911, "source": "examples/reti/validatorRegistry.algo.ts:588", "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", "pc": [ 1728 ] }, { "teal": 1915, "source": "examples/reti/validatorRegistry.algo.ts:590", "pc": [ 1729 ] }, { "teal": 1916, "source": "examples/reti/validatorRegistry.algo.ts:590", "pc": [ 1730, 1731 ] }, { "teal": 1917, "source": "examples/reti/validatorRegistry.algo.ts:590", "pc": [ 1732 ] }, { "teal": 1918, "source": "examples/reti/validatorRegistry.algo.ts:590", "pc": [ 1733 ] }, { "teal": 1919, "source": "examples/reti/validatorRegistry.algo.ts:590", "pc": [ 1734 ] }, { "teal": 1920, "source": "examples/reti/validatorRegistry.algo.ts:590", "pc": [ 1735 ] }, { "teal": 1921, "source": "examples/reti/validatorRegistry.algo.ts:590", "pc": [ 1736 ] }, { "teal": 1924, "source": "examples/reti/validatorRegistry.algo.ts:590", "errorMessage": "specified validator id isn't valid", "pc": [ 1737 ] }, { "teal": 1928, "source": "examples/reti/validatorRegistry.algo.ts:592", "pc": [ 1738, 1739 ] }, { "teal": 1929, "source": "examples/reti/validatorRegistry.algo.ts:592", "pc": [ 1740, 1741 ] }, { "teal": 1930, "source": "examples/reti/validatorRegistry.algo.ts:592", "pc": [ 1742 ] }, { "teal": 1931, "source": "examples/reti/validatorRegistry.algo.ts:592", "pc": [ 1743, 1744 ] }, { "teal": 1932, "source": "examples/reti/validatorRegistry.algo.ts:592", "pc": [ 1745 ] }, { "teal": 1933, "source": "examples/reti/validatorRegistry.algo.ts:592", "pc": [ 1746 ] }, { "teal": 1934, "source": "examples/reti/validatorRegistry.algo.ts:592", "pc": [ 1747, 1748 ] }, { "teal": 1935, "source": "examples/reti/validatorRegistry.algo.ts:592", "pc": [ 1749 ] }, { "teal": 1936, "source": "examples/reti/validatorRegistry.algo.ts:592", "pc": [ 1750 ] }, { "teal": 1937, "source": "examples/reti/validatorRegistry.algo.ts:592", "pc": [ 1751, 1752 ] }, { "teal": 1942, "source": "examples/reti/validatorRegistry.algo.ts:593", "pc": [ 1753, 1754 ] }, { "teal": 1943, "source": "examples/reti/validatorRegistry.algo.ts:32", "pc": [ 1755 ] }, { "teal": 1944, "source": "examples/reti/validatorRegistry.algo.ts:593", "pc": [ 1756 ] }, { "teal": 1945, "source": "examples/reti/validatorRegistry.algo.ts:593", "pc": [ 1757, 1758, 1759 ] }, { "teal": 1949, "source": "examples/reti/validatorRegistry.algo.ts:594", "errorMessage": "already at max pool size", "pc": [ 1760 ] }, { "teal": 1954, "source": "examples/reti/validatorRegistry.algo.ts:596", "pc": [ 1761, 1762 ] }, { "teal": 1955, "source": "examples/reti/validatorRegistry.algo.ts:596", "pc": [ 1763 ] }, { "teal": 1956, "source": "examples/reti/validatorRegistry.algo.ts:596", "pc": [ 1764 ] }, { "teal": 1957, "source": "examples/reti/validatorRegistry.algo.ts:596", "pc": [ 1765, 1766 ] }, { "teal": 1979, "source": "examples/reti/validatorRegistry.algo.ts:599", "pc": [ 1767 ] }, { "teal": 1980, "source": "examples/reti/validatorRegistry.algo.ts:599", "pc": [ 1768, 1769 ] }, { "teal": 1981, "source": "examples/reti/validatorRegistry.algo.ts:599", "pc": [ 1770, 1771 ] }, { "teal": 1985, "source": "examples/reti/validatorRegistry.algo.ts:600", "pc": [ 1772 ] }, { "teal": 1986, "source": "examples/reti/validatorRegistry.algo.ts:600", "pc": [ 1773, 1774 ] }, { "teal": 1993, "source": "examples/reti/validatorRegistry.algo.ts:602", "pc": [ 1775, 1776 ] }, { "teal": 1994, "source": "examples/reti/validatorRegistry.algo.ts:602", "pc": [ 1777 ] }, { "teal": 1995, "source": "examples/reti/validatorRegistry.algo.ts:602", "pc": [ 1778, 1779 ] }, { "teal": 1996, "source": "examples/reti/validatorRegistry.algo.ts:602", "pc": [ 1780 ] }, { "teal": 1997, "source": "examples/reti/validatorRegistry.algo.ts:602", "pc": [ 1781, 1782 ] }, { "teal": 1998, "source": "examples/reti/validatorRegistry.algo.ts:603", "pc": [ 1783, 1784 ] }, { "teal": 1999, "source": "examples/reti/validatorRegistry.algo.ts:603", "pc": [ 1785, 1786 ] }, { "teal": 2000, "source": "examples/reti/validatorRegistry.algo.ts:603", "pc": [ 1787, 1788 ] }, { "teal": 2001, "source": "examples/reti/validatorRegistry.algo.ts:603", "pc": [ 1789 ] }, { "teal": 2004, "source": "examples/reti/validatorRegistry.algo.ts:603", "errorMessage": "box value does not exist: this.stakingPoolApprovalProgram.size", "pc": [ 1790 ] }, { "teal": 2005, "source": "examples/reti/validatorRegistry.algo.ts:603", "pc": [ 1791, 1792 ] }, { "teal": 2006, "source": "examples/reti/validatorRegistry.algo.ts:603", "pc": [ 1793 ] }, { "teal": 2007, "source": "examples/reti/validatorRegistry.algo.ts:603", "pc": [ 1794 ] }, { "teal": 2008, "source": "examples/reti/validatorRegistry.algo.ts:603", "pc": [ 1795, 1796 ] }, { "teal": 2012, "source": "examples/reti/validatorRegistry.algo.ts:605", "pc": [ 1797, 1798, 1799 ] }, { "teal": 2013, "source": "examples/reti/validatorRegistry.algo.ts:605", "pc": [ 1800, 1801 ] }, { "teal": 2017, "source": "examples/reti/validatorRegistry.algo.ts:606", "pc": [ 1802, 1803 ] }, { "teal": 2018, "source": "examples/reti/validatorRegistry.algo.ts:606", "pc": [ 1804, 1805 ] }, { "teal": 2022, "source": "examples/reti/validatorRegistry.algo.ts:607", "pc": [ 1806, 1807 ] }, { "teal": 2023, "source": "examples/reti/validatorRegistry.algo.ts:607", "pc": [ 1808, 1809 ] }, { "teal": 2027, "source": "examples/reti/validatorRegistry.algo.ts:608", "pc": [ 1810, 1811 ] }, { "teal": 2028, "source": "examples/reti/validatorRegistry.algo.ts:608", "pc": [ 1812, 1813 ] }, { "teal": 2039, "source": "examples/reti/validatorRegistry.algo.ts:611", "pc": [ 1814, 1815, 1816, 1817, 1818, 1819 ] }, { "teal": 2040, "source": "examples/reti/validatorRegistry.algo.ts:611", "pc": [ 1820, 1821 ] }, { "teal": 2041, "source": "examples/reti/validatorRegistry.algo.ts:612", "pc": [ 1822, 1823, 1824 ] }, { "teal": 2042, "source": "examples/reti/validatorRegistry.algo.ts:612", "pc": [ 1825 ] }, { "teal": 2043, "source": "examples/reti/validatorRegistry.algo.ts:612", "pc": [ 1826, 1827 ] }, { "teal": 2044, "source": "examples/reti/validatorRegistry.algo.ts:613", "pc": [ 1828, 1829 ] }, { "teal": 2045, "source": "examples/reti/validatorRegistry.algo.ts:613", "pc": [ 1830 ] }, { "teal": 2046, "source": "examples/reti/validatorRegistry.algo.ts:613", "pc": [ 1831, 1832 ] }, { "teal": 2047, "source": "examples/reti/validatorRegistry.algo.ts:614", "pc": [ 1833, 1834 ] }, { "teal": 2048, "source": "examples/reti/validatorRegistry.algo.ts:614", "pc": [ 1835 ] }, { "teal": 2049, "source": "examples/reti/validatorRegistry.algo.ts:614", "pc": [ 1836, 1837 ] }, { "teal": 2050, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ 1838, 1839 ] }, { "teal": 2051, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ 1840 ] }, { "teal": 2052, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ 1841 ] }, { "teal": 2053, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ 1842, 1843 ] }, { "teal": 2054, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ 1844 ] }, { "teal": 2055, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ 1845 ] }, { "teal": 2056, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ 1846, 1847 ] }, { "teal": 2057, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ 1848 ] }, { "teal": 2058, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ 1849 ] }, { "teal": 2059, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ 1850 ] }, { "teal": 2060, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ 1851, 1852 ] }, { "teal": 2063, "source": "examples/reti/validatorRegistry.algo.ts:599", "pc": [ 1853 ] }, { "teal": 2064, "source": "examples/reti/validatorRegistry.algo.ts:599", "pc": [ 1854, 1855 ] }, { "teal": 2067, "source": "examples/reti/validatorRegistry.algo.ts:599", "pc": [ 1856 ] }, { "teal": 2071, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ 1857, 1858 ] }, { "teal": 2072, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ 1859, 1860 ] }, { "teal": 2073, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ 1861 ] }, { "teal": 2074, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ 1862 ] }, { "teal": 2075, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ 1863 ] }, { "teal": 2076, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ 1864, 1865 ] }, { "teal": 2077, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ 1866 ] }, { "teal": 2080, "source": "examples/reti/validatorRegistry.algo.ts:619", "errorMessage": "this.validatorList(validatorId).value.state.numPools overflowed 16 bits", "pc": [ 1867 ] }, { "teal": 2081, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ 1868, 1869, 1870 ] }, { "teal": 2082, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ 1871 ] }, { "teal": 2083, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ 1872, 1873 ] }, { "teal": 2084, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ 1874 ] }, { "teal": 2085, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ 1875 ] }, { "teal": 2086, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ 1876, 1877 ] }, { "teal": 2087, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ 1878 ] }, { "teal": 2091, "source": "examples/reti/validatorRegistry.algo.ts:622", "pc": [ 1879, 1880 ] }, { "teal": 2092, "source": "examples/reti/validatorRegistry.algo.ts:622", "pc": [ 1881, 1882 ] }, { "teal": 2096, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ 1883, 1884 ] }, { "teal": 2097, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ 1885, 1886 ] }, { "teal": 2098, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ 1887 ] }, { "teal": 2099, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ 1888 ] }, { "teal": 2100, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ 1889, 1890 ] }, { "teal": 2101, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ 1891 ] }, { "teal": 2102, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ 1892 ] }, { "teal": 2103, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ 1893 ] }, { "teal": 2104, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ 1894 ] }, { "teal": 2105, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ 1895, 1896 ] }, { "teal": 2106, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ 1897 ] }, { "teal": 2107, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ 1898 ] }, { "teal": 2108, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ 1899, 1900 ] }, { "teal": 2109, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ 1901 ] }, { "teal": 2110, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ 1902 ] }, { "teal": 2111, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ 1903, 1904 ] }, { "teal": 2112, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ 1905 ] }, { "teal": 2116, "source": "examples/reti/validatorRegistry.algo.ts:624", "pc": [ 1906, 1907 ] }, { "teal": 2117, "source": "examples/reti/validatorRegistry.algo.ts:624", "pc": [ 1908, 1909 ] }, { "teal": 2118, "source": "examples/reti/validatorRegistry.algo.ts:624", "pc": [ 1910, 1911 ] }, { "teal": 2119, "source": "examples/reti/validatorRegistry.algo.ts:624", "pc": [ 1912, 1913, 1914 ] }, { "teal": 2123, "source": "examples/reti/validatorRegistry.algo.ts:632", "pc": [ 1915, 1916 ] }, { "teal": 2124, "source": "examples/reti/validatorRegistry.algo.ts:632", "pc": [ 1917 ] }, { "teal": 2125, "source": "examples/reti/validatorRegistry.algo.ts:632", "pc": [ 1918, 1919 ] }, { "teal": 2126, "source": "examples/reti/validatorRegistry.algo.ts:632", "pc": [ 1920 ] }, { "teal": 2127, "source": "examples/reti/validatorRegistry.algo.ts:632", "pc": [ 1921 ] }, { "teal": 2128, "source": "examples/reti/validatorRegistry.algo.ts:632", "pc": [ 1922, 1923 ] }, { "teal": 2129, "source": "examples/reti/validatorRegistry.algo.ts:632", "pc": [ 1924 ] }, { "teal": 2130, "source": "examples/reti/validatorRegistry.algo.ts:632", "pc": [ 1925 ] }, { "teal": 2133, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ 1926, 1927 ] }, { "teal": 2136, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ 1928, 1929 ] }, { "teal": 2137, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ 1930 ] }, { "teal": 2142, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ 1931 ] }, { "teal": 2145, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ 1932, 1933, 1934 ] }, { "teal": 2146, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ 1935 ] }, { "teal": 2149, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ 1936, 1937, 1938 ] }, { "teal": 2150, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ 1939 ] }, { "teal": 2153, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ 1940, 1941 ] }, { "teal": 2154, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ 1942 ] }, { "teal": 2155, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ 1943 ] }, { "teal": 2156, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ 1944 ] }, { "teal": 2157, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ 1945, 1946 ] }, { "teal": 2158, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ 1947 ] }, { "teal": 2159, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ 1948 ] }, { "teal": 2162, "source": "examples/reti/validatorRegistry.algo.ts:644", "errorMessage": "argument 2 (stakedAmountPayment) for addStake must be a pay transaction", "pc": [ 1949 ] }, { "teal": 2165, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ 1950, 1951, 1952 ] }, { "teal": 2166, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ 1953 ] }, { "teal": 2167, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ 1954 ] }, { "teal": 2168, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ 1955 ] }, { "teal": 2169, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ 1956 ] }, { "teal": 2181, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ 1957, 1958, 1959 ] }, { "teal": 2184, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ 1960 ] }, { "teal": 2185, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ 1961, 1962 ] }, { "teal": 2189, "source": "examples/reti/validatorRegistry.algo.ts:645", "pc": [ 1963 ] }, { "teal": 2190, "source": "examples/reti/validatorRegistry.algo.ts:645", "pc": [ 1964, 1965 ] }, { "teal": 2191, "source": "examples/reti/validatorRegistry.algo.ts:645", "pc": [ 1966 ] }, { "teal": 2192, "source": "examples/reti/validatorRegistry.algo.ts:645", "pc": [ 1967 ] }, { "teal": 2193, "source": "examples/reti/validatorRegistry.algo.ts:645", "pc": [ 1968 ] }, { "teal": 2194, "source": "examples/reti/validatorRegistry.algo.ts:645", "pc": [ 1969 ] }, { "teal": 2195, "source": "examples/reti/validatorRegistry.algo.ts:645", "pc": [ 1970 ] }, { "teal": 2198, "source": "examples/reti/validatorRegistry.algo.ts:645", "errorMessage": "specified validator id isn't valid", "pc": [ 1971 ] }, { "teal": 2203, "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ 1972, 1973 ] }, { "teal": 2204, "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ 1974 ] }, { "teal": 2205, "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ 1975 ] }, { "teal": 2206, "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ 1976, 1977 ] }, { "teal": 2207, "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ 1978 ] }, { "teal": 2208, "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ 1979 ] }, { "teal": 2209, "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ 1980, 1981 ] }, { "teal": 2210, "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ 1982 ] }, { "teal": 2211, "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ 1983 ] }, { "teal": 2212, "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ 1984 ] }, { "teal": 2213, "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ 1985 ] }, { "teal": 2214, "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ 1986, 1987, 1988 ] }, { "teal": 2222, "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ 1989, 1990 ] }, { "teal": 2223, "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ 1991 ] }, { "teal": 2224, "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ 1992 ] }, { "teal": 2225, "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ 1993, 1994 ] }, { "teal": 2226, "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ 1995 ] }, { "teal": 2227, "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ 1996 ] }, { "teal": 2228, "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ 1997, 1998 ] }, { "teal": 2229, "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ 1999 ] }, { "teal": 2230, "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ 2000 ] }, { "teal": 2231, "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ 2001, 2002 ] }, { "teal": 2232, "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ 2003 ] }, { "teal": 2235, "source": "examples/reti/validatorRegistry.algo.ts:649", "errorMessage": "can't stake with a validator that is past its sunsetting time", "pc": [ 2004 ] }, { "teal": 2240, "source": "examples/reti/validatorRegistry.algo.ts:655", "pc": [ 2005, 2006 ] }, { "teal": 2241, "source": "examples/reti/validatorRegistry.algo.ts:655", "pc": [ 2007, 2008 ] }, { "teal": 2249, "source": "examples/reti/validatorRegistry.algo.ts:659", "pc": [ 2009, 2010 ] }, { "teal": 2250, "source": "examples/reti/validatorRegistry.algo.ts:660", "pc": [ 2011, 2012 ] }, { "teal": 2251, "source": "examples/reti/validatorRegistry.algo.ts:660", "pc": [ 2013, 2014 ] }, { "teal": 2252, "source": "examples/reti/validatorRegistry.algo.ts:660", "pc": [ 2015 ] }, { "teal": 2255, "source": "examples/reti/validatorRegistry.algo.ts:660", "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"sender\",\"expected\":\"staker\"}", "pc": [ 2016 ] }, { "teal": 2258, "source": "examples/reti/validatorRegistry.algo.ts:659", "pc": [ 2017, 2018 ] }, { "teal": 2259, "source": "examples/reti/validatorRegistry.algo.ts:661", "pc": [ 2019, 2020 ] }, { "teal": 2260, "source": "examples/reti/validatorRegistry.algo.ts:661", "pc": [ 2021, 2022 ] }, { "teal": 2261, "source": "examples/reti/validatorRegistry.algo.ts:661", "pc": [ 2023 ] }, { "teal": 2264, "source": "examples/reti/validatorRegistry.algo.ts:661", "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", "pc": [ 2024 ] }, { "teal": 2271, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ 2025, 2026 ] }, { "teal": 2272, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ 2027 ] }, { "teal": 2273, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ 2028 ] }, { "teal": 2274, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ 2029, 2030 ] }, { "teal": 2275, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ 2031 ] }, { "teal": 2276, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ 2032 ] }, { "teal": 2277, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ 2033, 2034 ] }, { "teal": 2278, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ 2035 ] }, { "teal": 2279, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ 2036 ] }, { "teal": 2280, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ 2037, 2038, 2039 ] }, { "teal": 2281, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ 2040 ] }, { "teal": 2284, "source": "examples/reti/validatorRegistry.algo.ts:666", "errorMessage": "total staked for all of a validators pools may not exceed hard cap", "pc": [ 2041 ] }, { "teal": 2288, "source": "examples/reti/validatorRegistry.algo.ts:673", "pc": [ 2042, 2043 ] }, { "teal": 2289, "source": "examples/reti/validatorRegistry.algo.ts:673", "pc": [ 2044, 2045 ] }, { "teal": 2290, "source": "examples/reti/validatorRegistry.algo.ts:673", "pc": [ 2046, 2047, 2048 ] }, { "teal": 2294, "source": "examples/reti/validatorRegistry.algo.ts:675", "pc": [ 2049, 2050 ] }, { "teal": 2295, "source": "examples/reti/validatorRegistry.algo.ts:675", "pc": [ 2051, 2052 ] }, { "teal": 2296, "source": "examples/reti/validatorRegistry.algo.ts:675", "pc": [ 2053, 2054 ] }, { "teal": 2300, "source": "examples/reti/validatorRegistry.algo.ts:676", "pc": [ 2055 ] }, { "teal": 2301, "source": "examples/reti/validatorRegistry.algo.ts:676", "pc": [ 2056, 2057 ] }, { "teal": 2306, "source": "examples/reti/validatorRegistry.algo.ts:678", "pc": [ 2058 ] }, { "teal": 2307, "source": "examples/reti/validatorRegistry.algo.ts:678", "pc": [ 2059, 2060 ] }, { "teal": 2308, "source": "examples/reti/validatorRegistry.algo.ts:678", "pc": [ 2061 ] }, { "teal": 2309, "source": "examples/reti/validatorRegistry.algo.ts:678", "pc": [ 2062 ] }, { "teal": 2310, "source": "examples/reti/validatorRegistry.algo.ts:678", "pc": [ 2063 ] }, { "teal": 2311, "source": "examples/reti/validatorRegistry.algo.ts:678", "pc": [ 2064 ] }, { "teal": 2312, "source": "examples/reti/validatorRegistry.algo.ts:678", "pc": [ 2065 ] }, { "teal": 2313, "source": "examples/reti/validatorRegistry.algo.ts:678", "pc": [ 2066, 2067, 2068 ] }, { "teal": 2318, "source": "examples/reti/validatorRegistry.algo.ts:681", "pc": [ 2069, 2070, 2071 ] }, { "teal": 2319, "source": "examples/reti/validatorRegistry.algo.ts:681", "pc": [ 2072, 2073, 2074 ] }, { "teal": 2320, "source": "examples/reti/validatorRegistry.algo.ts:681", "pc": [ 2075 ] }, { "teal": 2321, "source": "examples/reti/validatorRegistry.algo.ts:681", "pc": [ 2076, 2077 ] }, { "teal": 2325, "source": "examples/reti/validatorRegistry.algo.ts:682", "pc": [ 2078, 2079 ] }, { "teal": 2326, "source": "examples/reti/validatorRegistry.algo.ts:682", "pc": [ 2080, 2081 ] }, { "teal": 2327, "source": "examples/reti/validatorRegistry.algo.ts:682", "pc": [ 2082 ] }, { "teal": 2328, "source": "examples/reti/validatorRegistry.algo.ts:682", "pc": [ 2083, 2084 ] }, { "teal": 2332, "source": "examples/reti/validatorRegistry.algo.ts:683", "pc": [ 2085 ] }, { "teal": 2333, "source": "examples/reti/validatorRegistry.algo.ts:683", "pc": [ 2086, 2087 ] }, { "teal": 2334, "source": "examples/reti/validatorRegistry.algo.ts:683", "pc": [ 2088 ] }, { "teal": 2335, "source": "examples/reti/validatorRegistry.algo.ts:683", "pc": [ 2089, 2090, 2091 ] }, { "teal": 2336, "source": "examples/reti/validatorRegistry.algo.ts:683", "pc": [ 2092 ] }, { "teal": 2337, "source": "examples/reti/validatorRegistry.algo.ts:683", "pc": [ 2093 ] }, { "teal": 2342, "source": "examples/reti/validatorRegistry.algo.ts:687", "pc": [ 2094, 2095 ] }, { "teal": 2343, "source": "examples/reti/validatorRegistry.algo.ts:687", "pc": [ 2096, 2097 ] }, { "teal": 2344, "source": "examples/reti/validatorRegistry.algo.ts:687", "pc": [ 2098, 2099 ] }, { "teal": 2345, "source": "examples/reti/validatorRegistry.algo.ts:687", "pc": [ 2100, 2101, 2102 ] }, { "teal": 2346, "source": "examples/reti/validatorRegistry.algo.ts:687", "pc": [ 2103, 2104 ] }, { "teal": 2352, "source": "examples/reti/validatorRegistry.algo.ts:689", "pc": [ 2105, 2106 ] }, { "teal": 2353, "source": "examples/reti/validatorRegistry.algo.ts:689", "pc": [ 2107, 2108 ] }, { "teal": 2354, "source": "examples/reti/validatorRegistry.algo.ts:689", "pc": [ 2109, 2110 ] }, { "teal": 2355, "source": "examples/reti/validatorRegistry.algo.ts:689", "pc": [ 2111, 2112 ] }, { "teal": 2356, "source": "examples/reti/validatorRegistry.algo.ts:689", "pc": [ 2113 ] }, { "teal": 2357, "source": "examples/reti/validatorRegistry.algo.ts:689", "pc": [ 2114, 2115 ] }, { "teal": 2361, "source": "examples/reti/validatorRegistry.algo.ts:690", "pc": [ 2116, 2117 ] }, { "teal": 2362, "source": "examples/reti/validatorRegistry.algo.ts:690", "pc": [ 2118, 2119 ] }, { "teal": 2363, "source": "examples/reti/validatorRegistry.algo.ts:690", "pc": [ 2120, 2121 ] }, { "teal": 2364, "source": "examples/reti/validatorRegistry.algo.ts:690", "pc": [ 2122, 2123, 2124 ] }, { "teal": 2365, "source": "examples/reti/validatorRegistry.algo.ts:690", "pc": [ 2125 ] }, { "teal": 2366, "source": "examples/reti/validatorRegistry.algo.ts:690", "pc": [ 2126, 2127 ] }, { "teal": 2371, "source": "examples/reti/validatorRegistry.algo.ts:691", "pc": [ 2128, 2129 ] }, { "teal": 2372, "source": "examples/reti/validatorRegistry.algo.ts:691", "pc": [ 2130, 2131 ] }, { "teal": 2373, "source": "examples/reti/validatorRegistry.algo.ts:691", "pc": [ 2132, 2133 ] }, { "teal": 2374, "source": "examples/reti/validatorRegistry.algo.ts:691", "pc": [ 2134, 2135, 2136 ] }, { "teal": 2375, "source": "examples/reti/validatorRegistry.algo.ts:691", "pc": [ 2137 ] }, { "teal": 2376, "source": "examples/reti/validatorRegistry.algo.ts:691", "pc": [ 2138 ] }, { "teal": 2377, "source": "examples/reti/validatorRegistry.algo.ts:691", "pc": [ 2139 ] }, { "teal": 2378, "source": "examples/reti/validatorRegistry.algo.ts:691", "pc": [ 2140, 2141, 2142 ] }, { "teal": 2382, "source": "examples/reti/validatorRegistry.algo.ts:692", "errorMessage": "No pool available with free stake. Validator needs to add another pool", "pc": [ 2143 ] }, { "teal": 2387, "source": "examples/reti/validatorRegistry.algo.ts:696", "pc": [ 2144, 2145 ] }, { "teal": 2388, "source": "examples/reti/validatorRegistry.algo.ts:696", "pc": [ 2146, 2147 ] }, { "teal": 2389, "source": "examples/reti/validatorRegistry.algo.ts:696", "pc": [ 2148, 2149 ] }, { "teal": 2390, "source": "examples/reti/validatorRegistry.algo.ts:696", "pc": [ 2150, 2151, 2152 ] }, { "teal": 2391, "source": "examples/reti/validatorRegistry.algo.ts:696", "pc": [ 2153, 2154 ] }, { "teal": 2392, "source": "examples/reti/validatorRegistry.algo.ts:696", "pc": [ 2155, 2156, 2157 ] }, { "teal": 2402, "source": "examples/reti/validatorRegistry.algo.ts:704", "pc": [ 2158, 2159 ] }, { "teal": 2403, "source": "examples/reti/validatorRegistry.algo.ts:703", "pc": [ 2160, 2161 ] }, { "teal": 2404, "source": "examples/reti/validatorRegistry.algo.ts:702", "pc": [ 2162, 2163 ] }, { "teal": 2405, "source": "examples/reti/validatorRegistry.algo.ts:701", "pc": [ 2164, 2165 ] }, { "teal": 2406, "source": "examples/reti/validatorRegistry.algo.ts:701", "pc": [ 2166, 2167 ] }, { "teal": 2407, "source": "examples/reti/validatorRegistry.algo.ts:701", "pc": [ 2168, 2169 ] }, { "teal": 2408, "source": "examples/reti/validatorRegistry.algo.ts:701", "pc": [ 2170, 2171, 2172 ] }, { "teal": 2409, "source": "examples/reti/validatorRegistry.algo.ts:700", "pc": [ 2173, 2174 ] }, { "teal": 2410, "source": "examples/reti/validatorRegistry.algo.ts:699", "pc": [ 2175, 2176, 2177 ] }, { "teal": 2414, "source": "examples/reti/validatorRegistry.algo.ts:714", "pc": [ 2178, 2179 ] }, { "teal": 2415, "source": "examples/reti/validatorRegistry.algo.ts:714", "pc": [ 2180, 2181 ] }, { "teal": 2416, "source": "examples/reti/validatorRegistry.algo.ts:714", "pc": [ 2182, 2183 ] }, { "teal": 2417, "source": "examples/reti/validatorRegistry.algo.ts:714", "pc": [ 2184, 2185, 2186 ] }, { "teal": 2420, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ 2187, 2188 ] }, { "teal": 2423, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ 2189, 2190 ] }, { "teal": 2424, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ 2191 ] }, { "teal": 2429, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ 2192 ] }, { "teal": 2432, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ 2193, 2194, 2195 ] }, { "teal": 2433, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ 2196 ] }, { "teal": 2436, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ 2197, 2198, 2199 ] }, { "teal": 2437, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ 2200 ] }, { "teal": 2438, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ 2201 ] }, { "teal": 2439, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ 2202 ] }, { "teal": 2440, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ 2203 ] }, { "teal": 2458, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ 2204, 2205, 2206 ] }, { "teal": 2461, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ 2207 ] }, { "teal": 2462, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ 2208, 2209 ] }, { "teal": 2466, "source": "examples/reti/validatorRegistry.algo.ts:734", "pc": [ 2210, 2211 ] }, { "teal": 2467, "source": "examples/reti/validatorRegistry.algo.ts:734", "pc": [ 2212 ] }, { "teal": 2468, "source": "examples/reti/validatorRegistry.algo.ts:734", "pc": [ 2213 ] }, { "teal": 2469, "source": "examples/reti/validatorRegistry.algo.ts:734", "pc": [ 2214, 2215 ] }, { "teal": 2470, "source": "examples/reti/validatorRegistry.algo.ts:734", "pc": [ 2216 ] }, { "teal": 2471, "source": "examples/reti/validatorRegistry.algo.ts:734", "pc": [ 2217 ] }, { "teal": 2472, "source": "examples/reti/validatorRegistry.algo.ts:734", "pc": [ 2218, 2219 ] }, { "teal": 2473, "source": "examples/reti/validatorRegistry.algo.ts:734", "pc": [ 2220 ] }, { "teal": 2474, "source": "examples/reti/validatorRegistry.algo.ts:734", "pc": [ 2221 ] }, { "teal": 2475, "source": "examples/reti/validatorRegistry.algo.ts:734", "pc": [ 2222, 2223 ] }, { "teal": 2479, "source": "examples/reti/validatorRegistry.algo.ts:735", "pc": [ 2224, 2225 ] }, { "teal": 2480, "source": "examples/reti/validatorRegistry.algo.ts:735", "pc": [ 2226 ] }, { "teal": 2481, "source": "examples/reti/validatorRegistry.algo.ts:735", "pc": [ 2227 ] }, { "teal": 2482, "source": "examples/reti/validatorRegistry.algo.ts:735", "pc": [ 2228 ] }, { "teal": 2487, "source": "examples/reti/validatorRegistry.algo.ts:737", "pc": [ 2229, 2230 ] }, { "teal": 2488, "source": "examples/reti/validatorRegistry.algo.ts:737", "pc": [ 2231, 2232 ] }, { "teal": 2489, "source": "examples/reti/validatorRegistry.algo.ts:737", "pc": [ 2233, 2234 ] }, { "teal": 2490, "source": "examples/reti/validatorRegistry.algo.ts:737", "pc": [ 2235 ] }, { "teal": 2491, "source": "examples/reti/validatorRegistry.algo.ts:737", "pc": [ 2236 ] }, { "teal": 2492, "source": "examples/reti/validatorRegistry.algo.ts:737", "pc": [ 2237, 2238, 2239 ] }, { "teal": 2497, "source": "examples/reti/validatorRegistry.algo.ts:738", "pc": [ 2240, 2241 ] }, { "teal": 2498, "source": "examples/reti/validatorRegistry.algo.ts:738", "pc": [ 2242, 2243 ] }, { "teal": 2499, "source": "examples/reti/validatorRegistry.algo.ts:738", "pc": [ 2244 ] }, { "teal": 2500, "source": "examples/reti/validatorRegistry.algo.ts:738", "pc": [ 2245, 2246 ] }, { "teal": 2501, "source": "examples/reti/validatorRegistry.algo.ts:738", "pc": [ 2247 ] }, { "teal": 2502, "source": "examples/reti/validatorRegistry.algo.ts:738", "pc": [ 2248 ] }, { "teal": 2503, "source": "examples/reti/validatorRegistry.algo.ts:738", "pc": [ 2249, 2250 ] }, { "teal": 2504, "source": "examples/reti/validatorRegistry.algo.ts:738", "pc": [ 2251 ] }, { "teal": 2505, "source": "examples/reti/validatorRegistry.algo.ts:738", "pc": [ 2252, 2253, 2254 ] }, { "teal": 2510, "source": "examples/reti/validatorRegistry.algo.ts:744", "pc": [ 2255, 2256 ] }, { "teal": 2511, "source": "examples/reti/validatorRegistry.algo.ts:744", "pc": [ 2257, 2258 ] }, { "teal": 2515, "source": "examples/reti/validatorRegistry.algo.ts:745", "pc": [ 2259, 2260 ] }, { "teal": 2516, "source": "examples/reti/validatorRegistry.algo.ts:745", "pc": [ 2261 ] }, { "teal": 2517, "source": "examples/reti/validatorRegistry.algo.ts:745", "pc": [ 2262 ] }, { "teal": 2518, "source": "examples/reti/validatorRegistry.algo.ts:745", "pc": [ 2263, 2264 ] }, { "teal": 2519, "source": "examples/reti/validatorRegistry.algo.ts:745", "pc": [ 2265 ] }, { "teal": 2520, "source": "examples/reti/validatorRegistry.algo.ts:745", "pc": [ 2266 ] }, { "teal": 2521, "source": "examples/reti/validatorRegistry.algo.ts:745", "pc": [ 2267, 2268 ] }, { "teal": 2522, "source": "examples/reti/validatorRegistry.algo.ts:745", "pc": [ 2269 ] }, { "teal": 2523, "source": "examples/reti/validatorRegistry.algo.ts:745", "pc": [ 2270 ] }, { "teal": 2524, "source": "examples/reti/validatorRegistry.algo.ts:745", "pc": [ 2271, 2272 ] }, { "teal": 2529, "source": "examples/reti/validatorRegistry.algo.ts:746", "pc": [ 2273, 2274 ] }, { "teal": 2530, "source": "examples/reti/validatorRegistry.algo.ts:746", "pc": [ 2275 ] }, { "teal": 2531, "source": "examples/reti/validatorRegistry.algo.ts:746", "pc": [ 2276 ] }, { "teal": 2532, "source": "examples/reti/validatorRegistry.algo.ts:746", "pc": [ 2277, 2278, 2279 ] }, { "teal": 2538, "source": "examples/reti/validatorRegistry.algo.ts:748", "pc": [ 2280, 2281 ] }, { "teal": 2539, "source": "examples/reti/validatorRegistry.algo.ts:748", "pc": [ 2282, 2283, 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293 ] }, { "teal": 2540, "source": "examples/reti/validatorRegistry.algo.ts:748", "pc": [ 2294 ] }, { "teal": 2543, "source": "examples/reti/validatorRegistry.algo.ts:748", "errorMessage": "global state value does not exist: AppID.fromUint64(pool1AppID).globalState('lastPayout')", "pc": [ 2295 ] }, { "teal": 2544, "source": "examples/reti/validatorRegistry.algo.ts:748", "pc": [ 2296, 2297 ] }, { "teal": 2545, "source": "examples/reti/validatorRegistry.algo.ts:748", "pc": [ 2298 ] }, { "teal": 2546, "source": "examples/reti/validatorRegistry.algo.ts:748", "pc": [ 2299, 2300, 2301 ] }, { "teal": 2551, "source": "examples/reti/validatorRegistry.algo.ts:749", "pc": [ 2302, 2303 ] }, { "teal": 2552, "source": "examples/reti/validatorRegistry.algo.ts:749", "pc": [ 2304, 2305 ] }, { "teal": 2553, "source": "examples/reti/validatorRegistry.algo.ts:749", "pc": [ 2306 ] }, { "teal": 2554, "source": "examples/reti/validatorRegistry.algo.ts:749", "pc": [ 2307, 2308 ] }, { "teal": 2555, "source": "examples/reti/validatorRegistry.algo.ts:749", "pc": [ 2309 ] }, { "teal": 2556, "source": "examples/reti/validatorRegistry.algo.ts:749", "pc": [ 2310 ] }, { "teal": 2557, "source": "examples/reti/validatorRegistry.algo.ts:749", "pc": [ 2311, 2312 ] }, { "teal": 2558, "source": "examples/reti/validatorRegistry.algo.ts:749", "pc": [ 2313 ] }, { "teal": 2559, "source": "examples/reti/validatorRegistry.algo.ts:749", "pc": [ 2314, 2315, 2316 ] }, { "teal": 2564, "source": "examples/reti/validatorRegistry.algo.ts:751", "pc": [ 2317, 2318, 2319 ] }, { "teal": 2565, "source": "examples/reti/validatorRegistry.algo.ts:751", "pc": [ 2320, 2321 ] }, { "teal": 2566, "source": "examples/reti/validatorRegistry.algo.ts:751", "pc": [ 2322 ] }, { "teal": 2567, "source": "examples/reti/validatorRegistry.algo.ts:751", "pc": [ 2323, 2324 ] }, { "teal": 2568, "source": "examples/reti/validatorRegistry.algo.ts:751", "pc": [ 2325 ] }, { "teal": 2569, "source": "examples/reti/validatorRegistry.algo.ts:751", "pc": [ 2326 ] }, { "teal": 2570, "source": "examples/reti/validatorRegistry.algo.ts:751", "pc": [ 2327, 2328 ] }, { "teal": 2571, "source": "examples/reti/validatorRegistry.algo.ts:751", "pc": [ 2329 ] }, { "teal": 2572, "source": "examples/reti/validatorRegistry.algo.ts:751", "pc": [ 2330 ] }, { "teal": 2573, "source": "examples/reti/validatorRegistry.algo.ts:751", "pc": [ 2331, 2332 ] }, { "teal": 2577, "source": "examples/reti/validatorRegistry.algo.ts:752", "pc": [ 2333, 2334 ] }, { "teal": 2578, "source": "examples/reti/validatorRegistry.algo.ts:752", "pc": [ 2335, 2336 ] }, { "teal": 2579, "source": "examples/reti/validatorRegistry.algo.ts:752", "pc": [ 2337, 2338 ] }, { "teal": 2580, "source": "examples/reti/validatorRegistry.algo.ts:752", "pc": [ 2339 ] }, { "teal": 2581, "source": "examples/reti/validatorRegistry.algo.ts:752", "pc": [ 2340 ] }, { "teal": 2582, "source": "examples/reti/validatorRegistry.algo.ts:752", "pc": [ 2341, 2342 ] }, { "teal": 2587, "source": "examples/reti/validatorRegistry.algo.ts:754", "pc": [ 2343, 2344 ] }, { "teal": 2588, "source": "examples/reti/validatorRegistry.algo.ts:754", "pc": [ 2345, 2346 ] }, { "teal": 2589, "source": "examples/reti/validatorRegistry.algo.ts:754", "pc": [ 2347, 2348 ] }, { "teal": 2590, "source": "examples/reti/validatorRegistry.algo.ts:754", "pc": [ 2349 ] }, { "teal": 2591, "source": "examples/reti/validatorRegistry.algo.ts:754", "pc": [ 2350 ] }, { "teal": 2592, "source": "examples/reti/validatorRegistry.algo.ts:754", "pc": [ 2351, 2352 ] }, { "teal": 2593, "source": "examples/reti/validatorRegistry.algo.ts:754", "pc": [ 2353 ] }, { "teal": 2594, "source": "examples/reti/validatorRegistry.algo.ts:754", "pc": [ 2354, 2355, 2356 ] }, { "teal": 2599, "source": "examples/reti/validatorRegistry.algo.ts:755", "pc": [ 2357, 2358 ] }, { "teal": 2600, "source": "examples/reti/validatorRegistry.algo.ts:755", "pc": [ 2359, 2360 ] }, { "teal": 2601, "source": "examples/reti/validatorRegistry.algo.ts:755", "pc": [ 2361 ] }, { "teal": 2602, "source": "examples/reti/validatorRegistry.algo.ts:755", "pc": [ 2362, 2363 ] }, { "teal": 2603, "source": "examples/reti/validatorRegistry.algo.ts:755", "pc": [ 2364 ] }, { "teal": 2604, "source": "examples/reti/validatorRegistry.algo.ts:755", "pc": [ 2365 ] }, { "teal": 2605, "source": "examples/reti/validatorRegistry.algo.ts:755", "pc": [ 2366, 2367 ] }, { "teal": 2606, "source": "examples/reti/validatorRegistry.algo.ts:755", "pc": [ 2368 ] }, { "teal": 2607, "source": "examples/reti/validatorRegistry.algo.ts:755", "pc": [ 2369, 2370, 2371 ] }, { "teal": 2614, "source": "examples/reti/validatorRegistry.algo.ts:758", "pc": [ 2372, 2373 ] }, { "teal": 2615, "source": "examples/reti/validatorRegistry.algo.ts:758", "pc": [ 2374, 2375 ] }, { "teal": 2616, "source": "examples/reti/validatorRegistry.algo.ts:758", "pc": [ 2376 ] }, { "teal": 2617, "source": "examples/reti/validatorRegistry.algo.ts:758", "pc": [ 2377 ] }, { "teal": 2618, "source": "examples/reti/validatorRegistry.algo.ts:758", "pc": [ 2378, 2379 ] }, { "teal": 2619, "source": "examples/reti/validatorRegistry.algo.ts:758", "pc": [ 2380 ] }, { "teal": 2620, "source": "examples/reti/validatorRegistry.algo.ts:758", "pc": [ 2381 ] }, { "teal": 2621, "source": "examples/reti/validatorRegistry.algo.ts:758", "pc": [ 2382, 2383 ] }, { "teal": 2622, "source": "examples/reti/validatorRegistry.algo.ts:758", "pc": [ 2384 ] }, { "teal": 2626, "source": "examples/reti/validatorRegistry.algo.ts:760", "pc": [ 2385, 2386 ] }, { "teal": 2627, "source": "examples/reti/validatorRegistry.algo.ts:760", "pc": [ 2387, 2388 ] }, { "teal": 2628, "source": "examples/reti/validatorRegistry.algo.ts:760", "pc": [ 2389 ] }, { "teal": 2629, "source": "examples/reti/validatorRegistry.algo.ts:760", "pc": [ 2390, 2391 ] }, { "teal": 2630, "source": "examples/reti/validatorRegistry.algo.ts:760", "pc": [ 2392 ] }, { "teal": 2631, "source": "examples/reti/validatorRegistry.algo.ts:760", "pc": [ 2393 ] }, { "teal": 2632, "source": "examples/reti/validatorRegistry.algo.ts:760", "pc": [ 2394, 2395 ] }, { "teal": 2633, "source": "examples/reti/validatorRegistry.algo.ts:760", "pc": [ 2396 ] }, { "teal": 2634, "source": "examples/reti/validatorRegistry.algo.ts:760", "pc": [ 2397 ] }, { "teal": 2635, "source": "examples/reti/validatorRegistry.algo.ts:760", "pc": [ 2398, 2399 ] }, { "teal": 2639, "source": "examples/reti/validatorRegistry.algo.ts:761", "pc": [ 2400, 2401 ] }, { "teal": 2640, "source": "examples/reti/validatorRegistry.algo.ts:761", "pc": [ 2402 ] }, { "teal": 2641, "source": "examples/reti/validatorRegistry.algo.ts:761", "pc": [ 2403 ] }, { "teal": 2642, "source": "examples/reti/validatorRegistry.algo.ts:761", "pc": [ 2404, 2405 ] }, { "teal": 2643, "source": "examples/reti/validatorRegistry.algo.ts:761", "pc": [ 2406 ] }, { "teal": 2644, "source": "examples/reti/validatorRegistry.algo.ts:761", "pc": [ 2407 ] }, { "teal": 2645, "source": "examples/reti/validatorRegistry.algo.ts:761", "pc": [ 2408, 2409 ] }, { "teal": 2646, "source": "examples/reti/validatorRegistry.algo.ts:761", "pc": [ 2410 ] }, { "teal": 2647, "source": "examples/reti/validatorRegistry.algo.ts:761", "pc": [ 2411 ] }, { "teal": 2648, "source": "examples/reti/validatorRegistry.algo.ts:761", "pc": [ 2412, 2413 ] }, { "teal": 2652, "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ 2414 ] }, { "teal": 2653, "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ 2415, 2416 ] }, { "teal": 2658, "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ 2417, 2418 ] }, { "teal": 2659, "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ 2419, 2420 ] }, { "teal": 2660, "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ 2421 ] }, { "teal": 2661, "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ 2422, 2423, 2424 ] }, { "teal": 2668, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ 2425, 2426 ] }, { "teal": 2669, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ 2427, 2428 ] }, { "teal": 2670, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ 2429, 2430 ] }, { "teal": 2671, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ 2431 ] }, { "teal": 2672, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ 2432 ] }, { "teal": 2673, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ 2433, 2434 ] }, { "teal": 2674, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ 2435 ] }, { "teal": 2675, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ 2436 ] }, { "teal": 2676, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ 2437 ] }, { "teal": 2677, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ 2438, 2439 ] }, { "teal": 2678, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ 2440 ] }, { "teal": 2679, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ 2441 ] }, { "teal": 2680, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ 2442, 2443 ] }, { "teal": 2681, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ 2444 ] }, { "teal": 2682, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ 2445 ] }, { "teal": 2683, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ 2446, 2447, 2448, 2449 ] }, { "teal": 2684, "source": "examples/reti/validatorRegistry.algo.ts:767", "pc": [ 2450 ] }, { "teal": 2685, "source": "examples/reti/validatorRegistry.algo.ts:767", "pc": [ 2451 ] }, { "teal": 2686, "source": "examples/reti/validatorRegistry.algo.ts:769", "pc": [ 2452, 2453 ] }, { "teal": 2687, "source": "examples/reti/validatorRegistry.algo.ts:767", "pc": [ 2454 ] }, { "teal": 2688, "source": "examples/reti/validatorRegistry.algo.ts:767", "pc": [ 2455 ] }, { "teal": 2689, "source": "examples/reti/validatorRegistry.algo.ts:767", "pc": [ 2456 ] }, { "teal": 2690, "source": "examples/reti/validatorRegistry.algo.ts:767", "pc": [ 2457 ] }, { "teal": 2691, "source": "examples/reti/validatorRegistry.algo.ts:767", "pc": [ 2458 ] }, { "teal": 2694, "source": "examples/reti/validatorRegistry.algo.ts:767", "errorMessage": "wideRatio failed", "pc": [ 2459 ] }, { "teal": 2695, "source": "examples/reti/validatorRegistry.algo.ts:767", "pc": [ 2460, 2461 ] }, { "teal": 2699, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ 2462, 2463 ] }, { "teal": 2700, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ 2464, 2465 ] }, { "teal": 2701, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ 2466 ] }, { "teal": 2702, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ 2467 ] }, { "teal": 2703, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ 2468 ] }, { "teal": 2704, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ 2469, 2470 ] }, { "teal": 2705, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ 2471 ] }, { "teal": 2706, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ 2472 ] }, { "teal": 2707, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ 2473, 2474 ] }, { "teal": 2708, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ 2475 ] }, { "teal": 2709, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ 2476 ] }, { "teal": 2710, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ 2477, 2478 ] }, { "teal": 2711, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ 2479 ] }, { "teal": 2716, "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ 2480, 2481 ] }, { "teal": 2717, "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ 2482 ] }, { "teal": 2718, "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ 2483 ] }, { "teal": 2719, "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ 2484, 2485 ] }, { "teal": 2720, "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ 2486, 2487, 2488 ] }, { "teal": 2725, "source": "examples/reti/validatorRegistry.algo.ts:773", "pc": [ 2489, 2490 ] }, { "teal": 2726, "source": "examples/reti/validatorRegistry.algo.ts:773", "pc": [ 2491, 2492 ] }, { "teal": 2727, "source": "examples/reti/validatorRegistry.algo.ts:773", "pc": [ 2493 ] }, { "teal": 2728, "source": "examples/reti/validatorRegistry.algo.ts:773", "pc": [ 2494, 2495 ] }, { "teal": 2729, "source": "examples/reti/validatorRegistry.algo.ts:773", "pc": [ 2496 ] }, { "teal": 2730, "source": "examples/reti/validatorRegistry.algo.ts:773", "pc": [ 2497 ] }, { "teal": 2731, "source": "examples/reti/validatorRegistry.algo.ts:773", "pc": [ 2498, 2499 ] }, { "teal": 2732, "source": "examples/reti/validatorRegistry.algo.ts:773", "pc": [ 2500 ] }, { "teal": 2736, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ 2501, 2502 ] }, { "teal": 2739, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ 2503, 2504 ] }, { "teal": 2740, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ 2505 ] }, { "teal": 2745, "source": "examples/reti/validatorRegistry.algo.ts:792", "pc": [ 2506, 2507, 2508 ] }, { "teal": 2746, "source": "examples/reti/validatorRegistry.algo.ts:792", "pc": [ 2509 ] }, { "teal": 2749, "source": "examples/reti/validatorRegistry.algo.ts:791", "pc": [ 2510, 2511, 2512 ] }, { "teal": 2750, "source": "examples/reti/validatorRegistry.algo.ts:791", "pc": [ 2513 ] }, { "teal": 2753, "source": "examples/reti/validatorRegistry.algo.ts:790", "pc": [ 2514, 2515, 2516 ] }, { "teal": 2754, "source": "examples/reti/validatorRegistry.algo.ts:790", "pc": [ 2517 ] }, { "teal": 2757, "source": "examples/reti/validatorRegistry.algo.ts:789", "pc": [ 2518, 2519, 2520 ] }, { "teal": 2758, "source": "examples/reti/validatorRegistry.algo.ts:789", "pc": [ 2521 ] }, { "teal": 2761, "source": "examples/reti/validatorRegistry.algo.ts:788", "pc": [ 2522, 2523, 2524 ] }, { "teal": 2762, "source": "examples/reti/validatorRegistry.algo.ts:788", "pc": [ 2525 ] }, { "teal": 2763, "source": "examples/reti/validatorRegistry.algo.ts:788", "pc": [ 2526 ] }, { "teal": 2764, "source": "examples/reti/validatorRegistry.algo.ts:788", "pc": [ 2527 ] }, { "teal": 2765, "source": "examples/reti/validatorRegistry.algo.ts:788", "pc": [ 2528 ] }, { "teal": 2768, "source": "examples/reti/validatorRegistry.algo.ts:788", "errorMessage": "argument 4 (poolKey) for stakeUpdatedViaRewards must be a (uint64,uint64,uint64)", "pc": [ 2529 ] }, { "teal": 2771, "source": "examples/reti/validatorRegistry.algo.ts:787", "pc": [ 2530, 2531, 2532 ] }, { "teal": 2772, "source": "examples/reti/validatorRegistry.algo.ts:787", "pc": [ 2533 ] }, { "teal": 2773, "source": "examples/reti/validatorRegistry.algo.ts:787", "pc": [ 2534 ] }, { "teal": 2787, "source": "examples/reti/validatorRegistry.algo.ts:787", "pc": [ 2535, 2536, 2537 ] }, { "teal": 2791, "source": "examples/reti/validatorRegistry.algo.ts:794", "pc": [ 2538, 2539 ] }, { "teal": 2792, "source": "examples/reti/validatorRegistry.algo.ts:794", "pc": [ 2540, 2541, 2542 ] }, { "teal": 2796, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2543, 2544 ] }, { "teal": 2797, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2545, 2546 ] }, { "teal": 2798, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2547, 2548, 2549 ] }, { "teal": 2799, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2550 ] }, { "teal": 2800, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2551 ] }, { "teal": 2801, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2552 ] }, { "teal": 2802, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2553, 2554 ] }, { "teal": 2803, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2555 ] }, { "teal": 2804, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2556 ] }, { "teal": 2805, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2557, 2558 ] }, { "teal": 2806, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2559 ] }, { "teal": 2807, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2560, 2561 ] }, { "teal": 2808, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2562, 2563 ] }, { "teal": 2809, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2564, 2565, 2566 ] }, { "teal": 2810, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2567 ] }, { "teal": 2811, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2568 ] }, { "teal": 2812, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2569 ] }, { "teal": 2813, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2570, 2571 ] }, { "teal": 2814, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2572 ] }, { "teal": 2815, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2573 ] }, { "teal": 2816, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2574, 2575 ] }, { "teal": 2817, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2576 ] }, { "teal": 2818, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2577 ] }, { "teal": 2819, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2578 ] }, { "teal": 2820, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2579, 2580 ] }, { "teal": 2821, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2581, 2582, 2583 ] }, { "teal": 2822, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2584 ] }, { "teal": 2823, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2585 ] }, { "teal": 2824, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2586 ] }, { "teal": 2825, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2587, 2588 ] }, { "teal": 2826, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2589 ] }, { "teal": 2827, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2590 ] }, { "teal": 2828, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2591, 2592 ] }, { "teal": 2829, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2593 ] }, { "teal": 2830, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2594 ] }, { "teal": 2831, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2595 ] }, { "teal": 2832, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2596, 2597 ] }, { "teal": 2833, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2598, 2599, 2600 ] }, { "teal": 2834, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2601 ] }, { "teal": 2835, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2602 ] }, { "teal": 2836, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2603 ] }, { "teal": 2837, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2604, 2605 ] }, { "teal": 2838, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2606 ] }, { "teal": 2842, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ 2607, 2608 ] }, { "teal": 2843, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ 2609 ] }, { "teal": 2844, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ 2610 ] }, { "teal": 2845, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ 2611 ] }, { "teal": 2846, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ 2612, 2613 ] }, { "teal": 2847, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ 2614, 2615, 2616 ] }, { "teal": 2848, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ 2617 ] }, { "teal": 2849, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ 2618 ] }, { "teal": 2850, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ 2619 ] }, { "teal": 2851, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ 2620, 2621 ] }, { "teal": 2852, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ 2622 ] }, { "teal": 2853, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ 2623 ] }, { "teal": 2854, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ 2624, 2625 ] }, { "teal": 2855, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ 2626 ] }, { "teal": 2856, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ 2627 ] }, { "teal": 2857, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ 2628 ] }, { "teal": 2858, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ 2629, 2630 ] }, { "teal": 2859, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ 2631, 2632, 2633 ] }, { "teal": 2860, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ 2634 ] }, { "teal": 2861, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ 2635 ] }, { "teal": 2862, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ 2636 ] }, { "teal": 2863, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ 2637, 2638 ] }, { "teal": 2864, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ 2639 ] }, { "teal": 2868, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ 2640, 2641 ] }, { "teal": 2869, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ 2642 ] }, { "teal": 2870, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ 2643 ] }, { "teal": 2871, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ 2644 ] }, { "teal": 2872, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ 2645, 2646 ] }, { "teal": 2873, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ 2647, 2648, 2649 ] }, { "teal": 2874, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ 2650 ] }, { "teal": 2875, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ 2651 ] }, { "teal": 2876, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ 2652 ] }, { "teal": 2877, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ 2653, 2654 ] }, { "teal": 2878, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ 2655 ] }, { "teal": 2879, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ 2656 ] }, { "teal": 2880, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ 2657, 2658 ] }, { "teal": 2881, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ 2659 ] }, { "teal": 2882, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ 2660 ] }, { "teal": 2883, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ 2661 ] }, { "teal": 2884, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ 2662, 2663 ] }, { "teal": 2885, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ 2664, 2665, 2666 ] }, { "teal": 2886, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ 2667 ] }, { "teal": 2887, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ 2668 ] }, { "teal": 2888, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ 2669 ] }, { "teal": 2889, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ 2670, 2671 ] }, { "teal": 2890, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ 2672 ] }, { "teal": 2894, "source": "examples/reti/validatorRegistry.algo.ts:801", "pc": [ 2673, 2674 ] }, { "teal": 2895, "source": "examples/reti/validatorRegistry.algo.ts:801", "pc": [ 2675 ] }, { "teal": 2896, "source": "examples/reti/validatorRegistry.algo.ts:801", "pc": [ 2676, 2677 ] }, { "teal": 2897, "source": "examples/reti/validatorRegistry.algo.ts:801", "pc": [ 2678 ] }, { "teal": 2898, "source": "examples/reti/validatorRegistry.algo.ts:801", "pc": [ 2679, 2680 ] }, { "teal": 2899, "source": "examples/reti/validatorRegistry.algo.ts:801", "pc": [ 2681 ] }, { "teal": 2900, "source": "examples/reti/validatorRegistry.algo.ts:801", "pc": [ 2682 ] }, { "teal": 2904, "source": "examples/reti/validatorRegistry.algo.ts:804", "pc": [ 2683, 2684 ] }, { "teal": 2905, "source": "examples/reti/validatorRegistry.algo.ts:804", "pc": [ 2685, 2686, 2687 ] }, { "teal": 2906, "source": "examples/reti/validatorRegistry.algo.ts:804", "pc": [ 2688 ] }, { "teal": 2907, "source": "examples/reti/validatorRegistry.algo.ts:804", "pc": [ 2689, 2690, 2691 ] }, { "teal": 2908, "source": "examples/reti/validatorRegistry.algo.ts:787", "pc": [ 2692 ] }, { "teal": 2913, "source": "examples/reti/validatorRegistry.algo.ts:834", "pc": [ 2693, 2694, 2695 ] }, { "teal": 2914, "source": "examples/reti/validatorRegistry.algo.ts:834", "pc": [ 2696 ] }, { "teal": 2915, "source": "examples/reti/validatorRegistry.algo.ts:834", "pc": [ 2697 ] }, { "teal": 2916, "source": "examples/reti/validatorRegistry.algo.ts:834", "pc": [ 2698 ] }, { "teal": 2917, "source": "examples/reti/validatorRegistry.algo.ts:834", "pc": [ 2699 ] }, { "teal": 2920, "source": "examples/reti/validatorRegistry.algo.ts:834", "errorMessage": "argument 0 (stakerRemoved) for stakeRemoved must be a bool", "pc": [ 2700 ] }, { "teal": 2921, "source": "examples/reti/validatorRegistry.algo.ts:834", "pc": [ 2701 ] }, { "teal": 2922, "source": "examples/reti/validatorRegistry.algo.ts:834", "pc": [ 2702 ] }, { "teal": 2925, "source": "examples/reti/validatorRegistry.algo.ts:833", "pc": [ 2703, 2704, 2705 ] }, { "teal": 2926, "source": "examples/reti/validatorRegistry.algo.ts:833", "pc": [ 2706 ] }, { "teal": 2929, "source": "examples/reti/validatorRegistry.algo.ts:832", "pc": [ 2707, 2708, 2709 ] }, { "teal": 2930, "source": "examples/reti/validatorRegistry.algo.ts:832", "pc": [ 2710 ] }, { "teal": 2933, "source": "examples/reti/validatorRegistry.algo.ts:831", "pc": [ 2711, 2712, 2713 ] }, { "teal": 2934, "source": "examples/reti/validatorRegistry.algo.ts:831", "pc": [ 2714 ] }, { "teal": 2935, "source": "examples/reti/validatorRegistry.algo.ts:831", "pc": [ 2715 ] }, { "teal": 2936, "source": "examples/reti/validatorRegistry.algo.ts:831", "pc": [ 2716, 2717 ] }, { "teal": 2937, "source": "examples/reti/validatorRegistry.algo.ts:831", "pc": [ 2718 ] }, { "teal": 2940, "source": "examples/reti/validatorRegistry.algo.ts:831", "errorMessage": "argument 3 (staker) for stakeRemoved must be a address", "pc": [ 2719 ] }, { "teal": 2943, "source": "examples/reti/validatorRegistry.algo.ts:830", "pc": [ 2720, 2721, 2722 ] }, { "teal": 2944, "source": "examples/reti/validatorRegistry.algo.ts:830", "pc": [ 2723 ] }, { "teal": 2945, "source": "examples/reti/validatorRegistry.algo.ts:830", "pc": [ 2724 ] }, { "teal": 2946, "source": "examples/reti/validatorRegistry.algo.ts:830", "pc": [ 2725 ] }, { "teal": 2947, "source": "examples/reti/validatorRegistry.algo.ts:830", "pc": [ 2726 ] }, { "teal": 2950, "source": "examples/reti/validatorRegistry.algo.ts:830", "errorMessage": "argument 4 (poolKey) for stakeRemoved must be a (uint64,uint64,uint64)", "pc": [ 2727 ] }, { "teal": 2953, "source": "examples/reti/validatorRegistry.algo.ts:829", "pc": [ 2728, 2729, 2730 ] }, { "teal": 2954, "source": "examples/reti/validatorRegistry.algo.ts:829", "pc": [ 2731 ] }, { "teal": 2955, "source": "examples/reti/validatorRegistry.algo.ts:829", "pc": [ 2732 ] }, { "teal": 2970, "source": "examples/reti/validatorRegistry.algo.ts:829", "pc": [ 2733, 2734, 2735 ] }, { "teal": 2973, "source": "examples/reti/validatorRegistry.algo.ts:829", "pc": [ 2736 ] }, { "teal": 2974, "source": "examples/reti/validatorRegistry.algo.ts:829", "pc": [ 2737, 2738 ] }, { "teal": 2979, "source": "examples/reti/validatorRegistry.algo.ts:836", "pc": [ 2739, 2740 ] }, { "teal": 2980, "source": "examples/reti/validatorRegistry.algo.ts:836", "pc": [ 2741, 2742 ] }, { "teal": 2981, "source": "examples/reti/validatorRegistry.algo.ts:836", "pc": [ 2743 ] }, { "teal": 2982, "source": "examples/reti/validatorRegistry.algo.ts:836", "pc": [ 2744, 2745, 2746 ] }, { "teal": 2987, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ 2747 ] }, { "teal": 2988, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ 2748, 2749 ] }, { "teal": 2989, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ 2750, 2751 ] }, { "teal": 2990, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ 2752 ] }, { "teal": 2991, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ 2753, 2754 ] }, { "teal": 2992, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ 2755, 2756 ] }, { "teal": 2993, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ 2757 ] }, { "teal": 2994, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ 2758, 2759 ] }, { "teal": 2995, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ 2760, 2761 ] }, { "teal": 2996, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ 2762, 2763 ] }, { "teal": 2997, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ 2764, 2765 ] }, { "teal": 2998, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ 2766 ] }, { "teal": 3003, "source": "examples/reti/validatorRegistry.algo.ts:839", "pc": [ 2767, 2768 ] }, { "teal": 3004, "source": "examples/reti/validatorRegistry.algo.ts:839", "pc": [ 2769, 2770, 2771 ] }, { "teal": 3008, "source": "examples/reti/validatorRegistry.algo.ts:843", "pc": [ 2772, 2773 ] }, { "teal": 3009, "source": "examples/reti/validatorRegistry.algo.ts:843", "pc": [ 2774 ] }, { "teal": 3010, "source": "examples/reti/validatorRegistry.algo.ts:843", "pc": [ 2775 ] }, { "teal": 3011, "source": "examples/reti/validatorRegistry.algo.ts:843", "pc": [ 2776 ] }, { "teal": 3012, "source": "examples/reti/validatorRegistry.algo.ts:843", "pc": [ 2777, 2778, 2779 ] }, { "teal": 3013, "source": "examples/reti/validatorRegistry.algo.ts:843", "pc": [ 2780, 2781 ] }, { "teal": 3014, "source": "examples/reti/validatorRegistry.algo.ts:843", "pc": [ 2782 ] }, { "teal": 3015, "source": "examples/reti/validatorRegistry.algo.ts:843", "pc": [ 2783 ] }, { "teal": 3016, "source": "examples/reti/validatorRegistry.algo.ts:843", "pc": [ 2784 ] }, { "teal": 3020, "source": "examples/reti/validatorRegistry.algo.ts:843", "errorMessage": "should only be called if algo or reward was removed", "pc": [ 2785 ] }, { "teal": 3024, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2786, 2787 ] }, { "teal": 3025, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2788, 2789 ] }, { "teal": 3026, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2790, 2791, 2792 ] }, { "teal": 3027, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2793 ] }, { "teal": 3028, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2794 ] }, { "teal": 3029, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2795 ] }, { "teal": 3030, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2796, 2797 ] }, { "teal": 3031, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2798 ] }, { "teal": 3032, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2799 ] }, { "teal": 3033, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2800, 2801 ] }, { "teal": 3034, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2802 ] }, { "teal": 3035, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2803, 2804 ] }, { "teal": 3036, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2805, 2806 ] }, { "teal": 3037, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2807, 2808, 2809 ] }, { "teal": 3038, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2810 ] }, { "teal": 3039, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2811 ] }, { "teal": 3040, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2812 ] }, { "teal": 3041, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2813, 2814 ] }, { "teal": 3042, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2815 ] }, { "teal": 3043, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2816 ] }, { "teal": 3044, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2817, 2818 ] }, { "teal": 3045, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2819 ] }, { "teal": 3046, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2820 ] }, { "teal": 3047, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2821 ] }, { "teal": 3048, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2822, 2823 ] }, { "teal": 3049, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2824, 2825, 2826 ] }, { "teal": 3050, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2827 ] }, { "teal": 3051, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2828 ] }, { "teal": 3052, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2829 ] }, { "teal": 3053, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2830, 2831 ] }, { "teal": 3054, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2832 ] }, { "teal": 3055, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2833 ] }, { "teal": 3056, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2834, 2835 ] }, { "teal": 3057, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2836 ] }, { "teal": 3058, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2837 ] }, { "teal": 3059, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2838 ] }, { "teal": 3060, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2839, 2840 ] }, { "teal": 3061, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2841, 2842, 2843 ] }, { "teal": 3062, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2844 ] }, { "teal": 3063, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2845 ] }, { "teal": 3064, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2846 ] }, { "teal": 3065, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2847, 2848 ] }, { "teal": 3066, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2849 ] }, { "teal": 3070, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ 2850, 2851 ] }, { "teal": 3071, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ 2852 ] }, { "teal": 3072, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ 2853 ] }, { "teal": 3073, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ 2854 ] }, { "teal": 3074, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ 2855, 2856 ] }, { "teal": 3075, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ 2857, 2858, 2859 ] }, { "teal": 3076, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ 2860 ] }, { "teal": 3077, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ 2861 ] }, { "teal": 3078, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ 2862 ] }, { "teal": 3079, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ 2863, 2864 ] }, { "teal": 3080, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ 2865 ] }, { "teal": 3081, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ 2866 ] }, { "teal": 3082, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ 2867, 2868 ] }, { "teal": 3083, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ 2869 ] }, { "teal": 3084, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ 2870 ] }, { "teal": 3085, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ 2871 ] }, { "teal": 3086, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ 2872, 2873 ] }, { "teal": 3087, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ 2874, 2875, 2876 ] }, { "teal": 3088, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ 2877 ] }, { "teal": 3089, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ 2878 ] }, { "teal": 3090, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ 2879 ] }, { "teal": 3091, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ 2880, 2881 ] }, { "teal": 3092, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ 2882 ] }, { "teal": 3096, "source": "examples/reti/validatorRegistry.algo.ts:848", "pc": [ 2883, 2884 ] }, { "teal": 3097, "source": "examples/reti/validatorRegistry.algo.ts:848", "pc": [ 2885 ] }, { "teal": 3098, "source": "examples/reti/validatorRegistry.algo.ts:848", "pc": [ 2886, 2887 ] }, { "teal": 3099, "source": "examples/reti/validatorRegistry.algo.ts:848", "pc": [ 2888 ] }, { "teal": 3100, "source": "examples/reti/validatorRegistry.algo.ts:848", "pc": [ 2889, 2890 ] }, { "teal": 3101, "source": "examples/reti/validatorRegistry.algo.ts:848", "pc": [ 2891 ] }, { "teal": 3102, "source": "examples/reti/validatorRegistry.algo.ts:848", "pc": [ 2892 ] }, { "teal": 3107, "source": "examples/reti/validatorRegistry.algo.ts:850", "pc": [ 2893, 2894 ] }, { "teal": 3108, "source": "examples/reti/validatorRegistry.algo.ts:850", "pc": [ 2895 ] }, { "teal": 3109, "source": "examples/reti/validatorRegistry.algo.ts:850", "pc": [ 2896 ] }, { "teal": 3110, "source": "examples/reti/validatorRegistry.algo.ts:850", "pc": [ 2897, 2898, 2899 ] }, { "teal": 3115, "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ 2900, 2901 ] }, { "teal": 3116, "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ 2902 ] }, { "teal": 3117, "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ 2903 ] }, { "teal": 3118, "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ 2904, 2905 ] }, { "teal": 3119, "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ 2906, 2907, 2908 ] }, { "teal": 3120, "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ 2909 ] }, { "teal": 3121, "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ 2910 ] }, { "teal": 3122, "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ 2911 ] }, { "teal": 3123, "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ 2912, 2913 ] }, { "teal": 3124, "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ 2914 ] }, { "teal": 3125, "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ 2915 ] }, { "teal": 3126, "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ 2916, 2917 ] }, { "teal": 3130, "source": "examples/reti/validatorRegistry.algo.ts:852", "pc": [ 2918, 2919 ] }, { "teal": 3131, "source": "examples/reti/validatorRegistry.algo.ts:852", "pc": [ 2920 ] }, { "teal": 3132, "source": "examples/reti/validatorRegistry.algo.ts:852", "pc": [ 2921 ] }, { "teal": 3135, "source": "examples/reti/validatorRegistry.algo.ts:852", "errorMessage": "rewardRemoved can't be set if validator doesn't have reward token!", "pc": [ 2922 ] }, { "teal": 3142, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ 2923, 2924 ] }, { "teal": 3143, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ 2925 ] }, { "teal": 3144, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ 2926 ] }, { "teal": 3145, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ 2927, 2928 ] }, { "teal": 3146, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ 2929, 2930, 2931 ] }, { "teal": 3147, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ 2932 ] }, { "teal": 3148, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ 2933 ] }, { "teal": 3149, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ 2934 ] }, { "teal": 3150, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ 2935, 2936 ] }, { "teal": 3151, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ 2937 ] }, { "teal": 3152, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ 2938 ] }, { "teal": 3153, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ 2939, 2940 ] }, { "teal": 3154, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ 2941 ] }, { "teal": 3157, "source": "examples/reti/validatorRegistry.algo.ts:853", "errorMessage": "reward being removed must be covered by hold back amount", "pc": [ 2942 ] }, { "teal": 3161, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ 2943, 2944 ] }, { "teal": 3162, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ 2945 ] }, { "teal": 3163, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ 2946 ] }, { "teal": 3164, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ 2947 ] }, { "teal": 3165, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ 2948, 2949 ] }, { "teal": 3166, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ 2950, 2951, 2952 ] }, { "teal": 3167, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ 2953 ] }, { "teal": 3168, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ 2954 ] }, { "teal": 3169, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ 2955 ] }, { "teal": 3170, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ 2956, 2957 ] }, { "teal": 3171, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ 2958 ] }, { "teal": 3172, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ 2959 ] }, { "teal": 3173, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ 2960, 2961 ] }, { "teal": 3174, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ 2962 ] }, { "teal": 3175, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ 2963 ] }, { "teal": 3176, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ 2964 ] }, { "teal": 3177, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ 2965, 2966 ] }, { "teal": 3178, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ 2967, 2968, 2969 ] }, { "teal": 3179, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ 2970 ] }, { "teal": 3180, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ 2971 ] }, { "teal": 3181, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ 2972 ] }, { "teal": 3182, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ 2973, 2974 ] }, { "teal": 3183, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ 2975 ] }, { "teal": 3188, "source": "examples/reti/validatorRegistry.algo.ts:864", "pc": [ 2976, 2977 ] }, { "teal": 3189, "source": "examples/reti/validatorRegistry.algo.ts:864", "pc": [ 2978, 2979, 2980 ] }, { "teal": 3190, "source": "examples/reti/validatorRegistry.algo.ts:864", "pc": [ 2981 ] }, { "teal": 3191, "source": "examples/reti/validatorRegistry.algo.ts:864", "pc": [ 2982 ] }, { "teal": 3192, "source": "examples/reti/validatorRegistry.algo.ts:864", "pc": [ 2983 ] }, { "teal": 3193, "source": "examples/reti/validatorRegistry.algo.ts:864", "pc": [ 2984, 2985, 2986 ] }, { "teal": 3201, "source": "examples/reti/validatorRegistry.algo.ts:865", "pc": [ 2987 ] }, { "teal": 3202, "source": "examples/reti/validatorRegistry.algo.ts:865", "pc": [ 2988, 2989 ] }, { "teal": 3203, "source": "examples/reti/validatorRegistry.algo.ts:865", "pc": [ 2990, 2991 ] }, { "teal": 3204, "source": "examples/reti/validatorRegistry.algo.ts:865", "pc": [ 2992, 2993 ] }, { "teal": 3205, "source": "examples/reti/validatorRegistry.algo.ts:865", "pc": [ 2994, 2995 ] }, { "teal": 3209, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ 2996, 2997 ] }, { "teal": 3210, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ 2998 ] }, { "teal": 3211, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ 2999 ] }, { "teal": 3212, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ 3000, 3001 ] }, { "teal": 3213, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ 3002, 3003, 3004 ] }, { "teal": 3214, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ 3005 ] }, { "teal": 3215, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ 3006 ] }, { "teal": 3216, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ 3007 ] }, { "teal": 3217, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ 3008, 3009 ] }, { "teal": 3218, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ 3010 ] }, { "teal": 3219, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ 3011 ] }, { "teal": 3220, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ 3012, 3013 ] }, { "teal": 3224, "source": "examples/reti/validatorRegistry.algo.ts:867", "pc": [ 3014, 3015 ] }, { "teal": 3225, "source": "examples/reti/validatorRegistry.algo.ts:867", "pc": [ 3016, 3017 ] }, { "teal": 3226, "source": "examples/reti/validatorRegistry.algo.ts:867", "pc": [ 3018, 3019 ] }, { "teal": 3227, "source": "examples/reti/validatorRegistry.algo.ts:867", "pc": [ 3020 ] }, { "teal": 3228, "source": "examples/reti/validatorRegistry.algo.ts:867", "pc": [ 3021, 3022 ] }, { "teal": 3229, "source": "examples/reti/validatorRegistry.algo.ts:867", "pc": [ 3023, 3024 ] }, { "teal": 3230, "source": "examples/reti/validatorRegistry.algo.ts:867", "pc": [ 3025 ] }, { "teal": 3231, "source": "examples/reti/validatorRegistry.algo.ts:867", "pc": [ 3026, 3027 ] }, { "teal": 3234, "source": "examples/reti/validatorRegistry.algo.ts:865", "pc": [ 3028 ] }, { "teal": 3235, "source": "examples/reti/validatorRegistry.algo.ts:865", "pc": [ 3029, 3030 ] }, { "teal": 3238, "source": "examples/reti/validatorRegistry.algo.ts:865", "pc": [ 3031 ] }, { "teal": 3241, "source": "examples/reti/validatorRegistry.algo.ts:850", "pc": [ 3032, 3033, 3034 ] }, { "teal": 3249, "source": "examples/reti/validatorRegistry.algo.ts:892", "pc": [ 3035, 3036 ] }, { "teal": 3250, "source": "examples/reti/validatorRegistry.algo.ts:892", "pc": [ 3037, 3038, 3039 ] }, { "teal": 3255, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3040, 3041 ] }, { "teal": 3256, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3042, 3043 ] }, { "teal": 3257, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3044, 3045, 3046 ] }, { "teal": 3258, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3047 ] }, { "teal": 3259, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3048 ] }, { "teal": 3260, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3049 ] }, { "teal": 3261, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3050, 3051 ] }, { "teal": 3262, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3052 ] }, { "teal": 3263, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3053 ] }, { "teal": 3264, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3054 ] }, { "teal": 3265, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3055 ] }, { "teal": 3266, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3056, 3057 ] }, { "teal": 3267, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3058, 3059 ] }, { "teal": 3268, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3060, 3061, 3062 ] }, { "teal": 3269, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3063 ] }, { "teal": 3270, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3064 ] }, { "teal": 3271, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3065 ] }, { "teal": 3272, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3066, 3067 ] }, { "teal": 3273, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3068 ] }, { "teal": 3274, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3069 ] }, { "teal": 3275, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3070 ] }, { "teal": 3276, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3071 ] }, { "teal": 3277, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3072, 3073 ] }, { "teal": 3278, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3074 ] }, { "teal": 3279, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3075, 3076 ] }, { "teal": 3280, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3077, 3078, 3079 ] }, { "teal": 3281, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3080 ] }, { "teal": 3282, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3081 ] }, { "teal": 3283, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3082 ] }, { "teal": 3284, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3083, 3084 ] }, { "teal": 3285, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3085 ] }, { "teal": 3286, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3086 ] }, { "teal": 3287, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3087 ] }, { "teal": 3288, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3088 ] }, { "teal": 3289, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3089 ] }, { "teal": 3290, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3090 ] }, { "teal": 3291, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3091 ] }, { "teal": 3292, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3092, 3093 ] }, { "teal": 3293, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3094 ] }, { "teal": 3296, "source": "examples/reti/validatorRegistry.algo.ts:894", "errorMessage": "this.validatorList(poolKey.id).value.pools[poolKey.poolId - 1].totalStakers overflowed 16 bits", "pc": [ 3095 ] }, { "teal": 3297, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3096, 3097, 3098 ] }, { "teal": 3298, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3099 ] }, { "teal": 3299, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3100, 3101 ] }, { "teal": 3300, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3102, 3103, 3104 ] }, { "teal": 3301, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3105 ] }, { "teal": 3302, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3106 ] }, { "teal": 3303, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3107 ] }, { "teal": 3304, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3108, 3109 ] }, { "teal": 3305, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3110 ] }, { "teal": 3313, "source": "examples/reti/validatorRegistry.algo.ts:897", "pc": [ 3111, 3112 ] }, { "teal": 3314, "source": "examples/reti/validatorRegistry.algo.ts:897", "pc": [ 3113, 3114, 3115 ] }, { "teal": 3315, "source": "examples/reti/validatorRegistry.algo.ts:897", "pc": [ 3116 ] }, { "teal": 3316, "source": "examples/reti/validatorRegistry.algo.ts:897", "pc": [ 3117 ] }, { "teal": 3317, "source": "examples/reti/validatorRegistry.algo.ts:898", "pc": [ 3118, 3119 ] }, { "teal": 3318, "source": "examples/reti/validatorRegistry.algo.ts:898", "pc": [ 3120, 3121, 3122 ] }, { "teal": 3319, "source": "examples/reti/validatorRegistry.algo.ts:898", "pc": [ 3123 ] }, { "teal": 3320, "source": "examples/reti/validatorRegistry.algo.ts:898", "pc": [ 3124 ] }, { "teal": 3321, "source": "examples/reti/validatorRegistry.algo.ts:898", "pc": [ 3125 ] }, { "teal": 3322, "source": "examples/reti/validatorRegistry.algo.ts:899", "pc": [ 3126, 3127 ] }, { "teal": 3323, "source": "examples/reti/validatorRegistry.algo.ts:899", "pc": [ 3128, 3129, 3130 ] }, { "teal": 3324, "source": "examples/reti/validatorRegistry.algo.ts:899", "pc": [ 3131 ] }, { "teal": 3325, "source": "examples/reti/validatorRegistry.algo.ts:899", "pc": [ 3132 ] }, { "teal": 3326, "source": "examples/reti/validatorRegistry.algo.ts:899", "pc": [ 3133 ] }, { "teal": 3327, "source": "examples/reti/validatorRegistry.algo.ts:896", "pc": [ 3134, 3135 ] }, { "teal": 3328, "source": "examples/reti/validatorRegistry.algo.ts:896", "pc": [ 3136, 3137, 3138 ] }, { "teal": 3329, "source": "examples/reti/validatorRegistry.algo.ts:896", "pc": [ 3139, 3140 ] }, { "teal": 3333, "source": "examples/reti/validatorRegistry.algo.ts:901", "pc": [ 3141, 3142 ] }, { "teal": 3334, "source": "examples/reti/validatorRegistry.algo.ts:901", "pc": [ 3143, 3144 ] }, { "teal": 3335, "source": "examples/reti/validatorRegistry.algo.ts:901", "pc": [ 3145, 3146 ] }, { "teal": 3336, "source": "examples/reti/validatorRegistry.algo.ts:901", "pc": [ 3147 ] }, { "teal": 3337, "source": "examples/reti/validatorRegistry.algo.ts:901", "pc": [ 3148 ] }, { "teal": 3338, "source": "examples/reti/validatorRegistry.algo.ts:901", "pc": [ 3149, 3150 ] }, { "teal": 3342, "source": "examples/reti/validatorRegistry.algo.ts:902", "pc": [ 3151, 3152 ] }, { "teal": 3343, "source": "examples/reti/validatorRegistry.algo.ts:902", "pc": [ 3153, 3154 ] }, { "teal": 3344, "source": "examples/reti/validatorRegistry.algo.ts:902", "pc": [ 3155, 3156 ] }, { "teal": 3345, "source": "examples/reti/validatorRegistry.algo.ts:902", "pc": [ 3157 ] }, { "teal": 3346, "source": "examples/reti/validatorRegistry.algo.ts:902", "pc": [ 3158 ] }, { "teal": 3347, "source": "examples/reti/validatorRegistry.algo.ts:902", "pc": [ 3159, 3160 ] }, { "teal": 3352, "source": "examples/reti/validatorRegistry.algo.ts:904", "pc": [ 3161, 3162 ] }, { "teal": 3353, "source": "examples/reti/validatorRegistry.algo.ts:904", "pc": [ 3163, 3164, 3165 ] }, { "teal": 3358, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ 3166, 3167 ] }, { "teal": 3359, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ 3168 ] }, { "teal": 3360, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ 3169 ] }, { "teal": 3361, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ 3170 ] }, { "teal": 3362, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ 3171, 3172 ] }, { "teal": 3363, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ 3173, 3174, 3175 ] }, { "teal": 3364, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ 3176 ] }, { "teal": 3365, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ 3177 ] }, { "teal": 3366, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ 3178 ] }, { "teal": 3367, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ 3179, 3180 ] }, { "teal": 3368, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ 3181 ] }, { "teal": 3369, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ 3182 ] }, { "teal": 3370, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ 3183 ] }, { "teal": 3371, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ 3184 ] }, { "teal": 3372, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ 3185 ] }, { "teal": 3373, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ 3186 ] }, { "teal": 3374, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ 3187, 3188 ] }, { "teal": 3375, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ 3189, 3190, 3191 ] }, { "teal": 3376, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ 3192 ] }, { "teal": 3377, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ 3193 ] }, { "teal": 3378, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ 3194 ] }, { "teal": 3379, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ 3195, 3196 ] }, { "teal": 3380, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ 3197 ] }, { "teal": 3386, "source": "examples/reti/validatorRegistry.algo.ts:908", "pc": [ 3198, 3199 ] }, { "teal": 3387, "source": "examples/reti/validatorRegistry.algo.ts:908", "pc": [ 3200, 3201, 3202 ] }, { "teal": 3392, "source": "examples/reti/validatorRegistry.algo.ts:909", "pc": [ 3203, 3204 ] }, { "teal": 3393, "source": "examples/reti/validatorRegistry.algo.ts:909", "pc": [ 3205 ] }, { "teal": 3394, "source": "examples/reti/validatorRegistry.algo.ts:909", "pc": [ 3206 ] }, { "teal": 3395, "source": "examples/reti/validatorRegistry.algo.ts:909", "pc": [ 3207 ] }, { "teal": 3396, "source": "examples/reti/validatorRegistry.algo.ts:909", "pc": [ 3208, 3209 ] }, { "teal": 3397, "source": "examples/reti/validatorRegistry.algo.ts:909", "pc": [ 3210 ] }, { "teal": 3398, "source": "examples/reti/validatorRegistry.algo.ts:909", "pc": [ 3211 ] }, { "teal": 3403, "source": "examples/reti/validatorRegistry.algo.ts:829", "pc": [ 3212 ] }, { "teal": 3408, "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ 3213 ] }, { "teal": 3411, "source": "examples/reti/validatorRegistry.algo.ts:928", "pc": [ 3214, 3215, 3216 ] }, { "teal": 3412, "source": "examples/reti/validatorRegistry.algo.ts:928", "pc": [ 3217 ] }, { "teal": 3415, "source": "examples/reti/validatorRegistry.algo.ts:927", "pc": [ 3218, 3219, 3220 ] }, { "teal": 3416, "source": "examples/reti/validatorRegistry.algo.ts:927", "pc": [ 3221 ] }, { "teal": 3417, "source": "examples/reti/validatorRegistry.algo.ts:927", "pc": [ 3222 ] }, { "teal": 3418, "source": "examples/reti/validatorRegistry.algo.ts:927", "pc": [ 3223, 3224 ] }, { "teal": 3419, "source": "examples/reti/validatorRegistry.algo.ts:927", "pc": [ 3225 ] }, { "teal": 3422, "source": "examples/reti/validatorRegistry.algo.ts:927", "errorMessage": "argument 1 (staker) for findPoolForStaker must be a address", "pc": [ 3226 ] }, { "teal": 3425, "source": "examples/reti/validatorRegistry.algo.ts:926", "pc": [ 3227, 3228, 3229 ] }, { "teal": 3426, "source": "examples/reti/validatorRegistry.algo.ts:926", "pc": [ 3230 ] }, { "teal": 3429, "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ 3231, 3232, 3233 ] }, { "teal": 3430, "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ 3234 ] }, { "teal": 3431, "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ 3235 ] }, { "teal": 3432, "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ 3236 ] }, { "teal": 3433, "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ 3237 ] }, { "teal": 3447, "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ 3238, 3239, 3240 ] }, { "teal": 3450, "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ 3241 ] }, { "teal": 3451, "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ 3242, 3243 ] }, { "teal": 3455, "source": "examples/reti/validatorRegistry.algo.ts:930", "pc": [ 3244 ] }, { "teal": 3456, "source": "examples/reti/validatorRegistry.algo.ts:930", "pc": [ 3245, 3246 ] }, { "teal": 3460, "source": "examples/reti/validatorRegistry.algo.ts:931", "pc": [ 3247 ] }, { "teal": 3461, "source": "examples/reti/validatorRegistry.algo.ts:931", "pc": [ 3248, 3249 ] }, { "teal": 3465, "source": "examples/reti/validatorRegistry.algo.ts:939", "pc": [ 3250, 3251 ] }, { "teal": 3466, "source": "examples/reti/validatorRegistry.algo.ts:939", "pc": [ 3252, 3253, 3254 ] }, { "teal": 3467, "source": "examples/reti/validatorRegistry.algo.ts:939", "pc": [ 3255, 3256 ] }, { "teal": 3472, "source": "examples/reti/validatorRegistry.algo.ts:942", "pc": [ 3257 ] }, { "teal": 3473, "source": "examples/reti/validatorRegistry.algo.ts:942", "pc": [ 3258, 3259 ] }, { "teal": 3474, "source": "examples/reti/validatorRegistry.algo.ts:942", "pc": [ 3260 ] }, { "teal": 3475, "source": "examples/reti/validatorRegistry.algo.ts:942", "pc": [ 3261 ] }, { "teal": 3476, "source": "examples/reti/validatorRegistry.algo.ts:942", "pc": [ 3262 ] }, { "teal": 3477, "source": "examples/reti/validatorRegistry.algo.ts:942", "pc": [ 3263 ] }, { "teal": 3478, "source": "examples/reti/validatorRegistry.algo.ts:942", "pc": [ 3264, 3265, 3266 ] }, { "teal": 3483, "source": "examples/reti/validatorRegistry.algo.ts:943", "pc": [ 3267 ] }, { "teal": 3484, "source": "examples/reti/validatorRegistry.algo.ts:943", "pc": [ 3268, 3269 ] }, { "teal": 3485, "source": "examples/reti/validatorRegistry.algo.ts:943", "pc": [ 3270 ] }, { "teal": 3486, "source": "examples/reti/validatorRegistry.algo.ts:943", "pc": [ 3271 ] }, { "teal": 3489, "source": "examples/reti/validatorRegistry.algo.ts:943", "errorMessage": "box value does not exist: this.stakerPoolSet(staker).value", "pc": [ 3272 ] }, { "teal": 3490, "source": "examples/reti/validatorRegistry.algo.ts:943", "pc": [ 3273, 3274 ] }, { "teal": 3494, "source": "examples/reti/validatorRegistry.algo.ts:944", "pc": [ 3275, 3276 ] }, { "teal": 3495, "source": "examples/reti/validatorRegistry.algo.ts:944", "pc": [ 3277 ] }, { "teal": 3496, "source": "examples/reti/validatorRegistry.algo.ts:944", "pc": [ 3278 ] }, { "teal": 3497, "source": "examples/reti/validatorRegistry.algo.ts:944", "pc": [ 3279 ] }, { "teal": 3501, "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ 3280 ] }, { "teal": 3502, "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ 3281, 3282 ] }, { "teal": 3507, "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ 3283, 3284 ] }, { "teal": 3508, "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ 3285, 3286 ] }, { "teal": 3509, "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ 3287 ] }, { "teal": 3510, "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ 3288, 3289, 3290 ] }, { "teal": 3515, "source": "examples/reti/validatorRegistry.algo.ts:946", "pc": [ 3291, 3292 ] }, { "teal": 3516, "source": "examples/reti/validatorRegistry.algo.ts:946", "pc": [ 3293, 3294 ] }, { "teal": 3517, "source": "examples/reti/validatorRegistry.algo.ts:946", "pc": [ 3295 ] }, { "teal": 3518, "source": "examples/reti/validatorRegistry.algo.ts:946", "pc": [ 3296, 3297, 3298 ] }, { "teal": 3523, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ 3299 ] }, { "teal": 3524, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ 3300, 3301 ] }, { "teal": 3525, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ 3302, 3303 ] }, { "teal": 3526, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ 3304 ] }, { "teal": 3527, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ 3305, 3306 ] }, { "teal": 3528, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ 3307, 3308 ] }, { "teal": 3529, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ 3309 ] }, { "teal": 3530, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ 3310, 3311 ] }, { "teal": 3531, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ 3312, 3313 ] }, { "teal": 3532, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ 3314, 3315 ] }, { "teal": 3533, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ 3316, 3317 ] }, { "teal": 3534, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ 3318 ] }, { "teal": 3540, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ 3319, 3320 ] }, { "teal": 3541, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ 3321, 3322 ] }, { "teal": 3542, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ 3323 ] }, { "teal": 3543, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ 3324 ] }, { "teal": 3544, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ 3325 ] }, { "teal": 3545, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ 3326 ] }, { "teal": 3546, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ 3327 ] }, { "teal": 3547, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ 3328 ] }, { "teal": 3548, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ 3329 ] }, { "teal": 3549, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ 3330 ] }, { "teal": 3550, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ 3331 ] }, { "teal": 3551, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ 3332, 3333, 3334 ] }, { "teal": 3554, "source": "examples/reti/validatorRegistry.algo.ts:950", "pc": [ 3335, 3336, 3337 ] }, { "teal": 3559, "source": "examples/reti/validatorRegistry.algo.ts:952", "pc": [ 3338 ] }, { "teal": 3560, "source": "examples/reti/validatorRegistry.algo.ts:952", "pc": [ 3339, 3340 ] }, { "teal": 3565, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ 3341, 3342 ] }, { "teal": 3566, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ 3343, 3344 ] }, { "teal": 3567, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ 3345 ] }, { "teal": 3568, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ 3346 ] }, { "teal": 3569, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ 3347 ] }, { "teal": 3570, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ 3348 ] }, { "teal": 3571, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ 3349 ] }, { "teal": 3572, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ 3350 ] }, { "teal": 3573, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ 3351 ] }, { "teal": 3574, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ 3352, 3353 ] }, { "teal": 3575, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ 3354 ] }, { "teal": 3576, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ 3355, 3356, 3357 ] }, { "teal": 3581, "source": "examples/reti/validatorRegistry.algo.ts:955", "pc": [ 3358 ] }, { "teal": 3582, "source": "examples/reti/validatorRegistry.algo.ts:955", "pc": [ 3359, 3360 ] }, { "teal": 3588, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3361, 3362 ] }, { "teal": 3589, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3363, 3364 ] }, { "teal": 3590, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3365, 3366 ] }, { "teal": 3591, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3367 ] }, { "teal": 3592, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3368 ] }, { "teal": 3593, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3369 ] }, { "teal": 3594, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3370 ] }, { "teal": 3595, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3371 ] }, { "teal": 3596, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3372 ] }, { "teal": 3597, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3373 ] }, { "teal": 3598, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3374 ] }, { "teal": 3599, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3375 ] }, { "teal": 3600, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3376, 3377 ] }, { "teal": 3601, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3378 ] }, { "teal": 3602, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3379 ] }, { "teal": 3603, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3380, 3381 ] }, { "teal": 3604, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3382 ] }, { "teal": 3605, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3383 ] }, { "teal": 3606, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3384 ] }, { "teal": 3607, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3385, 3386 ] }, { "teal": 3608, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3387 ] }, { "teal": 3609, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3388 ] }, { "teal": 3610, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3389, 3390 ] }, { "teal": 3611, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3391 ] }, { "teal": 3612, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3392 ] }, { "teal": 3613, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3393, 3394 ] }, { "teal": 3614, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3395 ] }, { "teal": 3615, "source": "examples/reti/validatorRegistry.algo.ts:958", "pc": [ 3396, 3397 ] }, { "teal": 3616, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3398 ] }, { "teal": 3617, "source": "examples/reti/validatorRegistry.algo.ts:956", "pc": [ 3399, 3400, 3401 ] }, { "teal": 3622, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ 3402, 3403 ] }, { "teal": 3623, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ 3404, 3405 ] }, { "teal": 3624, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ 3406 ] }, { "teal": 3625, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ 3407 ] }, { "teal": 3626, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ 3408 ] }, { "teal": 3627, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ 3409 ] }, { "teal": 3628, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ 3410, 3411 ] }, { "teal": 3629, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ 3412 ] }, { "teal": 3630, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ 3413, 3414 ] }, { "teal": 3631, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ 3415 ] }, { "teal": 3632, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ 3416 ] }, { "teal": 3633, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ 3417, 3418 ] }, { "teal": 3634, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ 3419 ] }, { "teal": 3635, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ 3420 ] }, { "teal": 3636, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ 3421, 3422, 3423 ] }, { "teal": 3645, "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ 3424, 3425 ] }, { "teal": 3646, "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ 3426 ] }, { "teal": 3647, "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ 3427 ] }, { "teal": 3648, "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ 3428, 3429 ] }, { "teal": 3649, "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ 3430, 3431, 3432 ] }, { "teal": 3659, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ 3433, 3434 ] }, { "teal": 3660, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ 3435, 3436 ] }, { "teal": 3661, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ 3437 ] }, { "teal": 3662, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ 3438 ] }, { "teal": 3663, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ 3439, 3440 ] }, { "teal": 3664, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ 3441 ] }, { "teal": 3665, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ 3442 ] }, { "teal": 3666, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ 3443, 3444 ] }, { "teal": 3667, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ 3445 ] }, { "teal": 3668, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ 3446 ] }, { "teal": 3669, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ 3447 ] }, { "teal": 3672, "source": "examples/reti/validatorRegistry.algo.ts:967", "errorMessage": "must stake at least the minimum for this pool", "pc": [ 3448 ] }, { "teal": 3676, "source": "examples/reti/validatorRegistry.algo.ts:973", "pc": [ 3449, 3450 ] }, { "teal": 3677, "source": "examples/reti/validatorRegistry.algo.ts:973", "pc": [ 3451, 3452 ] }, { "teal": 3678, "source": "examples/reti/validatorRegistry.algo.ts:973", "pc": [ 3453 ] }, { "teal": 3679, "source": "examples/reti/validatorRegistry.algo.ts:973", "pc": [ 3454, 3455 ] }, { "teal": 3680, "source": "examples/reti/validatorRegistry.algo.ts:973", "pc": [ 3456 ] }, { "teal": 3681, "source": "examples/reti/validatorRegistry.algo.ts:973", "pc": [ 3457 ] }, { "teal": 3682, "source": "examples/reti/validatorRegistry.algo.ts:973", "pc": [ 3458, 3459 ] }, { "teal": 3683, "source": "examples/reti/validatorRegistry.algo.ts:973", "pc": [ 3460 ] }, { "teal": 3684, "source": "examples/reti/validatorRegistry.algo.ts:973", "pc": [ 3461, 3462 ] }, { "teal": 3688, "source": "examples/reti/validatorRegistry.algo.ts:974", "pc": [ 3463, 3464 ] }, { "teal": 3689, "source": "examples/reti/validatorRegistry.algo.ts:974", "pc": [ 3465, 3466 ] }, { "teal": 3690, "source": "examples/reti/validatorRegistry.algo.ts:974", "pc": [ 3467 ] }, { "teal": 3691, "source": "examples/reti/validatorRegistry.algo.ts:974", "pc": [ 3468, 3469 ] }, { "teal": 3692, "source": "examples/reti/validatorRegistry.algo.ts:974", "pc": [ 3470 ] }, { "teal": 3693, "source": "examples/reti/validatorRegistry.algo.ts:974", "pc": [ 3471 ] }, { "teal": 3694, "source": "examples/reti/validatorRegistry.algo.ts:974", "pc": [ 3472, 3473 ] }, { "teal": 3695, "source": "examples/reti/validatorRegistry.algo.ts:974", "pc": [ 3474 ] }, { "teal": 3696, "source": "examples/reti/validatorRegistry.algo.ts:974", "pc": [ 3475 ] }, { "teal": 3697, "source": "examples/reti/validatorRegistry.algo.ts:974", "pc": [ 3476, 3477 ] }, { "teal": 3701, "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ 3478 ] }, { "teal": 3702, "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ 3479, 3480 ] }, { "teal": 3707, "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ 3481, 3482 ] }, { "teal": 3708, "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ 3483, 3484 ] }, { "teal": 3709, "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ 3485 ] }, { "teal": 3710, "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ 3486, 3487, 3488 ] }, { "teal": 3715, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ 3489, 3490 ] }, { "teal": 3716, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ 3491, 3492 ] }, { "teal": 3717, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ 3493, 3494 ] }, { "teal": 3718, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ 3495 ] }, { "teal": 3719, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ 3496, 3497 ] }, { "teal": 3720, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ 3498 ] }, { "teal": 3721, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ 3499 ] }, { "teal": 3722, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ 3500 ] }, { "teal": 3723, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ 3501 ] }, { "teal": 3724, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ 3502, 3503 ] }, { "teal": 3725, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ 3504 ] }, { "teal": 3726, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ 3505, 3506 ] }, { "teal": 3727, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ 3507 ] }, { "teal": 3728, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ 3508, 3509, 3510 ] }, { "teal": 3737, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ 3511, 3512 ] }, { "teal": 3738, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ 3513 ] }, { "teal": 3739, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ 3514, 3515 ] }, { "teal": 3740, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ 3516 ] }, { "teal": 3741, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ 3517 ] }, { "teal": 3742, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ 3518 ] }, { "teal": 3743, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ 3519 ] }, { "teal": 3744, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ 3520, 3521 ] }, { "teal": 3745, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ 3522, 3523 ] }, { "teal": 3746, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ 3524, 3525 ] }, { "teal": 3747, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ 3526 ] }, { "teal": 3748, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ 3527 ] }, { "teal": 3749, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ 3528 ] }, { "teal": 3750, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ 3529 ] }, { "teal": 3751, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ 3530 ] }, { "teal": 3752, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ 3531 ] }, { "teal": 3753, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ 3532 ] }, { "teal": 3754, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ 3533 ] }, { "teal": 3755, "source": "examples/reti/validatorRegistry.algo.ts:979", "pc": [ 3534, 3535 ] }, { "teal": 3756, "source": "examples/reti/validatorRegistry.algo.ts:979", "pc": [ 3536 ] }, { "teal": 3757, "source": "examples/reti/validatorRegistry.algo.ts:979", "pc": [ 3537, 3538 ] }, { "teal": 3758, "source": "examples/reti/validatorRegistry.algo.ts:979", "pc": [ 3539 ] }, { "teal": 3759, "source": "examples/reti/validatorRegistry.algo.ts:980", "pc": [ 3540 ] }, { "teal": 3760, "source": "examples/reti/validatorRegistry.algo.ts:980", "pc": [ 3541, 3542 ] }, { "teal": 3761, "source": "examples/reti/validatorRegistry.algo.ts:980", "pc": [ 3543 ] }, { "teal": 3762, "source": "examples/reti/validatorRegistry.algo.ts:977", "pc": [ 3544 ] }, { "teal": 3763, "source": "examples/reti/validatorRegistry.algo.ts:977", "pc": [ 3545, 3546, 3547 ] }, { "teal": 3770, "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ 3548, 3549 ] }, { "teal": 3771, "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ 3550 ] }, { "teal": 3772, "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ 3551 ] }, { "teal": 3773, "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ 3552, 3553 ] }, { "teal": 3774, "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ 3554, 3555, 3556 ] }, { "teal": 3779, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ 3557, 3558 ] }, { "teal": 3780, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ 3559 ] }, { "teal": 3781, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ 3560, 3561 ] }, { "teal": 3782, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ 3562 ] }, { "teal": 3783, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ 3563, 3564 ] }, { "teal": 3784, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ 3565 ] }, { "teal": 3785, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ 3566, 3567 ] }, { "teal": 3786, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ 3568 ] }, { "teal": 3787, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ 3569, 3570 ] }, { "teal": 3788, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ 3571 ] }, { "teal": 3789, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ 3572 ] }, { "teal": 3790, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ 3573, 3574 ] }, { "teal": 3791, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ 3575 ] }, { "teal": 3792, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ 3576 ] }, { "teal": 3796, "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ 3577, 3578 ] }, { "teal": 3799, "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ 3579, 3580 ] }, { "teal": 3800, "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ 3581 ] }, { "teal": 3805, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ 3582, 3583, 3584 ] }, { "teal": 3806, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ 3585 ] }, { "teal": 3809, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ 3586, 3587, 3588 ] }, { "teal": 3810, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ 3589 ] }, { "teal": 3813, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ 3590, 3591, 3592 ] }, { "teal": 3814, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ 3593 ] }, { "teal": 3817, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ 3594, 3595, 3596 ] }, { "teal": 3818, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ 3597 ] }, { "teal": 3819, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ 3598 ] }, { "teal": 3833, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ 3599, 3600, 3601 ] }, { "teal": 3836, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ 3602 ] }, { "teal": 3837, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ 3603, 3604 ] }, { "teal": 3845, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ 3605, 3606 ] }, { "teal": 3846, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ 3607 ] }, { "teal": 3847, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ 3608, 3609 ] }, { "teal": 3848, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ 3610 ] }, { "teal": 3849, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ 3611, 3612 ] }, { "teal": 3850, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ 3613 ] }, { "teal": 3851, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ 3614 ] }, { "teal": 3852, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ 3615, 3616 ] }, { "teal": 3853, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ 3617 ] }, { "teal": 3854, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ 3618 ] }, { "teal": 3855, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ 3619 ] }, { "teal": 3856, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ 3620, 3621, 3622 ] }, { "teal": 3857, "source": "examples/reti/validatorRegistry.algo.ts:1003", "pc": [ 3623, 3624 ] }, { "teal": 3858, "source": "examples/reti/validatorRegistry.algo.ts:1003", "pc": [ 3625, 3626 ] }, { "teal": 3859, "source": "examples/reti/validatorRegistry.algo.ts:1003", "pc": [ 3627, 3628 ] }, { "teal": 3860, "source": "examples/reti/validatorRegistry.algo.ts:1003", "pc": [ 3629 ] }, { "teal": 3861, "source": "examples/reti/validatorRegistry.algo.ts:1003", "pc": [ 3630, 3631 ] }, { "teal": 3862, "source": "examples/reti/validatorRegistry.algo.ts:1003", "pc": [ 3632 ] }, { "teal": 3863, "source": "examples/reti/validatorRegistry.algo.ts:1003", "pc": [ 3633 ] }, { "teal": 3864, "source": "examples/reti/validatorRegistry.algo.ts:1003", "pc": [ 3634, 3635 ] }, { "teal": 3865, "source": "examples/reti/validatorRegistry.algo.ts:1003", "pc": [ 3636 ] }, { "teal": 3866, "source": "examples/reti/validatorRegistry.algo.ts:1003", "pc": [ 3637 ] }, { "teal": 3867, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ 3638 ] }, { "teal": 3871, "source": "examples/reti/validatorRegistry.algo.ts:1001", "errorMessage": "can only be called by owner or manager of validator", "pc": [ 3639 ] }, { "teal": 3875, "source": "examples/reti/validatorRegistry.algo.ts:1007", "pc": [ 3640, 3641 ] }, { "teal": 3876, "source": "examples/reti/validatorRegistry.algo.ts:1007", "pc": [ 3642, 3643 ] }, { "teal": 3877, "source": "examples/reti/validatorRegistry.algo.ts:1007", "pc": [ 3644 ] }, { "teal": 3878, "source": "examples/reti/validatorRegistry.algo.ts:1007", "pc": [ 3645, 3646 ] }, { "teal": 3879, "source": "examples/reti/validatorRegistry.algo.ts:1007", "pc": [ 3647 ] }, { "teal": 3880, "source": "examples/reti/validatorRegistry.algo.ts:1007", "pc": [ 3648 ] }, { "teal": 3881, "source": "examples/reti/validatorRegistry.algo.ts:1007", "pc": [ 3649, 3650 ] }, { "teal": 3882, "source": "examples/reti/validatorRegistry.algo.ts:1007", "pc": [ 3651 ] }, { "teal": 3883, "source": "examples/reti/validatorRegistry.algo.ts:1007", "pc": [ 3652, 3653 ] }, { "teal": 3887, "source": "examples/reti/validatorRegistry.algo.ts:1008", "pc": [ 3654, 3655 ] }, { "teal": 3888, "source": "examples/reti/validatorRegistry.algo.ts:1008", "pc": [ 3656 ] }, { "teal": 3889, "source": "examples/reti/validatorRegistry.algo.ts:1008", "pc": [ 3657 ] }, { "teal": 3890, "source": "examples/reti/validatorRegistry.algo.ts:1008", "pc": [ 3658 ] }, { "teal": 3891, "source": "examples/reti/validatorRegistry.algo.ts:1008", "pc": [ 3659, 3660, 3661 ] }, { "teal": 3892, "source": "examples/reti/validatorRegistry.algo.ts:1008", "pc": [ 3662, 3663 ] }, { "teal": 3893, "source": "examples/reti/validatorRegistry.algo.ts:1008", "pc": [ 3664 ] }, { "teal": 3894, "source": "examples/reti/validatorRegistry.algo.ts:1008", "pc": [ 3665 ] }, { "teal": 3895, "source": "examples/reti/validatorRegistry.algo.ts:1008", "pc": [ 3666 ] }, { "teal": 3899, "source": "examples/reti/validatorRegistry.algo.ts:1008", "errorMessage": "node number out of allowable range", "pc": [ 3667 ] }, { "teal": 3903, "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ 3668 ] }, { "teal": 3904, "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ 3669, 3670 ] }, { "teal": 3909, "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ 3671, 3672 ] }, { "teal": 3910, "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ 3673 ] }, { "teal": 3911, "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ 3674 ] }, { "teal": 3912, "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ 3675, 3676, 3677 ] }, { "teal": 3916, "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ 3678 ] }, { "teal": 3917, "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ 3679, 3680 ] }, { "teal": 3922, "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ 3681, 3682 ] }, { "teal": 3923, "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ 3683, 3684 ] }, { "teal": 3924, "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ 3685 ] }, { "teal": 3925, "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ 3686, 3687, 3688 ] }, { "teal": 3930, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ 3689, 3690 ] }, { "teal": 3931, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ 3691 ] }, { "teal": 3932, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ 3692, 3693 ] }, { "teal": 3933, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ 3694 ] }, { "teal": 3934, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ 3695 ] }, { "teal": 3935, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ 3696 ] }, { "teal": 3936, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ 3697 ] }, { "teal": 3937, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ 3698 ] }, { "teal": 3938, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ 3699, 3700 ] }, { "teal": 3939, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ 3701 ] }, { "teal": 3940, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ 3702 ] }, { "teal": 3941, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ 3703 ] }, { "teal": 3942, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ 3704 ] }, { "teal": 3943, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ 3705 ] }, { "teal": 3944, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ 3706 ] }, { "teal": 3945, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ 3707, 3708 ] }, { "teal": 3946, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ 3709 ] }, { "teal": 3947, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ 3710, 3711, 3712 ] }, { "teal": 3952, "source": "examples/reti/validatorRegistry.algo.ts:1013", "pc": [ 3713, 3714 ] }, { "teal": 3953, "source": "examples/reti/validatorRegistry.algo.ts:1013", "pc": [ 3715 ] }, { "teal": 3954, "source": "examples/reti/validatorRegistry.algo.ts:1013", "pc": [ 3716 ] }, { "teal": 3955, "source": "examples/reti/validatorRegistry.algo.ts:1013", "pc": [ 3717, 3718 ] }, { "teal": 3956, "source": "examples/reti/validatorRegistry.algo.ts:1013", "pc": [ 3719 ] }, { "teal": 3959, "source": "examples/reti/validatorRegistry.algo.ts:1013", "errorMessage": "can't move to same node", "pc": [ 3720 ] }, { "teal": 3963, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ 3721, 3722 ] }, { "teal": 3964, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ 3723, 3724 ] }, { "teal": 3965, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ 3725 ] }, { "teal": 3966, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ 3726 ] }, { "teal": 3967, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ 3727 ] }, { "teal": 3968, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ 3728 ] }, { "teal": 3969, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ 3729 ] }, { "teal": 3970, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ 3730, 3731 ] }, { "teal": 3971, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ 3732 ] }, { "teal": 3972, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ 3733 ] }, { "teal": 3973, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ 3734 ] }, { "teal": 3974, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ 3735, 3736 ] }, { "teal": 3975, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ 3737 ] }, { "teal": 3976, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ 3738, 3739 ] }, { "teal": 3977, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ 3740 ] }, { "teal": 3978, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ 3741 ] }, { "teal": 3979, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ 3742, 3743 ] }, { "teal": 3980, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ 3744 ] }, { "teal": 3986, "source": "examples/reti/validatorRegistry.algo.ts:1018", "pc": [ 3745 ] }, { "teal": 3987, "source": "examples/reti/validatorRegistry.algo.ts:1018", "pc": [ 3746, 3747 ] }, { "teal": 3988, "source": "examples/reti/validatorRegistry.algo.ts:1018", "pc": [ 3748, 3749 ] }, { "teal": 3989, "source": "examples/reti/validatorRegistry.algo.ts:1018", "pc": [ 3750, 3751, 3752, 3753, 3754, 3755 ] }, { "teal": 3990, "source": "examples/reti/validatorRegistry.algo.ts:1018", "pc": [ 3756, 3757 ] }, { "teal": 3994, "source": "examples/reti/validatorRegistry.algo.ts:1019", "pc": [ 3758, 3759 ] }, { "teal": 3995, "source": "examples/reti/validatorRegistry.algo.ts:1019", "pc": [ 3760, 3761 ] }, { "teal": 3998, "source": "examples/reti/validatorRegistry.algo.ts:1018", "pc": [ 3762 ] }, { "teal": 3999, "source": "examples/reti/validatorRegistry.algo.ts:1018", "pc": [ 3763, 3764 ] }, { "teal": 4002, "source": "examples/reti/validatorRegistry.algo.ts:1018", "pc": [ 3765 ] }, { "teal": 4006, "source": "examples/reti/validatorRegistry.algo.ts:1023", "pc": [ 3766, 3767 ] }, { "teal": 4007, "source": "examples/reti/validatorRegistry.algo.ts:1023", "pc": [ 3768, 3769 ] }, { "teal": 4008, "source": "examples/reti/validatorRegistry.algo.ts:1023", "pc": [ 3770, 3771 ] }, { "teal": 4009, "source": "examples/reti/validatorRegistry.algo.ts:1023", "pc": [ 3772, 3773, 3774 ] }, { "teal": 4013, "source": "examples/reti/validatorRegistry.algo.ts:1024", "pc": [ 3775 ] }, { "teal": 4020, "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ 3776, 3777 ] }, { "teal": 4021, "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ 3778 ] }, { "teal": 4022, "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ 3779 ] }, { "teal": 4023, "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ 3780, 3781 ] }, { "teal": 4024, "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ 3782, 3783, 3784 ] }, { "teal": 4031, "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ 3785, 3786 ] }, { "teal": 4032, "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ 3787 ] }, { "teal": 4033, "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ 3788 ] }, { "teal": 4034, "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ 3789, 3790 ] }, { "teal": 4035, "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ 3791, 3792, 3793 ] }, { "teal": 4039, "source": "examples/reti/validatorRegistry.algo.ts:1028", "errorMessage": "couldn't find pool app id in nodes to move", "pc": [ 3794 ] }, { "teal": 4040, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ 3795 ] }, { "teal": 4045, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ 3796 ] }, { "teal": 4048, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ 3797, 3798, 3799 ] }, { "teal": 4049, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ 3800 ] }, { "teal": 4050, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ 3801 ] }, { "teal": 4051, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ 3802, 3803 ] }, { "teal": 4052, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ 3804 ] }, { "teal": 4055, "source": "examples/reti/validatorRegistry.algo.ts:1042", "errorMessage": "argument 0 (receiver) for emptyTokenRewards must be a address", "pc": [ 3805 ] }, { "teal": 4058, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ 3806, 3807, 3808 ] }, { "teal": 4059, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ 3809 ] }, { "teal": 4062, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ 3810, 3811, 3812 ] }, { "teal": 4063, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ 3813 ] }, { "teal": 4064, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ 3814 ] }, { "teal": 4065, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ 3815 ] }, { "teal": 4066, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ 3816 ] }, { "teal": 4067, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ 3817 ] }, { "teal": 4081, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ 3818, 3819, 3820 ] }, { "teal": 4084, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ 3821 ] }, { "teal": 4085, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ 3822, 3823 ] }, { "teal": 4092, "source": "examples/reti/validatorRegistry.algo.ts:1044", "pc": [ 3824, 3825 ] }, { "teal": 4093, "source": "examples/reti/validatorRegistry.algo.ts:1044", "pc": [ 3826 ] }, { "teal": 4094, "source": "examples/reti/validatorRegistry.algo.ts:1044", "pc": [ 3827, 3828 ] }, { "teal": 4095, "source": "examples/reti/validatorRegistry.algo.ts:1044", "pc": [ 3829 ] }, { "teal": 4096, "source": "examples/reti/validatorRegistry.algo.ts:1044", "pc": [ 3830, 3831 ] }, { "teal": 4097, "source": "examples/reti/validatorRegistry.algo.ts:1044", "pc": [ 3832 ] }, { "teal": 4098, "source": "examples/reti/validatorRegistry.algo.ts:1044", "pc": [ 3833 ] }, { "teal": 4099, "source": "examples/reti/validatorRegistry.algo.ts:1044", "pc": [ 3834, 3835 ] }, { "teal": 4100, "source": "examples/reti/validatorRegistry.algo.ts:1044", "pc": [ 3836 ] }, { "teal": 4101, "source": "examples/reti/validatorRegistry.algo.ts:1044", "pc": [ 3837 ] }, { "teal": 4104, "source": "examples/reti/validatorRegistry.algo.ts:1043", "errorMessage": "can only be called by validator owner", "pc": [ 3838 ] }, { "teal": 4108, "source": "examples/reti/validatorRegistry.algo.ts:1047", "pc": [ 3839, 3840 ] }, { "teal": 4109, "source": "examples/reti/validatorRegistry.algo.ts:1047", "pc": [ 3841 ] }, { "teal": 4110, "source": "examples/reti/validatorRegistry.algo.ts:1047", "pc": [ 3842 ] }, { "teal": 4111, "source": "examples/reti/validatorRegistry.algo.ts:1047", "pc": [ 3843, 3844 ] }, { "teal": 4112, "source": "examples/reti/validatorRegistry.algo.ts:1047", "pc": [ 3845 ] }, { "teal": 4113, "source": "examples/reti/validatorRegistry.algo.ts:1047", "pc": [ 3846 ] }, { "teal": 4114, "source": "examples/reti/validatorRegistry.algo.ts:1047", "pc": [ 3847, 3848 ] }, { "teal": 4115, "source": "examples/reti/validatorRegistry.algo.ts:1047", "pc": [ 3849 ] }, { "teal": 4116, "source": "examples/reti/validatorRegistry.algo.ts:1047", "pc": [ 3850 ] }, { "teal": 4117, "source": "examples/reti/validatorRegistry.algo.ts:1047", "pc": [ 3851, 3852 ] }, { "teal": 4121, "source": "examples/reti/validatorRegistry.algo.ts:1048", "pc": [ 3853, 3854 ] }, { "teal": 4122, "source": "examples/reti/validatorRegistry.algo.ts:1048", "pc": [ 3855 ] }, { "teal": 4123, "source": "examples/reti/validatorRegistry.algo.ts:1048", "pc": [ 3856 ] }, { "teal": 4124, "source": "examples/reti/validatorRegistry.algo.ts:1048", "pc": [ 3857, 3858 ] }, { "teal": 4125, "source": "examples/reti/validatorRegistry.algo.ts:1048", "pc": [ 3859 ] }, { "teal": 4126, "source": "examples/reti/validatorRegistry.algo.ts:1048", "pc": [ 3860 ] }, { "teal": 4127, "source": "examples/reti/validatorRegistry.algo.ts:1048", "pc": [ 3861, 3862 ] }, { "teal": 4128, "source": "examples/reti/validatorRegistry.algo.ts:1048", "pc": [ 3863 ] }, { "teal": 4129, "source": "examples/reti/validatorRegistry.algo.ts:1048", "pc": [ 3864 ] }, { "teal": 4130, "source": "examples/reti/validatorRegistry.algo.ts:1048", "pc": [ 3865, 3866 ] }, { "teal": 4134, "source": "examples/reti/validatorRegistry.algo.ts:1049", "pc": [ 3867, 3868 ] }, { "teal": 4135, "source": "examples/reti/validatorRegistry.algo.ts:1049", "pc": [ 3869 ] }, { "teal": 4136, "source": "examples/reti/validatorRegistry.algo.ts:1049", "pc": [ 3870 ] }, { "teal": 4139, "source": "examples/reti/validatorRegistry.algo.ts:1049", "errorMessage": "this validator doesn't have a reward token defined", "pc": [ 3871 ] }, { "teal": 4143, "source": "examples/reti/validatorRegistry.algo.ts:1050", "pc": [ 3872, 3873 ] }, { "teal": 4144, "source": "examples/reti/validatorRegistry.algo.ts:1050", "pc": [ 3874 ] }, { "teal": 4145, "source": "examples/reti/validatorRegistry.algo.ts:1050", "pc": [ 3875 ] }, { "teal": 4146, "source": "examples/reti/validatorRegistry.algo.ts:1050", "pc": [ 3876, 3877 ] }, { "teal": 4147, "source": "examples/reti/validatorRegistry.algo.ts:1050", "pc": [ 3878 ] }, { "teal": 4148, "source": "examples/reti/validatorRegistry.algo.ts:1050", "pc": [ 3879 ] }, { "teal": 4149, "source": "examples/reti/validatorRegistry.algo.ts:1050", "pc": [ 3880, 3881 ] }, { "teal": 4150, "source": "examples/reti/validatorRegistry.algo.ts:1050", "pc": [ 3882 ] }, { "teal": 4151, "source": "examples/reti/validatorRegistry.algo.ts:1050", "pc": [ 3883 ] }, { "teal": 4152, "source": "examples/reti/validatorRegistry.algo.ts:1050", "pc": [ 3884, 3885 ] }, { "teal": 4156, "source": "examples/reti/validatorRegistry.algo.ts:1052", "pc": [ 3886, 3887 ] }, { "teal": 4157, "source": "examples/reti/validatorRegistry.algo.ts:1052", "pc": [ 3888, 3889 ] }, { "teal": 4158, "source": "examples/reti/validatorRegistry.algo.ts:1052", "pc": [ 3890 ] }, { "teal": 4159, "source": "examples/reti/validatorRegistry.algo.ts:1052", "pc": [ 3891, 3892 ] }, { "teal": 4160, "source": "examples/reti/validatorRegistry.algo.ts:1052", "pc": [ 3893, 3894 ] }, { "teal": 4161, "source": "examples/reti/validatorRegistry.algo.ts:1052", "pc": [ 3895 ] }, { "teal": 4162, "source": "examples/reti/validatorRegistry.algo.ts:1052", "pc": [ 3896, 3897 ] }, { "teal": 4163, "source": "examples/reti/validatorRegistry.algo.ts:1052", "pc": [ 3898 ] }, { "teal": 4164, "source": "examples/reti/validatorRegistry.algo.ts:1052", "pc": [ 3899, 3900 ] }, { "teal": 4171, "source": "examples/reti/validatorRegistry.algo.ts:1055", "pc": [ 3901 ] }, { "teal": 4172, "source": "examples/reti/validatorRegistry.algo.ts:1055", "pc": [ 3902, 3903 ] }, { "teal": 4173, "source": "examples/reti/validatorRegistry.algo.ts:1055", "pc": [ 3904, 3905 ] }, { "teal": 4174, "source": "examples/reti/validatorRegistry.algo.ts:1055", "pc": [ 3906, 3907 ] }, { "teal": 4175, "source": "examples/reti/validatorRegistry.algo.ts:1055", "pc": [ 3908, 3909 ] }, { "teal": 4179, "source": "examples/reti/validatorRegistry.algo.ts:1056", "pc": [ 3910, 3911 ] }, { "teal": 4180, "source": "examples/reti/validatorRegistry.algo.ts:1056", "pc": [ 3912, 3913 ] }, { "teal": 4184, "source": "examples/reti/validatorRegistry.algo.ts:1057", "pc": [ 3914, 3915 ] }, { "teal": 4185, "source": "examples/reti/validatorRegistry.algo.ts:1057", "pc": [ 3916, 3917 ] }, { "teal": 4186, "source": "examples/reti/validatorRegistry.algo.ts:1057", "pc": [ 3918, 3919 ] }, { "teal": 4187, "source": "examples/reti/validatorRegistry.algo.ts:1057", "pc": [ 3920 ] }, { "teal": 4188, "source": "examples/reti/validatorRegistry.algo.ts:1057", "pc": [ 3921, 3922 ] }, { "teal": 4189, "source": "examples/reti/validatorRegistry.algo.ts:1057", "pc": [ 3923, 3924 ] }, { "teal": 4190, "source": "examples/reti/validatorRegistry.algo.ts:1057", "pc": [ 3925 ] }, { "teal": 4191, "source": "examples/reti/validatorRegistry.algo.ts:1057", "pc": [ 3926, 3927 ] }, { "teal": 4194, "source": "examples/reti/validatorRegistry.algo.ts:1055", "pc": [ 3928 ] }, { "teal": 4195, "source": "examples/reti/validatorRegistry.algo.ts:1055", "pc": [ 3929, 3930 ] }, { "teal": 4198, "source": "examples/reti/validatorRegistry.algo.ts:1055", "pc": [ 3931 ] }, { "teal": 4205, "source": "examples/reti/validatorRegistry.algo.ts:1060", "pc": [ 3932, 3933 ] }, { "teal": 4206, "source": "examples/reti/validatorRegistry.algo.ts:1060", "pc": [ 3934, 3935 ] }, { "teal": 4207, "source": "examples/reti/validatorRegistry.algo.ts:1060", "pc": [ 3936 ] }, { "teal": 4208, "source": "examples/reti/validatorRegistry.algo.ts:1060", "pc": [ 3937, 3938 ] }, { "teal": 4209, "source": "examples/reti/validatorRegistry.algo.ts:1060", "pc": [ 3939, 3940 ] }, { "teal": 4210, "source": "examples/reti/validatorRegistry.algo.ts:1060", "pc": [ 3941 ] }, { "teal": 4211, "source": "examples/reti/validatorRegistry.algo.ts:1060", "pc": [ 3942, 3943 ] }, { "teal": 4212, "source": "examples/reti/validatorRegistry.algo.ts:1060", "pc": [ 3944 ] }, { "teal": 4215, "source": "examples/reti/validatorRegistry.algo.ts:1059", "errorMessage": "balance of remaining reward tokens should match the held back amount", "pc": [ 3945 ] }, { "teal": 4219, "source": "examples/reti/validatorRegistry.algo.ts:1063", "pc": [ 3946, 3947 ] }, { "teal": 4222, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ 3948, 3949 ] }, { "teal": 4225, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ 3950, 3951 ] }, { "teal": 4226, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ 3952 ] }, { "teal": 4237, "source": "examples/reti/validatorRegistry.algo.ts:1160", "pc": [ 3953, 3954, 3955 ] }, { "teal": 4241, "source": "examples/reti/validatorRegistry.algo.ts:1161", "pc": [ 3956 ] }, { "teal": 4242, "source": "examples/reti/validatorRegistry.algo.ts:1161", "pc": [ 3957, 3958 ] }, { "teal": 4243, "source": "examples/reti/validatorRegistry.algo.ts:1161", "pc": [ 3959, 3960, 3961 ] }, { "teal": 4244, "source": "examples/reti/validatorRegistry.algo.ts:1161", "pc": [ 3962 ] }, { "teal": 4245, "source": "examples/reti/validatorRegistry.algo.ts:1161", "pc": [ 3963 ] }, { "teal": 4246, "source": "examples/reti/validatorRegistry.algo.ts:1161", "pc": [ 3964 ] }, { "teal": 4247, "source": "examples/reti/validatorRegistry.algo.ts:1161", "pc": [ 3965 ] }, { "teal": 4248, "source": "examples/reti/validatorRegistry.algo.ts:1161", "pc": [ 3966 ] }, { "teal": 4249, "source": "examples/reti/validatorRegistry.algo.ts:1161", "pc": [ 3967 ] }, { "teal": 4252, "source": "examples/reti/validatorRegistry.algo.ts:1161", "errorMessage": "the specified validator id isn't valid", "pc": [ 3968 ] }, { "teal": 4256, "source": "examples/reti/validatorRegistry.algo.ts:1162", "pc": [ 3969, 3970 ] }, { "teal": 4257, "source": "examples/reti/validatorRegistry.algo.ts:1162", "pc": [ 3971, 3972, 3973 ] }, { "teal": 4258, "source": "examples/reti/validatorRegistry.algo.ts:1162", "pc": [ 3974 ] }, { "teal": 4259, "source": "examples/reti/validatorRegistry.algo.ts:32", "pc": [ 3975 ] }, { "teal": 4260, "source": "examples/reti/validatorRegistry.algo.ts:1162", "pc": [ 3976 ] }, { "teal": 4263, "source": "examples/reti/validatorRegistry.algo.ts:1162", "errorMessage": "pool id not in valid range", "pc": [ 3977 ] }, { "teal": 4270, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ 3978, 3979 ] }, { "teal": 4271, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ 3980, 3981, 3982 ] }, { "teal": 4272, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ 3983 ] }, { "teal": 4273, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ 3984 ] }, { "teal": 4274, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ 3985 ] }, { "teal": 4275, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ 3986 ] }, { "teal": 4276, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ 3987, 3988, 3989 ] }, { "teal": 4277, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ 3990, 3991 ] }, { "teal": 4278, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ 3992, 3993, 3994 ] }, { "teal": 4279, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ 3995 ] }, { "teal": 4280, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ 3996, 3997 ] }, { "teal": 4281, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ 3998, 3999 ] }, { "teal": 4282, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ 4000 ] }, { "teal": 4283, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ 4001, 4002 ] }, { "teal": 4284, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ 4003, 4004, 4005 ] }, { "teal": 4285, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ 4006 ] }, { "teal": 4286, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ 4007 ] }, { "teal": 4287, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ 4008 ] }, { "teal": 4288, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ 4009, 4010 ] }, { "teal": 4289, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ 4011 ] }, { "teal": 4290, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ 4012 ] }, { "teal": 4291, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ 4013 ] }, { "teal": 4292, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ 4014 ] }, { "teal": 4296, "source": "examples/reti/validatorRegistry.algo.ts:1163", "errorMessage": "pool id outside of range of pools created for this validator", "pc": [ 4015 ] }, { "teal": 4303, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ 4016, 4017 ] }, { "teal": 4304, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ 4018, 4019, 4020 ] }, { "teal": 4305, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ 4021 ] }, { "teal": 4306, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ 4022, 4023 ] }, { "teal": 4307, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ 4024, 4025 ] }, { "teal": 4308, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ 4026, 4027, 4028 ] }, { "teal": 4309, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ 4029 ] }, { "teal": 4310, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ 4030 ] }, { "teal": 4311, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ 4031 ] }, { "teal": 4312, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ 4032, 4033 ] }, { "teal": 4313, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ 4034 ] }, { "teal": 4314, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ 4035 ] }, { "teal": 4315, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ 4036 ] }, { "teal": 4316, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ 4037 ] }, { "teal": 4317, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ 4038 ] }, { "teal": 4318, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ 4039 ] }, { "teal": 4319, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ 4040, 4041 ] }, { "teal": 4320, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ 4042, 4043, 4044 ] }, { "teal": 4321, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ 4045 ] }, { "teal": 4322, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ 4046 ] }, { "teal": 4323, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ 4047 ] }, { "teal": 4324, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ 4048, 4049 ] }, { "teal": 4325, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ 4050 ] }, { "teal": 4326, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ 4051 ] }, { "teal": 4327, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ 4052 ] }, { "teal": 4330, "source": "examples/reti/validatorRegistry.algo.ts:1169", "errorMessage": "The passed in app id doesn't match the passed in ids", "pc": [ 4053 ] }, { "teal": 4334, "source": "examples/reti/validatorRegistry.algo.ts:1174", "pc": [ 4054, 4055 ] }, { "teal": 4335, "source": "examples/reti/validatorRegistry.algo.ts:1174", "pc": [ 4056, 4057 ] }, { "teal": 4336, "source": "examples/reti/validatorRegistry.algo.ts:1174", "pc": [ 4058, 4059, 4060 ] }, { "teal": 4337, "source": "examples/reti/validatorRegistry.algo.ts:1174", "pc": [ 4061 ] }, { "teal": 4338, "source": "examples/reti/validatorRegistry.algo.ts:1174", "pc": [ 4062, 4063 ] }, { "teal": 4339, "source": "examples/reti/validatorRegistry.algo.ts:1174", "pc": [ 4064 ] }, { "teal": 4340, "source": "examples/reti/validatorRegistry.algo.ts:1174", "pc": [ 4065 ] }, { "teal": 4341, "source": "examples/reti/validatorRegistry.algo.ts:1174", "pc": [ 4066 ] }, { "teal": 4345, "source": "examples/reti/validatorRegistry.algo.ts:1176", "pc": [ 4067, 4068 ] }, { "teal": 4346, "source": "examples/reti/validatorRegistry.algo.ts:1176", "pc": [ 4069, 4070, 4071 ] }, { "teal": 4347, "source": "examples/reti/validatorRegistry.algo.ts:1176", "pc": [ 4072 ] }, { "teal": 4348, "source": "examples/reti/validatorRegistry.algo.ts:1176", "pc": [ 4073, 4074 ] }, { "teal": 4349, "source": "examples/reti/validatorRegistry.algo.ts:1176", "pc": [ 4075, 4076, 4077 ] }, { "teal": 4350, "source": "examples/reti/validatorRegistry.algo.ts:1176", "pc": [ 4078 ] }, { "teal": 4351, "source": "examples/reti/validatorRegistry.algo.ts:1176", "pc": [ 4079, 4080, 4081, 4082, 4083, 4084, 4085, 4086, 4087, 4088, 4089, 4090, 4091 ] }, { "teal": 4352, "source": "examples/reti/validatorRegistry.algo.ts:1176", "pc": [ 4092 ] }, { "teal": 4355, "source": "examples/reti/validatorRegistry.algo.ts:1176", "errorMessage": "global state value does not exist: AppID.fromUint64(poolKey.poolAppId).globalState('validatorId')", "pc": [ 4093 ] }, { "teal": 4356, "source": "examples/reti/validatorRegistry.algo.ts:1176", "pc": [ 4094 ] }, { "teal": 4357, "source": "examples/reti/validatorRegistry.algo.ts:1176", "pc": [ 4095 ] }, { "teal": 4361, "source": "examples/reti/validatorRegistry.algo.ts:1177", "pc": [ 4096, 4097 ] }, { "teal": 4362, "source": "examples/reti/validatorRegistry.algo.ts:1177", "pc": [ 4098, 4099, 4100 ] }, { "teal": 4363, "source": "examples/reti/validatorRegistry.algo.ts:1177", "pc": [ 4101 ] }, { "teal": 4364, "source": "examples/reti/validatorRegistry.algo.ts:1177", "pc": [ 4102, 4103 ] }, { "teal": 4365, "source": "examples/reti/validatorRegistry.algo.ts:1177", "pc": [ 4104, 4105, 4106 ] }, { "teal": 4366, "source": "examples/reti/validatorRegistry.algo.ts:1177", "pc": [ 4107 ] }, { "teal": 4367, "source": "examples/reti/validatorRegistry.algo.ts:1177", "pc": [ 4108, 4109, 4110, 4111, 4112, 4113, 4114, 4115 ] }, { "teal": 4368, "source": "examples/reti/validatorRegistry.algo.ts:1177", "pc": [ 4116 ] }, { "teal": 4371, "source": "examples/reti/validatorRegistry.algo.ts:1177", "errorMessage": "global state value does not exist: AppID.fromUint64(poolKey.poolAppId).globalState('poolId')", "pc": [ 4117 ] }, { "teal": 4372, "source": "examples/reti/validatorRegistry.algo.ts:1177", "pc": [ 4118 ] }, { "teal": 4373, "source": "examples/reti/validatorRegistry.algo.ts:1177", "pc": [ 4119 ] }, { "teal": 4374, "source": "examples/reti/validatorRegistry.algo.ts:1160", "pc": [ 4120 ] }, { "teal": 4383, "source": "examples/reti/validatorRegistry.algo.ts:1186", "pc": [ 4121, 4122, 4123 ] }, { "teal": 4386, "source": "examples/reti/validatorRegistry.algo.ts:1186", "pc": [ 4124 ] }, { "teal": 4387, "source": "examples/reti/validatorRegistry.algo.ts:1186", "pc": [ 4125 ] }, { "teal": 4391, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ 4126 ] }, { "teal": 4392, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ 4127, 4128 ] }, { "teal": 4393, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ 4129 ] }, { "teal": 4394, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ 4130 ] }, { "teal": 4395, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ 4131, 4132 ] }, { "teal": 4400, "source": "examples/reti/validatorRegistry.algo.ts:1188", "pc": [ 4133, 4134 ] }, { "teal": 4401, "source": "examples/reti/validatorRegistry.algo.ts:1188", "pc": [ 4135 ] }, { "teal": 4402, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ 4136 ] }, { "teal": 4403, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ 4137, 4138 ] }, { "teal": 4404, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ 4139 ] }, { "teal": 4405, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ 4140 ] }, { "teal": 4406, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ 4141, 4142 ] }, { "teal": 4407, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ 4143 ] }, { "teal": 4408, "source": "examples/reti/validatorRegistry.algo.ts:1188", "pc": [ 4144 ] }, { "teal": 4409, "source": "examples/reti/validatorRegistry.algo.ts:1188", "pc": [ 4145 ] }, { "teal": 4410, "source": "examples/reti/validatorRegistry.algo.ts:1188", "pc": [ 4146 ] }, { "teal": 4411, "source": "examples/reti/validatorRegistry.algo.ts:1188", "pc": [ 4147, 4148, 4149 ] }, { "teal": 4416, "source": "examples/reti/validatorRegistry.algo.ts:1191", "pc": [ 4150, 4151 ] }, { "teal": 4417, "source": "examples/reti/validatorRegistry.algo.ts:1191", "pc": [ 4152 ] }, { "teal": 4418, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ 4153 ] }, { "teal": 4419, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ 4154, 4155 ] }, { "teal": 4420, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ 4156 ] }, { "teal": 4421, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ 4157 ] }, { "teal": 4422, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ 4158, 4159 ] }, { "teal": 4423, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ 4160 ] }, { "teal": 4424, "source": "examples/reti/validatorRegistry.algo.ts:1191", "pc": [ 4161 ] }, { "teal": 4425, "source": "examples/reti/validatorRegistry.algo.ts:1191", "pc": [ 4162, 4163 ] }, { "teal": 4426, "source": "examples/reti/validatorRegistry.algo.ts:1191", "pc": [ 4164 ] }, { "teal": 4429, "source": "examples/reti/validatorRegistry.algo.ts:1191", "errorMessage": "global state value does not exist: AppID.fromUint64(validatorConfig.nfdForInfo).globalState('i.owner.a')", "pc": [ 4165 ] }, { "teal": 4430, "source": "examples/reti/validatorRegistry.algo.ts:1191", "pc": [ 4166, 4167 ] }, { "teal": 4435, "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ 4168 ] }, { "teal": 4436, "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ 4169, 4170 ] }, { "teal": 4437, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ 4171 ] }, { "teal": 4438, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ 4172, 4173 ] }, { "teal": 4439, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ 4174 ] }, { "teal": 4440, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ 4175 ] }, { "teal": 4441, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ 4176, 4177 ] }, { "teal": 4442, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ 4178 ] }, { "teal": 4443, "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ 4179, 4180 ] }, { "teal": 4444, "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ 4181 ] }, { "teal": 4445, "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ 4182 ] }, { "teal": 4446, "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ 4183, 4184, 4185 ] }, { "teal": 4447, "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ 4186, 4187 ] }, { "teal": 4448, "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ 4188, 4189 ] }, { "teal": 4449, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ 4190 ] }, { "teal": 4450, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ 4191, 4192 ] }, { "teal": 4451, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ 4193 ] }, { "teal": 4452, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ 4194 ] }, { "teal": 4453, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ 4195, 4196 ] }, { "teal": 4454, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ 4197 ] }, { "teal": 4455, "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ 4198, 4199 ] }, { "teal": 4456, "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ 4200 ] }, { "teal": 4457, "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ 4201 ] }, { "teal": 4460, "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ 4202, 4203, 4204 ] }, { "teal": 4465, "source": "examples/reti/validatorRegistry.algo.ts:1195", "pc": [ 4205, 4206 ] }, { "teal": 4466, "source": "examples/reti/validatorRegistry.algo.ts:1195", "pc": [ 4207, 4208 ] }, { "teal": 4467, "source": "examples/reti/validatorRegistry.algo.ts:1195", "pc": [ 4209 ] }, { "teal": 4468, "source": "examples/reti/validatorRegistry.algo.ts:1195", "pc": [ 4210, 4211 ] }, { "teal": 4469, "source": "examples/reti/validatorRegistry.algo.ts:1195", "pc": [ 4212 ] }, { "teal": 4470, "source": "examples/reti/validatorRegistry.algo.ts:1195", "pc": [ 4213 ] }, { "teal": 4471, "source": "examples/reti/validatorRegistry.algo.ts:1195", "pc": [ 4214, 4215 ] }, { "teal": 4472, "source": "examples/reti/validatorRegistry.algo.ts:1195", "pc": [ 4216 ] }, { "teal": 4477, "source": "examples/reti/validatorRegistry.algo.ts:1186", "pc": [ 4217 ] }, { "teal": 4481, "source": "examples/reti/validatorRegistry.algo.ts:1200", "pc": [ 4218, 4219, 4220 ] }, { "teal": 4488, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ 4221, 4222 ] }, { "teal": 4489, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ 4223, 4224, 4225 ] }, { "teal": 4490, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ 4226 ] }, { "teal": 4491, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ 4227 ] }, { "teal": 4492, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ 4228 ] }, { "teal": 4493, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ 4229 ] }, { "teal": 4494, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ 4230, 4231, 4232 ] }, { "teal": 4495, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ 4233, 4234 ] }, { "teal": 4496, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ 4235, 4236, 4237 ] }, { "teal": 4497, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ 4238 ] }, { "teal": 4498, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ 4239, 4240 ] }, { "teal": 4499, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ 4241 ] }, { "teal": 4500, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ 4242 ] }, { "teal": 4504, "source": "examples/reti/validatorRegistry.algo.ts:1202", "errorMessage": "gating type not valid", "pc": [ 4243 ] }, { "teal": 4511, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ 4244, 4245 ] }, { "teal": 4512, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ 4246, 4247, 4248 ] }, { "teal": 4513, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ 4249 ] }, { "teal": 4514, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ 4250 ] }, { "teal": 4515, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ 4251 ] }, { "teal": 4516, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ 4252 ] }, { "teal": 4517, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ 4253, 4254, 4255 ] }, { "teal": 4518, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ 4256, 4257 ] }, { "teal": 4519, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ 4258, 4259, 4260 ] }, { "teal": 4520, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ 4261 ] }, { "teal": 4521, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ 4262, 4263 ] }, { "teal": 4522, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ 4264 ] }, { "teal": 4523, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ 4265 ] }, { "teal": 4527, "source": "examples/reti/validatorRegistry.algo.ts:1206", "errorMessage": "epoch length not in allowable range", "pc": [ 4266 ] }, { "teal": 4534, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ 4267, 4268 ] }, { "teal": 4535, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ 4269, 4270, 4271 ] }, { "teal": 4536, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ 4272 ] }, { "teal": 4537, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ 4273 ] }, { "teal": 4538, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ 4274 ] }, { "teal": 4539, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ 4275 ] }, { "teal": 4540, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ 4276, 4277, 4278 ] }, { "teal": 4541, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ 4279, 4280 ] }, { "teal": 4542, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ 4281, 4282, 4283 ] }, { "teal": 4543, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ 4284 ] }, { "teal": 4544, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ 4285, 4286 ] }, { "teal": 4545, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ 4287 ] }, { "teal": 4546, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ 4288 ] }, { "teal": 4550, "source": "examples/reti/validatorRegistry.algo.ts:1210", "errorMessage": "commission percentage not valid", "pc": [ 4289 ] }, { "teal": 4555, "source": "examples/reti/validatorRegistry.algo.ts:1214", "pc": [ 4290, 4291 ] }, { "teal": 4556, "source": "examples/reti/validatorRegistry.algo.ts:1214", "pc": [ 4292, 4293, 4294 ] }, { "teal": 4557, "source": "examples/reti/validatorRegistry.algo.ts:1214", "pc": [ 4295 ] }, { "teal": 4558, "source": "examples/reti/validatorRegistry.algo.ts:1214", "pc": [ 4296 ] }, { "teal": 4559, "source": "examples/reti/validatorRegistry.algo.ts:1214", "pc": [ 4297 ] }, { "teal": 4560, "source": "examples/reti/validatorRegistry.algo.ts:1214", "pc": [ 4298, 4299, 4300 ] }, { "teal": 4568, "source": "examples/reti/validatorRegistry.algo.ts:1216", "pc": [ 4301, 4302 ] }, { "teal": 4569, "source": "examples/reti/validatorRegistry.algo.ts:1216", "pc": [ 4303, 4304, 4305 ] }, { "teal": 4570, "source": "examples/reti/validatorRegistry.algo.ts:1216", "pc": [ 4306, 4307 ] }, { "teal": 4571, "source": "examples/reti/validatorRegistry.algo.ts:1216", "pc": [ 4308 ] }, { "teal": 4574, "source": "examples/reti/validatorRegistry.algo.ts:1215", "errorMessage": "validatorCommissionAddress must be set if percent to validator is not 0", "pc": [ 4309 ] }, { "teal": 4579, "source": "examples/reti/validatorRegistry.algo.ts:1220", "pc": [ 4310, 4311 ] }, { "teal": 4580, "source": "examples/reti/validatorRegistry.algo.ts:1220", "pc": [ 4312, 4313, 4314 ] }, { "teal": 4581, "source": "examples/reti/validatorRegistry.algo.ts:1220", "pc": [ 4315 ] }, { "teal": 4582, "source": "examples/reti/validatorRegistry.algo.ts:1220", "pc": [ 4316, 4317 ] }, { "teal": 4583, "source": "examples/reti/validatorRegistry.algo.ts:1220", "pc": [ 4318 ] }, { "teal": 4586, "source": "examples/reti/validatorRegistry.algo.ts:1220", "errorMessage": "staking pool must have minimum entry of 1 algo", "pc": [ 4319 ] }, { "teal": 4593, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ 4320, 4321 ] }, { "teal": 4594, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ 4322, 4323, 4324 ] }, { "teal": 4595, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ 4325 ] }, { "teal": 4596, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ 4326 ] }, { "teal": 4597, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ 4327 ] }, { "teal": 4598, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ 4328 ] }, { "teal": 4599, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ 4329, 4330, 4331 ] }, { "teal": 4600, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ 4332, 4333 ] }, { "teal": 4601, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ 4334, 4335, 4336 ] }, { "teal": 4602, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ 4337 ] }, { "teal": 4603, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ 4338, 4339 ] }, { "teal": 4604, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ 4340 ] }, { "teal": 4605, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ 4341 ] }, { "teal": 4609, "source": "examples/reti/validatorRegistry.algo.ts:1222", "errorMessage": "number of pools per node exceeds allowed number", "pc": [ 4342 ] }, { "teal": 4614, "source": "examples/reti/validatorRegistry.algo.ts:1226", "pc": [ 4343, 4344 ] }, { "teal": 4615, "source": "examples/reti/validatorRegistry.algo.ts:1226", "pc": [ 4345, 4346, 4347 ] }, { "teal": 4616, "source": "examples/reti/validatorRegistry.algo.ts:1226", "pc": [ 4348 ] }, { "teal": 4617, "source": "examples/reti/validatorRegistry.algo.ts:1226", "pc": [ 4349 ] }, { "teal": 4618, "source": "examples/reti/validatorRegistry.algo.ts:1226", "pc": [ 4350 ] }, { "teal": 4619, "source": "examples/reti/validatorRegistry.algo.ts:1226", "pc": [ 4351, 4352, 4353 ] }, { "teal": 4624, "source": "examples/reti/validatorRegistry.algo.ts:1227", "pc": [ 4354, 4355 ] }, { "teal": 4625, "source": "examples/reti/validatorRegistry.algo.ts:1227", "pc": [ 4356, 4357, 4358 ] }, { "teal": 4626, "source": "examples/reti/validatorRegistry.algo.ts:1227", "pc": [ 4359 ] }, { "teal": 4627, "source": "examples/reti/validatorRegistry.algo.ts:1227", "pc": [ 4360, 4361 ] }, { "teal": 4628, "source": "examples/reti/validatorRegistry.algo.ts:1227", "pc": [ 4362 ] }, { "teal": 4631, "source": "examples/reti/validatorRegistry.algo.ts:1227", "errorMessage": "sunsettingOn must be later than now if set", "pc": [ 4363 ] }, { "teal": 4634, "source": "examples/reti/validatorRegistry.algo.ts:1200", "pc": [ 4364 ] }, { "teal": 4648, "source": "examples/reti/validatorRegistry.algo.ts:1242", "pc": [ 4365, 4366, 4367 ] }, { "teal": 4651, "source": "examples/reti/validatorRegistry.algo.ts:1242", "pc": [ 4368 ] }, { "teal": 4652, "source": "examples/reti/validatorRegistry.algo.ts:1242", "pc": [ 4369, 4370 ] }, { "teal": 4656, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ 4371, 4372 ] }, { "teal": 4657, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ 4373, 4374 ] }, { "teal": 4658, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ 4375, 4376, 4377 ] }, { "teal": 4659, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ 4378 ] }, { "teal": 4660, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ 4379 ] }, { "teal": 4661, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ 4380 ] }, { "teal": 4662, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ 4381, 4382 ] }, { "teal": 4663, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ 4383 ] }, { "teal": 4664, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ 4384 ] }, { "teal": 4665, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ 4385 ] }, { "teal": 4666, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ 4386 ] }, { "teal": 4667, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ 4387 ] }, { "teal": 4668, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ 4388 ] }, { "teal": 4669, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ 4389, 4390 ] }, { "teal": 4670, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ 4391, 4392, 4393 ] }, { "teal": 4671, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ 4394 ] }, { "teal": 4672, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ 4395 ] }, { "teal": 4673, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ 4396 ] }, { "teal": 4674, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ 4397, 4398 ] }, { "teal": 4675, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ 4399 ] }, { "teal": 4676, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ 4400 ] }, { "teal": 4677, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ 4401, 4402 ] }, { "teal": 4690, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ 4403 ] }, { "teal": 4691, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ 4404 ] }, { "teal": 4692, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ 4405, 4406 ] }, { "teal": 4696, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ 4407, 4408 ] }, { "teal": 4697, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ 4409, 4410 ] }, { "teal": 4698, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ 4411, 4412 ] }, { "teal": 4699, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ 4413 ] }, { "teal": 4700, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ 4414, 4415 ] }, { "teal": 4704, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ 4416, 4417 ] }, { "teal": 4705, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ 4418, 4419 ] }, { "teal": 4706, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ 4420 ] }, { "teal": 4707, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ 4421, 4422 ] }, { "teal": 4710, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ 4423 ] }, { "teal": 4711, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ 4424, 4425 ] }, { "teal": 4712, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ 4426 ] }, { "teal": 4713, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ 4427, 4428 ] }, { "teal": 4714, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ 4429, 4430 ] }, { "teal": 4715, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ 4431, 4432, 4433, 4434, 4435, 4436 ] }, { "teal": 4716, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ 4437, 4438 ] }, { "teal": 4720, "source": "examples/reti/validatorRegistry.algo.ts:1254", "pc": [ 4439, 4440 ] }, { "teal": 4721, "source": "examples/reti/validatorRegistry.algo.ts:1254", "pc": [ 4441, 4442 ] }, { "teal": 4731, "source": "examples/reti/validatorRegistry.algo.ts:1260", "pc": [ 4443, 4444 ] }, { "teal": 4732, "source": "examples/reti/validatorRegistry.algo.ts:1260", "pc": [ 4445, 4446 ] }, { "teal": 4733, "source": "examples/reti/validatorRegistry.algo.ts:1260", "pc": [ 4447, 4448 ] }, { "teal": 4736, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ 4449 ] }, { "teal": 4737, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ 4450, 4451 ] }, { "teal": 4740, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ 4452 ] }, { "teal": 4741, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ 4453, 4454 ] }, { "teal": 4742, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ 4455 ] }, { "teal": 4743, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ 4456 ] }, { "teal": 4744, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ 4457, 4458 ] }, { "teal": 4745, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ 4459, 4460, 4461 ] }, { "teal": 4746, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ 4462 ] }, { "teal": 4751, "source": "examples/reti/validatorRegistry.algo.ts:1263", "pc": [ 4463, 4464 ] }, { "teal": 4752, "source": "examples/reti/validatorRegistry.algo.ts:1263", "pc": [ 4465, 4466, 4467 ] }, { "teal": 4753, "source": "examples/reti/validatorRegistry.algo.ts:1263", "pc": [ 4468 ] }, { "teal": 4754, "source": "examples/reti/validatorRegistry.algo.ts:1263", "pc": [ 4469, 4470, 4471 ] }, { "teal": 4759, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ 4472 ] }, { "teal": 4760, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ 4473, 4474 ] }, { "teal": 4761, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ 4475, 4476 ] }, { "teal": 4762, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ 4477 ] }, { "teal": 4763, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ 4478, 4479 ] }, { "teal": 4764, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ 4480, 4481 ] }, { "teal": 4765, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ 4482 ] }, { "teal": 4766, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ 4483, 4484 ] }, { "teal": 4767, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ 4485, 4486 ] }, { "teal": 4768, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ 4487, 4488 ] }, { "teal": 4769, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ 4489, 4490 ] }, { "teal": 4770, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ 4491 ] }, { "teal": 4775, "source": "examples/reti/validatorRegistry.algo.ts:1268", "pc": [ 4492, 4493 ] }, { "teal": 4776, "source": "examples/reti/validatorRegistry.algo.ts:1268", "pc": [ 4494, 4495 ] }, { "teal": 4777, "source": "examples/reti/validatorRegistry.algo.ts:1268", "pc": [ 4496 ] }, { "teal": 4780, "source": "examples/reti/validatorRegistry.algo.ts:1268", "errorMessage": "global state value does not exist: AppID.fromUint64(poolAppId).globalState('numStakers')", "pc": [ 4497 ] }, { "teal": 4781, "source": "examples/reti/validatorRegistry.algo.ts:1268", "pc": [ 4498, 4499 ] }, { "teal": 4785, "source": "examples/reti/validatorRegistry.algo.ts:1269", "pc": [ 4500, 4501 ] }, { "teal": 4786, "source": "examples/reti/validatorRegistry.algo.ts:1269", "pc": [ 4502, 4503 ] }, { "teal": 4787, "source": "examples/reti/validatorRegistry.algo.ts:1269", "pc": [ 4504 ] }, { "teal": 4790, "source": "examples/reti/validatorRegistry.algo.ts:1269", "errorMessage": "global state value does not exist: AppID.fromUint64(poolAppId).globalState('staked')", "pc": [ 4505 ] }, { "teal": 4791, "source": "examples/reti/validatorRegistry.algo.ts:1269", "pc": [ 4506, 4507 ] }, { "teal": 4795, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4508, 4509 ] }, { "teal": 4796, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4510, 4511 ] }, { "teal": 4797, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4512, 4513, 4514 ] }, { "teal": 4798, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4515 ] }, { "teal": 4799, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4516 ] }, { "teal": 4800, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4517 ] }, { "teal": 4801, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4518, 4519 ] }, { "teal": 4802, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4520 ] }, { "teal": 4803, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4521 ] }, { "teal": 4804, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4522 ] }, { "teal": 4805, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4523 ] }, { "teal": 4806, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4524, 4525 ] }, { "teal": 4807, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4526 ] }, { "teal": 4808, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4527 ] }, { "teal": 4809, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4528 ] }, { "teal": 4810, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4529, 4530 ] }, { "teal": 4811, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4531 ] }, { "teal": 4814, "source": "examples/reti/validatorRegistry.algo.ts:1270", "errorMessage": "this.validatorList(poolKey.id).value.pools[poolKey.poolId - 1].totalStakers overflowed 16 bits", "pc": [ 4532 ] }, { "teal": 4815, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4533, 4534, 4535 ] }, { "teal": 4816, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4536 ] }, { "teal": 4817, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4537, 4538 ] }, { "teal": 4818, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4539, 4540, 4541 ] }, { "teal": 4819, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4542 ] }, { "teal": 4820, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4543 ] }, { "teal": 4821, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4544 ] }, { "teal": 4822, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4545, 4546 ] }, { "teal": 4823, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4547 ] }, { "teal": 4827, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ 4548, 4549 ] }, { "teal": 4828, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ 4550, 4551 ] }, { "teal": 4829, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ 4552, 4553, 4554 ] }, { "teal": 4830, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ 4555 ] }, { "teal": 4831, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ 4556 ] }, { "teal": 4832, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ 4557 ] }, { "teal": 4833, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ 4558, 4559 ] }, { "teal": 4834, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ 4560 ] }, { "teal": 4835, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ 4561 ] }, { "teal": 4836, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ 4562, 4563 ] }, { "teal": 4837, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ 4564 ] }, { "teal": 4838, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ 4565, 4566 ] }, { "teal": 4839, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ 4567 ] }, { "teal": 4840, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ 4568 ] }, { "teal": 4841, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ 4569, 4570 ] }, { "teal": 4842, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ 4571, 4572, 4573 ] }, { "teal": 4843, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ 4574 ] }, { "teal": 4844, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ 4575 ] }, { "teal": 4845, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ 4576 ] }, { "teal": 4846, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ 4577, 4578 ] }, { "teal": 4847, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ 4579 ] }, { "teal": 4852, "source": "examples/reti/validatorRegistry.algo.ts:1274", "pc": [ 4580, 4581 ] }, { "teal": 4853, "source": "examples/reti/validatorRegistry.algo.ts:1274", "pc": [ 4582, 4583, 4584 ] }, { "teal": 4858, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ 4585, 4586 ] }, { "teal": 4859, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ 4587 ] }, { "teal": 4860, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ 4588 ] }, { "teal": 4861, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ 4589 ] }, { "teal": 4862, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ 4590, 4591 ] }, { "teal": 4863, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ 4592, 4593, 4594 ] }, { "teal": 4864, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ 4595 ] }, { "teal": 4865, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ 4596 ] }, { "teal": 4866, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ 4597 ] }, { "teal": 4867, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ 4598, 4599 ] }, { "teal": 4868, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ 4600 ] }, { "teal": 4869, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ 4601 ] }, { "teal": 4870, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ 4602 ] }, { "teal": 4871, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ 4603 ] }, { "teal": 4872, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ 4604 ] }, { "teal": 4873, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ 4605 ] }, { "teal": 4874, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ 4606, 4607 ] }, { "teal": 4875, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ 4608, 4609, 4610 ] }, { "teal": 4876, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ 4611 ] }, { "teal": 4877, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ 4612 ] }, { "teal": 4878, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ 4613 ] }, { "teal": 4879, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ 4614, 4615 ] }, { "teal": 4880, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ 4616 ] }, { "teal": 4886, "source": "examples/reti/validatorRegistry.algo.ts:1277", "pc": [ 4617, 4618 ] }, { "teal": 4887, "source": "examples/reti/validatorRegistry.algo.ts:1277", "pc": [ 4619, 4620, 4621 ] }, { "teal": 4892, "source": "examples/reti/validatorRegistry.algo.ts:1278", "pc": [ 4622, 4623 ] }, { "teal": 4893, "source": "examples/reti/validatorRegistry.algo.ts:1278", "pc": [ 4624 ] }, { "teal": 4894, "source": "examples/reti/validatorRegistry.algo.ts:1278", "pc": [ 4625 ] }, { "teal": 4895, "source": "examples/reti/validatorRegistry.algo.ts:1278", "pc": [ 4626 ] }, { "teal": 4896, "source": "examples/reti/validatorRegistry.algo.ts:1278", "pc": [ 4627, 4628 ] }, { "teal": 4897, "source": "examples/reti/validatorRegistry.algo.ts:1278", "pc": [ 4629 ] }, { "teal": 4898, "source": "examples/reti/validatorRegistry.algo.ts:1278", "pc": [ 4630 ] }, { "teal": 4903, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ 4631, 4632 ] }, { "teal": 4904, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ 4633 ] }, { "teal": 4905, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ 4634 ] }, { "teal": 4906, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ 4635 ] }, { "teal": 4907, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ 4636, 4637 ] }, { "teal": 4908, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ 4638, 4639, 4640 ] }, { "teal": 4909, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ 4641 ] }, { "teal": 4910, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ 4642 ] }, { "teal": 4911, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ 4643 ] }, { "teal": 4912, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ 4644, 4645 ] }, { "teal": 4913, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ 4646 ] }, { "teal": 4914, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ 4647 ] }, { "teal": 4915, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ 4648, 4649 ] }, { "teal": 4916, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ 4650, 4651 ] }, { "teal": 4917, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ 4652, 4653 ] }, { "teal": 4918, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ 4654 ] }, { "teal": 4919, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ 4655 ] }, { "teal": 4920, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ 4656 ] }, { "teal": 4921, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ 4657 ] }, { "teal": 4922, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ 4658, 4659 ] }, { "teal": 4923, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ 4660, 4661, 4662 ] }, { "teal": 4924, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ 4663 ] }, { "teal": 4925, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ 4664 ] }, { "teal": 4926, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ 4665 ] }, { "teal": 4927, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ 4666, 4667 ] }, { "teal": 4928, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ 4668 ] }, { "teal": 4932, "source": "examples/reti/validatorRegistry.algo.ts:1281", "pc": [ 4669, 4670 ] }, { "teal": 4933, "source": "examples/reti/validatorRegistry.algo.ts:1281", "pc": [ 4671 ] }, { "teal": 4934, "source": "examples/reti/validatorRegistry.algo.ts:1281", "pc": [ 4672, 4673 ] }, { "teal": 4935, "source": "examples/reti/validatorRegistry.algo.ts:1281", "pc": [ 4674, 4675 ] }, { "teal": 4936, "source": "examples/reti/validatorRegistry.algo.ts:1281", "pc": [ 4676, 4677 ] }, { "teal": 4937, "source": "examples/reti/validatorRegistry.algo.ts:1281", "pc": [ 4678 ] }, { "teal": 4938, "source": "examples/reti/validatorRegistry.algo.ts:1281", "pc": [ 4679 ] }, { "teal": 4939, "source": "examples/reti/validatorRegistry.algo.ts:1281", "pc": [ 4680, 4681 ] }, { "teal": 4940, "source": "examples/reti/validatorRegistry.algo.ts:1281", "pc": [ 4682 ] }, { "teal": 4941, "source": "examples/reti/validatorRegistry.algo.ts:1281", "pc": [ 4683 ] }, { "teal": 4942, "source": "examples/reti/validatorRegistry.algo.ts:1242", "pc": [ 4684 ] }, { "teal": 4946, "source": "examples/reti/validatorRegistry.algo.ts:1284", "pc": [ 4685, 4686, 4687 ] }, { "teal": 4949, "source": "examples/reti/validatorRegistry.algo.ts:1284", "pc": [ 4688 ] }, { "teal": 4950, "source": "examples/reti/validatorRegistry.algo.ts:1284", "pc": [ 4689, 4690 ] }, { "teal": 4954, "source": "examples/reti/validatorRegistry.algo.ts:1285", "pc": [ 4691 ] }, { "teal": 4955, "source": "examples/reti/validatorRegistry.algo.ts:1285", "pc": [ 4692, 4693 ] }, { "teal": 4956, "source": "examples/reti/validatorRegistry.algo.ts:1285", "pc": [ 4694 ] }, { "teal": 4957, "source": "examples/reti/validatorRegistry.algo.ts:1285", "pc": [ 4695 ] }, { "teal": 4958, "source": "examples/reti/validatorRegistry.algo.ts:1285", "pc": [ 4696 ] }, { "teal": 4959, "source": "examples/reti/validatorRegistry.algo.ts:1285", "pc": [ 4697 ] }, { "teal": 4960, "source": "examples/reti/validatorRegistry.algo.ts:1285", "pc": [ 4698 ] }, { "teal": 4964, "source": "examples/reti/validatorRegistry.algo.ts:1287", "pc": [ 4699 ] }, { "teal": 4965, "source": "examples/reti/validatorRegistry.algo.ts:1287", "pc": [ 4700, 4701 ] }, { "teal": 4966, "source": "examples/reti/validatorRegistry.algo.ts:1287", "pc": [ 4702 ] }, { "teal": 4967, "source": "examples/reti/validatorRegistry.algo.ts:1287", "pc": [ 4703 ] }, { "teal": 4970, "source": "examples/reti/validatorRegistry.algo.ts:1287", "errorMessage": "box value does not exist: this.stakerPoolSet(staker).value", "pc": [ 4704 ] }, { "teal": 4971, "source": "examples/reti/validatorRegistry.algo.ts:1287", "pc": [ 4705, 4706 ] }, { "teal": 4975, "source": "examples/reti/validatorRegistry.algo.ts:1288", "pc": [ 4707 ] }, { "teal": 4976, "source": "examples/reti/validatorRegistry.algo.ts:1288", "pc": [ 4708, 4709 ] }, { "teal": 4980, "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ 4710 ] }, { "teal": 4981, "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ 4711, 4712 ] }, { "teal": 4986, "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ 4713, 4714 ] }, { "teal": 4987, "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ 4715, 4716 ] }, { "teal": 4988, "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ 4717 ] }, { "teal": 4989, "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ 4718, 4719, 4720 ] }, { "teal": 4994, "source": "examples/reti/validatorRegistry.algo.ts:1290", "pc": [ 4721, 4722 ] }, { "teal": 4995, "source": "examples/reti/validatorRegistry.algo.ts:1290", "pc": [ 4723, 4724 ] }, { "teal": 4996, "source": "examples/reti/validatorRegistry.algo.ts:1290", "pc": [ 4725 ] }, { "teal": 4997, "source": "examples/reti/validatorRegistry.algo.ts:1290", "pc": [ 4726 ] }, { "teal": 4998, "source": "examples/reti/validatorRegistry.algo.ts:1290", "pc": [ 4727 ] }, { "teal": 4999, "source": "examples/reti/validatorRegistry.algo.ts:1290", "pc": [ 4728 ] }, { "teal": 5000, "source": "examples/reti/validatorRegistry.algo.ts:1290", "pc": [ 4729, 4730 ] }, { "teal": 5001, "source": "examples/reti/validatorRegistry.algo.ts:1290", "pc": [ 4731 ] }, { "teal": 5002, "source": "examples/reti/validatorRegistry.algo.ts:1290", "pc": [ 4732, 4733, 4734 ] }, { "teal": 5007, "source": "examples/reti/validatorRegistry.algo.ts:1292", "pc": [ 4735 ] }, { "teal": 5013, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4736, 4737 ] }, { "teal": 5014, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4738 ] }, { "teal": 5015, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4739 ] }, { "teal": 5016, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4740 ] }, { "teal": 5017, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4741, 4742, 4743 ] }, { "teal": 5018, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4744, 4745 ] }, { "teal": 5019, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4746, 4747 ] }, { "teal": 5020, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4748 ] }, { "teal": 5021, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4749 ] }, { "teal": 5022, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4750 ] }, { "teal": 5023, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4751 ] }, { "teal": 5024, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4752 ] }, { "teal": 5025, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4753 ] }, { "teal": 5026, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4754 ] }, { "teal": 5027, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4755 ] }, { "teal": 5028, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4756 ] }, { "teal": 5029, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4757 ] }, { "teal": 5032, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4758, 4759, 4760 ] }, { "teal": 5037, "source": "examples/reti/validatorRegistry.algo.ts:1295", "pc": [ 4761, 4762 ] }, { "teal": 5038, "source": "examples/reti/validatorRegistry.algo.ts:1295", "pc": [ 4763 ] }, { "teal": 5039, "source": "examples/reti/validatorRegistry.algo.ts:1295", "pc": [ 4764 ] }, { "teal": 5040, "source": "examples/reti/validatorRegistry.algo.ts:1295", "pc": [ 4765, 4766 ] }, { "teal": 5047, "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ 4767, 4768 ] }, { "teal": 5048, "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ 4769 ] }, { "teal": 5049, "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ 4770 ] }, { "teal": 5050, "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ 4771, 4772 ] }, { "teal": 5051, "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ 4773, 4774, 4775 ] }, { "teal": 5057, "source": "examples/reti/validatorRegistry.algo.ts:1298", "pc": [ 4776, 4777 ] }, { "teal": 5058, "source": "examples/reti/validatorRegistry.algo.ts:1298", "pc": [ 4778 ] }, { "teal": 5059, "source": "examples/reti/validatorRegistry.algo.ts:1298", "pc": [ 4779 ] }, { "teal": 5060, "source": "examples/reti/validatorRegistry.algo.ts:1298", "pc": [ 4780, 4781, 4782 ] }, { "teal": 5064, "source": "examples/reti/validatorRegistry.algo.ts:1299", "errorMessage": "No empty slot available in the staker pool set", "pc": [ 4783 ] }, { "teal": 5069, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ 4784, 4785 ] }, { "teal": 5070, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ 4786 ] }, { "teal": 5071, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ 4787 ] }, { "teal": 5072, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ 4788 ] }, { "teal": 5073, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ 4789 ] }, { "teal": 5074, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ 4790, 4791 ] }, { "teal": 5075, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ 4792 ] }, { "teal": 5076, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ 4793, 4794 ] }, { "teal": 5077, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ 4795 ] }, { "teal": 5078, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ 4796, 4797 ] }, { "teal": 5079, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ 4798 ] }, { "teal": 5080, "source": "examples/reti/validatorRegistry.algo.ts:1284", "pc": [ 4799 ] }, { "teal": 5091, "source": "examples/reti/validatorRegistry.algo.ts:1312", "pc": [ 4800, 4801, 4802 ] }, { "teal": 5094, "source": "examples/reti/validatorRegistry.algo.ts:1312", "pc": [ 4803 ] }, { "teal": 5095, "source": "examples/reti/validatorRegistry.algo.ts:1312", "pc": [ 4804, 4805 ] }, { "teal": 5099, "source": "examples/reti/validatorRegistry.algo.ts:1314", "pc": [ 4806 ] }, { "teal": 5100, "source": "examples/reti/validatorRegistry.algo.ts:1314", "pc": [ 4807, 4808 ] }, { "teal": 5104, "source": "examples/reti/validatorRegistry.algo.ts:1315", "pc": [ 4809 ] }, { "teal": 5105, "source": "examples/reti/validatorRegistry.algo.ts:1315", "pc": [ 4810, 4811 ] }, { "teal": 5109, "source": "examples/reti/validatorRegistry.algo.ts:1316", "pc": [ 4812 ] }, { "teal": 5110, "source": "examples/reti/validatorRegistry.algo.ts:1316", "pc": [ 4813, 4814 ] }, { "teal": 5114, "source": "examples/reti/validatorRegistry.algo.ts:1318", "pc": [ 4815 ] }, { "teal": 5115, "source": "examples/reti/validatorRegistry.algo.ts:1318", "pc": [ 4816, 4817 ] }, { "teal": 5116, "source": "examples/reti/validatorRegistry.algo.ts:1318", "pc": [ 4818 ] }, { "teal": 5117, "source": "examples/reti/validatorRegistry.algo.ts:1318", "pc": [ 4819 ] }, { "teal": 5120, "source": "examples/reti/validatorRegistry.algo.ts:1318", "errorMessage": "box value does not exist: this.stakerPoolSet(staker).value", "pc": [ 4820 ] }, { "teal": 5121, "source": "examples/reti/validatorRegistry.algo.ts:1318", "pc": [ 4821, 4822 ] }, { "teal": 5125, "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ 4823 ] }, { "teal": 5126, "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ 4824, 4825 ] }, { "teal": 5131, "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ 4826, 4827 ] }, { "teal": 5132, "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ 4828, 4829 ] }, { "teal": 5133, "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ 4830 ] }, { "teal": 5134, "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ 4831, 4832, 4833 ] }, { "teal": 5139, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ 4834, 4835 ] }, { "teal": 5140, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ 4836, 4837 ] }, { "teal": 5141, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ 4838 ] }, { "teal": 5142, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ 4839 ] }, { "teal": 5143, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ 4840 ] }, { "teal": 5144, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ 4841 ] }, { "teal": 5145, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ 4842 ] }, { "teal": 5146, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ 4843 ] }, { "teal": 5147, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ 4844 ] }, { "teal": 5148, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ 4845 ] }, { "teal": 5149, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ 4846 ] }, { "teal": 5150, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ 4847, 4848, 4849 ] }, { "teal": 5153, "source": "examples/reti/validatorRegistry.algo.ts:1321", "pc": [ 4850, 4851, 4852 ] }, { "teal": 5158, "source": "examples/reti/validatorRegistry.algo.ts:1323", "pc": [ 4853, 4854 ] }, { "teal": 5159, "source": "examples/reti/validatorRegistry.algo.ts:1323", "pc": [ 4855 ] }, { "teal": 5160, "source": "examples/reti/validatorRegistry.algo.ts:1323", "pc": [ 4856 ] }, { "teal": 5161, "source": "examples/reti/validatorRegistry.algo.ts:1323", "pc": [ 4857, 4858 ] }, { "teal": 5166, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ 4859, 4860 ] }, { "teal": 5167, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ 4861, 4862 ] }, { "teal": 5168, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ 4863 ] }, { "teal": 5169, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ 4864 ] }, { "teal": 5170, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ 4865 ] }, { "teal": 5171, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ 4866 ] }, { "teal": 5172, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ 4867 ] }, { "teal": 5173, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ 4868 ] }, { "teal": 5174, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ 4869 ] }, { "teal": 5175, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ 4870, 4871 ] }, { "teal": 5176, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ 4872, 4873, 4874 ] }, { "teal": 5177, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ 4875 ] }, { "teal": 5178, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ 4876 ] }, { "teal": 5179, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ 4877, 4878, 4879 ] }, { "teal": 5185, "source": "examples/reti/validatorRegistry.algo.ts:1325", "pc": [ 4880, 4881 ] }, { "teal": 5186, "source": "examples/reti/validatorRegistry.algo.ts:1325", "pc": [ 4882, 4883 ] }, { "teal": 5187, "source": "examples/reti/validatorRegistry.algo.ts:1325", "pc": [ 4884 ] }, { "teal": 5188, "source": "examples/reti/validatorRegistry.algo.ts:1325", "pc": [ 4885 ] }, { "teal": 5189, "source": "examples/reti/validatorRegistry.algo.ts:1325", "pc": [ 4886 ] }, { "teal": 5190, "source": "examples/reti/validatorRegistry.algo.ts:1325", "pc": [ 4887 ] }, { "teal": 5191, "source": "examples/reti/validatorRegistry.algo.ts:1325", "pc": [ 4888, 4889 ] }, { "teal": 5192, "source": "examples/reti/validatorRegistry.algo.ts:1325", "pc": [ 4890 ] }, { "teal": 5193, "source": "examples/reti/validatorRegistry.algo.ts:1325", "pc": [ 4891, 4892, 4893 ] }, { "teal": 5198, "source": "examples/reti/validatorRegistry.algo.ts:1326", "pc": [ 4894 ] }, { "teal": 5199, "source": "examples/reti/validatorRegistry.algo.ts:1326", "pc": [ 4895, 4896 ] }, { "teal": 5203, "source": "examples/reti/validatorRegistry.algo.ts:1328", "pc": [ 4897, 4898 ] }, { "teal": 5204, "source": "examples/reti/validatorRegistry.algo.ts:1328", "pc": [ 4899 ] }, { "teal": 5205, "source": "examples/reti/validatorRegistry.algo.ts:1328", "pc": [ 4900 ] }, { "teal": 5206, "source": "examples/reti/validatorRegistry.algo.ts:1328", "pc": [ 4901, 4902, 4903, 4904, 4905, 4906, 4907, 4908, 4909, 4910, 4911, 4912, 4913, 4914, 4915, 4916, 4917, 4918, 4919, 4920, 4921, 4922, 4923, 4924, 4925, 4926 ] }, { "teal": 5207, "source": "examples/reti/validatorRegistry.algo.ts:1328", "pc": [ 4927 ] }, { "teal": 5208, "source": "examples/reti/validatorRegistry.algo.ts:1328", "pc": [ 4928, 4929 ] }, { "teal": 5209, "source": "examples/reti/validatorRegistry.algo.ts:1328", "pc": [ 4930 ] }, { "teal": 5210, "source": "examples/reti/validatorRegistry.algo.ts:1328", "pc": [ 4931, 4932 ] }, { "teal": 5211, "source": "examples/reti/validatorRegistry.algo.ts:1328", "pc": [ 4933 ] }, { "teal": 5212, "source": "examples/reti/validatorRegistry.algo.ts:1325", "pc": [ 4934, 4935, 4936 ] }, { "teal": 5217, "source": "examples/reti/validatorRegistry.algo.ts:1330", "pc": [ 4937, 4938 ] }, { "teal": 5218, "source": "examples/reti/validatorRegistry.algo.ts:1330", "pc": [ 4939 ] }, { "teal": 5219, "source": "examples/reti/validatorRegistry.algo.ts:1330", "pc": [ 4940 ] }, { "teal": 5220, "source": "examples/reti/validatorRegistry.algo.ts:1330", "pc": [ 4941, 4942 ] }, { "teal": 5229, "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ 4943, 4944 ] }, { "teal": 5230, "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ 4945 ] }, { "teal": 5231, "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ 4946 ] }, { "teal": 5232, "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ 4947, 4948 ] }, { "teal": 5233, "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ 4949, 4950, 4951 ] }, { "teal": 5239, "source": "examples/reti/validatorRegistry.algo.ts:1334", "pc": [ 4952, 4953 ] }, { "teal": 5240, "source": "examples/reti/validatorRegistry.algo.ts:1334", "pc": [ 4954 ] }, { "teal": 5241, "source": "examples/reti/validatorRegistry.algo.ts:1334", "pc": [ 4955, 4956, 4957 ] }, { "teal": 5245, "source": "examples/reti/validatorRegistry.algo.ts:1335", "errorMessage": "No matching slot found when told to remove a pool from the stakers set", "pc": [ 4958 ] }, { "teal": 5250, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ 4959, 4960 ] }, { "teal": 5251, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ 4961 ] }, { "teal": 5252, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ 4962, 4963 ] }, { "teal": 5253, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ 4964 ] }, { "teal": 5254, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ 4965 ] }, { "teal": 5255, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ 4966 ] }, { "teal": 5256, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ 4967 ] }, { "teal": 5257, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ 4968, 4969 ] }, { "teal": 5258, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ 4970 ] }, { "teal": 5259, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ 4971 ] }, { "teal": 5260, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ 4972 ] }, { "teal": 5263, "source": "examples/reti/validatorRegistry.algo.ts:1312", "pc": [ 4973, 4974 ] }, { "teal": 5266, "source": "examples/reti/validatorRegistry.algo.ts:1312", "pc": [ 4975, 4976 ] }, { "teal": 5267, "source": "examples/reti/validatorRegistry.algo.ts:1312", "pc": [ 4977 ] }, { "teal": 5271, "source": "examples/reti/validatorRegistry.algo.ts:1341", "pc": [ 4978, 4979, 4980 ] }, { "teal": 5274, "source": "examples/reti/validatorRegistry.algo.ts:1341", "pc": [ 4981 ] }, { "teal": 5275, "source": "examples/reti/validatorRegistry.algo.ts:1341", "pc": [ 4982, 4983 ] }, { "teal": 5279, "source": "examples/reti/validatorRegistry.algo.ts:1342", "pc": [ 4984, 4985 ] }, { "teal": 5280, "source": "examples/reti/validatorRegistry.algo.ts:1342", "pc": [ 4986, 4987 ] }, { "teal": 5281, "source": "examples/reti/validatorRegistry.algo.ts:1342", "pc": [ 4988 ] }, { "teal": 5282, "source": "examples/reti/validatorRegistry.algo.ts:1342", "pc": [ 4989, 4990 ] }, { "teal": 5283, "source": "examples/reti/validatorRegistry.algo.ts:1342", "pc": [ 4991 ] }, { "teal": 5284, "source": "examples/reti/validatorRegistry.algo.ts:1342", "pc": [ 4992 ] }, { "teal": 5285, "source": "examples/reti/validatorRegistry.algo.ts:1342", "pc": [ 4993, 4994 ] }, { "teal": 5286, "source": "examples/reti/validatorRegistry.algo.ts:1342", "pc": [ 4995 ] }, { "teal": 5287, "source": "examples/reti/validatorRegistry.algo.ts:1342", "pc": [ 4996, 4997 ] }, { "teal": 5291, "source": "examples/reti/validatorRegistry.algo.ts:1343", "pc": [ 4998, 4999, 5000 ] }, { "teal": 5292, "source": "examples/reti/validatorRegistry.algo.ts:1343", "pc": [ 5001 ] }, { "teal": 5293, "source": "examples/reti/validatorRegistry.algo.ts:1343", "pc": [ 5002 ] }, { "teal": 5294, "source": "examples/reti/validatorRegistry.algo.ts:1343", "pc": [ 5003, 5004 ] }, { "teal": 5295, "source": "examples/reti/validatorRegistry.algo.ts:1343", "pc": [ 5005 ] }, { "teal": 5296, "source": "examples/reti/validatorRegistry.algo.ts:1343", "pc": [ 5006 ] }, { "teal": 5297, "source": "examples/reti/validatorRegistry.algo.ts:1343", "pc": [ 5007, 5008 ] }, { "teal": 5298, "source": "examples/reti/validatorRegistry.algo.ts:1343", "pc": [ 5009 ] }, { "teal": 5299, "source": "examples/reti/validatorRegistry.algo.ts:1343", "pc": [ 5010 ] }, { "teal": 5300, "source": "examples/reti/validatorRegistry.algo.ts:1343", "pc": [ 5011, 5012 ] }, { "teal": 5304, "source": "examples/reti/validatorRegistry.algo.ts:1345", "pc": [ 5013, 5014 ] }, { "teal": 5305, "source": "examples/reti/validatorRegistry.algo.ts:1345", "pc": [ 5015 ] }, { "teal": 5306, "source": "examples/reti/validatorRegistry.algo.ts:1345", "pc": [ 5016 ] }, { "teal": 5307, "source": "examples/reti/validatorRegistry.algo.ts:1345", "pc": [ 5017 ] }, { "teal": 5308, "source": "examples/reti/validatorRegistry.algo.ts:1345", "pc": [ 5018, 5019, 5020 ] }, { "teal": 5309, "source": "examples/reti/validatorRegistry.algo.ts:1345", "pc": [ 5021, 5022 ] }, { "teal": 5310, "source": "examples/reti/validatorRegistry.algo.ts:1345", "pc": [ 5023 ] }, { "teal": 5311, "source": "examples/reti/validatorRegistry.algo.ts:1345", "pc": [ 5024 ] }, { "teal": 5312, "source": "examples/reti/validatorRegistry.algo.ts:1345", "pc": [ 5025 ] }, { "teal": 5316, "source": "examples/reti/validatorRegistry.algo.ts:1345", "errorMessage": "node number not in valid range", "pc": [ 5026 ] }, { "teal": 5320, "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ 5027 ] }, { "teal": 5321, "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ 5028, 5029 ] }, { "teal": 5326, "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ 5030, 5031 ] }, { "teal": 5327, "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ 5032, 5033 ] }, { "teal": 5328, "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ 5034 ] }, { "teal": 5329, "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ 5035, 5036, 5037 ] }, { "teal": 5334, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ 5038, 5039 ] }, { "teal": 5335, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ 5040 ] }, { "teal": 5336, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ 5041, 5042 ] }, { "teal": 5337, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ 5043 ] }, { "teal": 5338, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ 5044 ] }, { "teal": 5339, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ 5045 ] }, { "teal": 5340, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ 5046 ] }, { "teal": 5341, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ 5047 ] }, { "teal": 5342, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ 5048 ] }, { "teal": 5343, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ 5049 ] }, { "teal": 5344, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ 5050, 5051 ] }, { "teal": 5345, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ 5052 ] }, { "teal": 5346, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ 5053 ] }, { "teal": 5347, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ 5054 ] }, { "teal": 5348, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ 5055 ] }, { "teal": 5349, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ 5056 ] }, { "teal": 5350, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ 5057 ] }, { "teal": 5351, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ 5058 ] }, { "teal": 5352, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ 5059 ] }, { "teal": 5353, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ 5060, 5061, 5062 ] }, { "teal": 5358, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ 5063, 5064 ] }, { "teal": 5359, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ 5065, 5066 ] }, { "teal": 5360, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ 5067 ] }, { "teal": 5361, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ 5068 ] }, { "teal": 5362, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ 5069 ] }, { "teal": 5363, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ 5070 ] }, { "teal": 5364, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ 5071 ] }, { "teal": 5365, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ 5072 ] }, { "teal": 5366, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ 5073 ] }, { "teal": 5367, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ 5074, 5075 ] }, { "teal": 5368, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ 5076 ] }, { "teal": 5369, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ 5077 ] }, { "teal": 5370, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ 5078 ] }, { "teal": 5371, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ 5079, 5080 ] }, { "teal": 5372, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ 5081 ] }, { "teal": 5373, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ 5082 ] }, { "teal": 5374, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ 5083, 5084 ] }, { "teal": 5375, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ 5085 ] }, { "teal": 5376, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ 5086 ] }, { "teal": 5377, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ 5087, 5088 ] }, { "teal": 5378, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ 5089 ] }, { "teal": 5382, "source": "examples/reti/validatorRegistry.algo.ts:1351", "pc": [ 5090 ] }, { "teal": 5389, "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ 5091, 5092 ] }, { "teal": 5390, "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ 5093 ] }, { "teal": 5391, "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ 5094 ] }, { "teal": 5392, "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ 5095, 5096 ] }, { "teal": 5393, "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ 5097, 5098, 5099 ] }, { "teal": 5397, "source": "examples/reti/validatorRegistry.algo.ts:1354", "errorMessage": "no available space in specified node for this pool", "pc": [ 5100 ] }, { "teal": 5398, "source": "examples/reti/validatorRegistry.algo.ts:1341", "pc": [ 5101 ] }, { "teal": 5408, "source": "examples/reti/validatorRegistry.algo.ts:1364", "pc": [ 5102, 5103, 5104 ] }, { "teal": 5411, "source": "examples/reti/validatorRegistry.algo.ts:1364", "pc": [ 5105 ] }, { "teal": 5412, "source": "examples/reti/validatorRegistry.algo.ts:1364", "pc": [ 5106, 5107 ] }, { "teal": 5416, "source": "examples/reti/validatorRegistry.algo.ts:1365", "pc": [ 5108, 5109 ] }, { "teal": 5417, "source": "examples/reti/validatorRegistry.algo.ts:1365", "pc": [ 5110 ] }, { "teal": 5418, "source": "examples/reti/validatorRegistry.algo.ts:1365", "pc": [ 5111 ] }, { "teal": 5419, "source": "examples/reti/validatorRegistry.algo.ts:1365", "pc": [ 5112, 5113 ] }, { "teal": 5420, "source": "examples/reti/validatorRegistry.algo.ts:1365", "pc": [ 5114 ] }, { "teal": 5421, "source": "examples/reti/validatorRegistry.algo.ts:1365", "pc": [ 5115 ] }, { "teal": 5422, "source": "examples/reti/validatorRegistry.algo.ts:1365", "pc": [ 5116, 5117 ] }, { "teal": 5423, "source": "examples/reti/validatorRegistry.algo.ts:1365", "pc": [ 5118 ] }, { "teal": 5424, "source": "examples/reti/validatorRegistry.algo.ts:1365", "pc": [ 5119 ] }, { "teal": 5425, "source": "examples/reti/validatorRegistry.algo.ts:1365", "pc": [ 5120, 5121 ] }, { "teal": 5430, "source": "examples/reti/validatorRegistry.algo.ts:1366", "pc": [ 5122, 5123 ] }, { "teal": 5431, "source": "examples/reti/validatorRegistry.algo.ts:1366", "pc": [ 5124 ] }, { "teal": 5432, "source": "examples/reti/validatorRegistry.algo.ts:1366", "pc": [ 5125 ] }, { "teal": 5433, "source": "examples/reti/validatorRegistry.algo.ts:1366", "pc": [ 5126, 5127, 5128 ] }, { "teal": 5438, "source": "examples/reti/validatorRegistry.algo.ts:1367", "pc": [ 5129 ] }, { "teal": 5443, "source": "examples/reti/validatorRegistry.algo.ts:1369", "pc": [ 5130, 5131 ] }, { "teal": 5444, "source": "examples/reti/validatorRegistry.algo.ts:1369", "pc": [ 5132, 5133 ] }, { "teal": 5448, "source": "examples/reti/validatorRegistry.algo.ts:1370", "pc": [ 5134 ] }, { "teal": 5449, "source": "examples/reti/validatorRegistry.algo.ts:1370", "pc": [ 5135, 5136 ] }, { "teal": 5450, "source": "examples/reti/validatorRegistry.algo.ts:1370", "pc": [ 5137 ] }, { "teal": 5451, "source": "examples/reti/validatorRegistry.algo.ts:1370", "pc": [ 5138, 5139 ] }, { "teal": 5452, "source": "examples/reti/validatorRegistry.algo.ts:1370", "pc": [ 5140 ] }, { "teal": 5453, "source": "examples/reti/validatorRegistry.algo.ts:1370", "pc": [ 5141 ] }, { "teal": 5454, "source": "examples/reti/validatorRegistry.algo.ts:1370", "pc": [ 5142, 5143 ] }, { "teal": 5455, "source": "examples/reti/validatorRegistry.algo.ts:1370", "pc": [ 5144 ] }, { "teal": 5456, "source": "examples/reti/validatorRegistry.algo.ts:1370", "pc": [ 5145, 5146 ] }, { "teal": 5463, "source": "examples/reti/validatorRegistry.algo.ts:1374", "pc": [ 5147, 5148 ] }, { "teal": 5464, "source": "examples/reti/validatorRegistry.algo.ts:1374", "pc": [ 5149 ] }, { "teal": 5465, "source": "examples/reti/validatorRegistry.algo.ts:1374", "pc": [ 5150 ] }, { "teal": 5466, "source": "examples/reti/validatorRegistry.algo.ts:1374", "pc": [ 5151 ] }, { "teal": 5467, "source": "examples/reti/validatorRegistry.algo.ts:1374", "pc": [ 5152, 5153, 5154 ] }, { "teal": 5468, "source": "examples/reti/validatorRegistry.algo.ts:1375", "pc": [ 5155, 5156 ] }, { "teal": 5469, "source": "examples/reti/validatorRegistry.algo.ts:1375", "pc": [ 5157, 5158 ] }, { "teal": 5470, "source": "examples/reti/validatorRegistry.algo.ts:1375", "pc": [ 5159 ] }, { "teal": 5471, "source": "examples/reti/validatorRegistry.algo.ts:1374", "pc": [ 5160 ] }, { "teal": 5474, "source": "examples/reti/validatorRegistry.algo.ts:1375", "pc": [ 5161 ] }, { "teal": 5475, "source": "examples/reti/validatorRegistry.algo.ts:1375", "pc": [ 5162, 5163, 5164 ] }, { "teal": 5476, "source": "examples/reti/validatorRegistry.algo.ts:1376", "pc": [ 5165, 5166 ] }, { "teal": 5477, "source": "examples/reti/validatorRegistry.algo.ts:1376", "pc": [ 5167, 5168 ] }, { "teal": 5478, "source": "examples/reti/validatorRegistry.algo.ts:1376", "pc": [ 5169 ] }, { "teal": 5479, "source": "examples/reti/validatorRegistry.algo.ts:1375", "pc": [ 5170 ] }, { "teal": 5482, "source": "examples/reti/validatorRegistry.algo.ts:1373", "pc": [ 5171, 5172, 5173 ] }, { "teal": 5487, "source": "examples/reti/validatorRegistry.algo.ts:1378", "pc": [ 5174, 5175 ] }, { "teal": 5488, "source": "examples/reti/validatorRegistry.algo.ts:1378", "pc": [ 5176 ] }, { "teal": 5489, "source": "examples/reti/validatorRegistry.algo.ts:1378", "pc": [ 5177 ] }, { "teal": 5490, "source": "examples/reti/validatorRegistry.algo.ts:1378", "pc": [ 5178 ] }, { "teal": 5494, "source": "examples/reti/validatorRegistry.algo.ts:1379", "pc": [ 5179, 5180 ] }, { "teal": 5495, "source": "examples/reti/validatorRegistry.algo.ts:1379", "pc": [ 5181 ] }, { "teal": 5496, "source": "examples/reti/validatorRegistry.algo.ts:1379", "pc": [ 5182 ] }, { "teal": 5497, "source": "examples/reti/validatorRegistry.algo.ts:1379", "pc": [ 5183, 5184 ] }, { "teal": 5498, "source": "examples/reti/validatorRegistry.algo.ts:1379", "pc": [ 5185 ] }, { "teal": 5499, "source": "examples/reti/validatorRegistry.algo.ts:1379", "pc": [ 5186 ] }, { "teal": 5500, "source": "examples/reti/validatorRegistry.algo.ts:1379", "pc": [ 5187, 5188 ] }, { "teal": 5501, "source": "examples/reti/validatorRegistry.algo.ts:1379", "pc": [ 5189 ] }, { "teal": 5502, "source": "examples/reti/validatorRegistry.algo.ts:1379", "pc": [ 5190 ] }, { "teal": 5503, "source": "examples/reti/validatorRegistry.algo.ts:1379", "pc": [ 5191, 5192 ] }, { "teal": 5508, "source": "examples/reti/validatorRegistry.algo.ts:1380", "pc": [ 5193, 5194 ] }, { "teal": 5509, "source": "examples/reti/validatorRegistry.algo.ts:1380", "pc": [ 5195 ] }, { "teal": 5510, "source": "examples/reti/validatorRegistry.algo.ts:1380", "pc": [ 5196 ] }, { "teal": 5511, "source": "examples/reti/validatorRegistry.algo.ts:1380", "pc": [ 5197, 5198, 5199 ] }, { "teal": 5516, "source": "examples/reti/validatorRegistry.algo.ts:1381", "pc": [ 5200 ] }, { "teal": 5517, "source": "examples/reti/validatorRegistry.algo.ts:1381", "pc": [ 5201, 5202 ] }, { "teal": 5525, "source": "examples/reti/validatorRegistry.algo.ts:1384", "pc": [ 5203, 5204 ] }, { "teal": 5526, "source": "examples/reti/validatorRegistry.algo.ts:1384", "pc": [ 5205, 5206 ] }, { "teal": 5527, "source": "examples/reti/validatorRegistry.algo.ts:1384", "pc": [ 5207, 5208 ] }, { "teal": 5528, "source": "examples/reti/validatorRegistry.algo.ts:1384", "pc": [ 5209 ] }, { "teal": 5529, "source": "examples/reti/validatorRegistry.algo.ts:1384", "pc": [ 5210, 5211 ] }, { "teal": 5530, "source": "examples/reti/validatorRegistry.algo.ts:1384", "pc": [ 5212 ] }, { "teal": 5533, "source": "examples/reti/validatorRegistry.algo.ts:1383", "errorMessage": "must have required minimum balance of validator defined token to add stake", "pc": [ 5213 ] }, { "teal": 5539, "source": "examples/reti/validatorRegistry.algo.ts:1388", "pc": [ 5214, 5215 ] }, { "teal": 5540, "source": "examples/reti/validatorRegistry.algo.ts:1388", "pc": [ 5216 ] }, { "teal": 5541, "source": "examples/reti/validatorRegistry.algo.ts:1388", "pc": [ 5217 ] }, { "teal": 5542, "source": "examples/reti/validatorRegistry.algo.ts:1388", "pc": [ 5218, 5219, 5220 ] }, { "teal": 5550, "source": "examples/reti/validatorRegistry.algo.ts:1390", "pc": [ 5221, 5222 ] }, { "teal": 5551, "source": "examples/reti/validatorRegistry.algo.ts:1390", "pc": [ 5223, 5224 ] }, { "teal": 5552, "source": "examples/reti/validatorRegistry.algo.ts:1390", "pc": [ 5225 ] }, { "teal": 5553, "source": "examples/reti/validatorRegistry.algo.ts:1390", "pc": [ 5226, 5227 ] }, { "teal": 5554, "source": "examples/reti/validatorRegistry.algo.ts:1390", "pc": [ 5228, 5229, 5230 ] }, { "teal": 5555, "source": "examples/reti/validatorRegistry.algo.ts:1390", "pc": [ 5231 ] }, { "teal": 5558, "source": "examples/reti/validatorRegistry.algo.ts:1389", "errorMessage": "specified asset must be created by creator that the validator defined as a requirement to stake", "pc": [ 5232 ] }, { "teal": 5564, "source": "examples/reti/validatorRegistry.algo.ts:1394", "pc": [ 5233, 5234 ] }, { "teal": 5565, "source": "examples/reti/validatorRegistry.algo.ts:1394", "pc": [ 5235, 5236 ] }, { "teal": 5566, "source": "examples/reti/validatorRegistry.algo.ts:1394", "pc": [ 5237 ] }, { "teal": 5567, "source": "examples/reti/validatorRegistry.algo.ts:1394", "pc": [ 5238, 5239, 5240 ] }, { "teal": 5572, "source": "examples/reti/validatorRegistry.algo.ts:1395", "pc": [ 5241, 5242 ] }, { "teal": 5573, "source": "examples/reti/validatorRegistry.algo.ts:1395", "pc": [ 5243 ] }, { "teal": 5574, "source": "examples/reti/validatorRegistry.algo.ts:1395", "pc": [ 5244 ] }, { "teal": 5575, "source": "examples/reti/validatorRegistry.algo.ts:1395", "pc": [ 5245 ] }, { "teal": 5579, "source": "examples/reti/validatorRegistry.algo.ts:1396", "pc": [ 5246 ] }, { "teal": 5580, "source": "examples/reti/validatorRegistry.algo.ts:1396", "pc": [ 5247, 5248 ] }, { "teal": 5584, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5249, 5250 ] }, { "teal": 5585, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5251, 5252, 5253 ] }, { "teal": 5586, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5254 ] }, { "teal": 5587, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5255, 5256 ] }, { "teal": 5588, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5257, 5258, 5259 ] }, { "teal": 5589, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5260 ] }, { "teal": 5590, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5261, 5262 ] }, { "teal": 5591, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5263 ] }, { "teal": 5592, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5264, 5265 ] }, { "teal": 5598, "source": "examples/reti/validatorRegistry.algo.ts:1398", "pc": [ 5266, 5267 ] }, { "teal": 5599, "source": "examples/reti/validatorRegistry.algo.ts:1398", "pc": [ 5268, 5269 ] }, { "teal": 5600, "source": "examples/reti/validatorRegistry.algo.ts:1398", "pc": [ 5270 ] }, { "teal": 5601, "source": "examples/reti/validatorRegistry.algo.ts:1398", "pc": [ 5271, 5272, 5273 ] }, { "teal": 5606, "source": "examples/reti/validatorRegistry.algo.ts:1399", "pc": [ 5274 ] }, { "teal": 5607, "source": "examples/reti/validatorRegistry.algo.ts:1399", "pc": [ 5275, 5276 ] }, { "teal": 5608, "source": "examples/reti/validatorRegistry.algo.ts:1400", "pc": [ 5277, 5278, 5279 ] }, { "teal": 5614, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5280, 5281 ] }, { "teal": 5615, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5282 ] }, { "teal": 5616, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5283 ] }, { "teal": 5617, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5284 ] }, { "teal": 5618, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5285, 5286 ] }, { "teal": 5619, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5287 ] }, { "teal": 5620, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5288, 5289, 5290 ] }, { "teal": 5621, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5291, 5292 ] }, { "teal": 5622, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5293, 5294 ] }, { "teal": 5623, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5295, 5296 ] }, { "teal": 5624, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5297 ] }, { "teal": 5625, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5298 ] }, { "teal": 5626, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5299 ] }, { "teal": 5627, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5300, 5301 ] }, { "teal": 5628, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5302, 5303, 5304 ] }, { "teal": 5633, "source": "examples/reti/validatorRegistry.algo.ts:1403", "pc": [ 5305, 5306 ] }, { "teal": 5636, "source": "examples/reti/validatorRegistry.algo.ts:1403", "errorMessage": "specified asset must be identical to the asset id defined as a requirement to stake", "pc": [ 5307 ] }, { "teal": 5642, "source": "examples/reti/validatorRegistry.algo.ts:1405", "pc": [ 5308, 5309 ] }, { "teal": 5643, "source": "examples/reti/validatorRegistry.algo.ts:1405", "pc": [ 5310, 5311 ] }, { "teal": 5644, "source": "examples/reti/validatorRegistry.algo.ts:1405", "pc": [ 5312 ] }, { "teal": 5645, "source": "examples/reti/validatorRegistry.algo.ts:1405", "pc": [ 5313, 5314, 5315 ] }, { "teal": 5653, "source": "examples/reti/validatorRegistry.algo.ts:1409", "pc": [ 5316, 5317 ] }, { "teal": 5654, "source": "examples/reti/validatorRegistry.algo.ts:1409", "pc": [ 5318, 5319 ] }, { "teal": 5655, "source": "examples/reti/validatorRegistry.algo.ts:1409", "pc": [ 5320 ] }, { "teal": 5656, "source": "examples/reti/validatorRegistry.algo.ts:1409", "pc": [ 5321, 5322 ] }, { "teal": 5657, "source": "examples/reti/validatorRegistry.algo.ts:1409", "pc": [ 5323, 5324, 5325 ] }, { "teal": 5658, "source": "examples/reti/validatorRegistry.algo.ts:1409", "pc": [ 5326 ] }, { "teal": 5659, "source": "examples/reti/validatorRegistry.algo.ts:1409", "pc": [ 5327, 5328, 5329 ] }, { "teal": 5662, "source": "examples/reti/validatorRegistry.algo.ts:1408", "errorMessage": "specified asset must be created by creator that is one of the linked addresses in an nfd", "pc": [ 5330 ] }, { "teal": 5668, "source": "examples/reti/validatorRegistry.algo.ts:1413", "pc": [ 5331, 5332 ] }, { "teal": 5669, "source": "examples/reti/validatorRegistry.algo.ts:1413", "pc": [ 5333, 5334 ] }, { "teal": 5670, "source": "examples/reti/validatorRegistry.algo.ts:1413", "pc": [ 5335 ] }, { "teal": 5671, "source": "examples/reti/validatorRegistry.algo.ts:1413", "pc": [ 5336, 5337, 5338 ] }, { "teal": 5676, "source": "examples/reti/validatorRegistry.algo.ts:1415", "pc": [ 5339, 5340 ] }, { "teal": 5677, "source": "examples/reti/validatorRegistry.algo.ts:1415", "pc": [ 5341, 5342 ] }, { "teal": 5681, "source": "examples/reti/validatorRegistry.algo.ts:1416", "pc": [ 5343, 5344 ] }, { "teal": 5682, "source": "examples/reti/validatorRegistry.algo.ts:1416", "pc": [ 5345, 5346, 5347 ] }, { "teal": 5685, "source": "examples/reti/validatorRegistry.algo.ts:1416", "errorMessage": "provided NFD must be valid", "pc": [ 5348 ] }, { "teal": 5693, "source": "examples/reti/validatorRegistry.algo.ts:1420", "pc": [ 5349, 5350 ] }, { "teal": 5694, "source": "examples/reti/validatorRegistry.algo.ts:1420", "pc": [ 5351, 5352 ] }, { "teal": 5695, "source": "examples/reti/validatorRegistry.algo.ts:1420", "pc": [ 5353 ] }, { "teal": 5698, "source": "examples/reti/validatorRegistry.algo.ts:1420", "errorMessage": "global state value does not exist: AppID.fromUint64(userOfferedNFDAppID).globalState('i.owner.a')", "pc": [ 5354 ] }, { "teal": 5699, "source": "examples/reti/validatorRegistry.algo.ts:1420", "pc": [ 5355, 5356 ] }, { "teal": 5700, "source": "examples/reti/validatorRegistry.algo.ts:1420", "pc": [ 5357 ] }, { "teal": 5701, "source": "examples/reti/validatorRegistry.algo.ts:1420", "pc": [ 5358 ] }, { "teal": 5702, "source": "examples/reti/validatorRegistry.algo.ts:1420", "pc": [ 5359, 5360, 5361 ] }, { "teal": 5703, "source": "examples/reti/validatorRegistry.algo.ts:1421", "pc": [ 5362, 5363 ] }, { "teal": 5704, "source": "examples/reti/validatorRegistry.algo.ts:1421", "pc": [ 5364, 5365 ] }, { "teal": 5705, "source": "examples/reti/validatorRegistry.algo.ts:1421", "pc": [ 5366, 5367, 5368 ] }, { "teal": 5706, "source": "examples/reti/validatorRegistry.algo.ts:1420", "pc": [ 5369 ] }, { "teal": 5710, "source": "examples/reti/validatorRegistry.algo.ts:1419", "errorMessage": "provided nfd for entry isn't owned or linked to the staker", "pc": [ 5370 ] }, { "teal": 5718, "source": "examples/reti/validatorRegistry.algo.ts:1427", "pc": [ 5371, 5372 ] }, { "teal": 5719, "source": "examples/reti/validatorRegistry.algo.ts:1427", "pc": [ 5373, 5374, 5375, 5376, 5377, 5378, 5379, 5380, 5381, 5382, 5383, 5384, 5385, 5386, 5387 ] }, { "teal": 5720, "source": "examples/reti/validatorRegistry.algo.ts:1427", "pc": [ 5388 ] }, { "teal": 5723, "source": "examples/reti/validatorRegistry.algo.ts:1427", "errorMessage": "global state value does not exist: AppID.fromUint64(userOfferedNFDAppID).globalState('i.parentAppID')", "pc": [ 5389 ] }, { "teal": 5724, "source": "examples/reti/validatorRegistry.algo.ts:1427", "pc": [ 5390 ] }, { "teal": 5725, "source": "examples/reti/validatorRegistry.algo.ts:1428", "pc": [ 5391, 5392 ] }, { "teal": 5726, "source": "examples/reti/validatorRegistry.algo.ts:1428", "pc": [ 5393, 5394, 5395 ] }, { "teal": 5727, "source": "examples/reti/validatorRegistry.algo.ts:1428", "pc": [ 5396 ] }, { "teal": 5728, "source": "examples/reti/validatorRegistry.algo.ts:1427", "pc": [ 5397 ] }, { "teal": 5731, "source": "examples/reti/validatorRegistry.algo.ts:1426", "errorMessage": "specified nfd must be a segment of the nfd the validator specified as a requirement", "pc": [ 5398 ] }, { "teal": 5734, "source": "examples/reti/validatorRegistry.algo.ts:1364", "pc": [ 5399 ] }, { "teal": 5746, "source": "examples/reti/validatorRegistry.algo.ts:1443", "pc": [ 5400, 5401, 5402 ] }, { "teal": 5749, "source": "examples/reti/validatorRegistry.algo.ts:1443", "pc": [ 5403 ] }, { "teal": 5753, "source": "examples/reti/validatorRegistry.algo.ts:1445", "pc": [ 5404, 5405 ] }, { "teal": 5754, "source": "examples/reti/validatorRegistry.algo.ts:1445", "pc": [ 5406, 5407, 5408, 5409, 5410, 5411, 5412, 5413 ] }, { "teal": 5755, "source": "examples/reti/validatorRegistry.algo.ts:1445", "pc": [ 5414 ] }, { "teal": 5758, "source": "examples/reti/validatorRegistry.algo.ts:1445", "errorMessage": "global state value does not exist: AppID.fromUint64(nfdAppID).globalState('i.name')", "pc": [ 5415 ] }, { "teal": 5759, "source": "examples/reti/validatorRegistry.algo.ts:1445", "pc": [ 5416, 5417 ] }, { "teal": 5767, "source": "examples/reti/validatorRegistry.algo.ts:1447", "pc": [ 5418 ] }, { "teal": 5768, "source": "examples/reti/validatorRegistry.algo.ts:1447", "pc": [ 5419, 5420 ] }, { "teal": 5769, "source": "examples/reti/validatorRegistry.algo.ts:1447", "pc": [ 5421, 5422 ] }, { "teal": 5773, "source": "examples/reti/validatorRegistry.algo.ts:1448", "pc": [ 5423, 5424 ] }, { "teal": 5774, "source": "examples/reti/validatorRegistry.algo.ts:1448", "pc": [ 5425, 5426 ] }, { "teal": 5778, "source": "examples/reti/validatorRegistry.algo.ts:1449", "pc": [ 5427, 5428 ] }, { "teal": 5779, "source": "examples/reti/validatorRegistry.algo.ts:1449", "pc": [ 5429, 5430 ] }, { "teal": 5780, "source": "examples/reti/validatorRegistry.algo.ts:1449", "pc": [ 5431, 5432 ] }, { "teal": 5781, "source": "examples/reti/validatorRegistry.algo.ts:1449", "pc": [ 5433, 5434 ] }, { "teal": 5782, "source": "examples/reti/validatorRegistry.algo.ts:1449", "pc": [ 5435, 5436 ] }, { "teal": 5783, "source": "examples/reti/validatorRegistry.algo.ts:1449", "pc": [ 5437 ] }, { "teal": 5784, "source": "examples/reti/validatorRegistry.algo.ts:1449", "pc": [ 5438, 5439 ] }, { "teal": 5788, "source": "examples/reti/validatorRegistry.algo.ts:1450", "pc": [ 5440, 5441 ] }, { "teal": 5789, "source": "examples/reti/validatorRegistry.algo.ts:1450", "pc": [ 5442, 5443 ] }, { "teal": 5792, "source": "examples/reti/validatorRegistry.algo.ts:1447", "pc": [ 5444 ] }, { "teal": 5793, "source": "examples/reti/validatorRegistry.algo.ts:1447", "pc": [ 5445, 5446 ] }, { "teal": 5796, "source": "examples/reti/validatorRegistry.algo.ts:1447", "pc": [ 5447 ] }, { "teal": 5800, "source": "examples/reti/validatorRegistry.algo.ts:1452", "pc": [ 5448, 5449 ] }, { "teal": 5801, "source": "examples/reti/validatorRegistry.algo.ts:1452", "pc": [ 5450 ] }, { "teal": 5802, "source": "examples/reti/validatorRegistry.algo.ts:1452", "pc": [ 5451 ] }, { "teal": 5803, "source": "examples/reti/validatorRegistry.algo.ts:1452", "pc": [ 5452 ] }, { "teal": 5806, "source": "examples/reti/validatorRegistry.algo.ts:1443", "pc": [ 5453, 5454 ] }, { "teal": 5807, "source": "examples/reti/validatorRegistry.algo.ts:1443", "pc": [ 5455 ] }, { "teal": 5818, "source": "examples/reti/validatorRegistry.algo.ts:1463", "pc": [ 5456, 5457, 5458 ] }, { "teal": 5821, "source": "examples/reti/validatorRegistry.algo.ts:1463", "pc": [ 5459 ] }, { "teal": 5822, "source": "examples/reti/validatorRegistry.algo.ts:1463", "pc": [ 5460, 5461 ] }, { "teal": 5829, "source": "examples/reti/validatorRegistry.algo.ts:1464", "pc": [ 5462 ] }, { "teal": 5830, "source": "examples/reti/validatorRegistry.algo.ts:1464", "pc": [ 5463, 5464 ] }, { "teal": 5831, "source": "examples/reti/validatorRegistry.algo.ts:1464", "pc": [ 5465, 5466 ] }, { "teal": 5835, "source": "examples/reti/validatorRegistry.algo.ts:1465", "pc": [ 5467, 5468 ] }, { "teal": 5836, "source": "examples/reti/validatorRegistry.algo.ts:1465", "pc": [ 5469, 5470 ] }, { "teal": 5840, "source": "examples/reti/validatorRegistry.algo.ts:1466", "pc": [ 5471, 5472, 5473, 5474, 5475, 5476, 5477, 5478, 5479, 5480, 5481, 5482, 5483, 5484, 5485 ] }, { "teal": 5841, "source": "examples/reti/validatorRegistry.algo.ts:1466", "pc": [ 5486, 5487 ] }, { "teal": 5842, "source": "examples/reti/validatorRegistry.algo.ts:1466", "pc": [ 5488, 5489, 5490, 5491, 5492, 5493, 5494, 5495, 5496, 5497, 5498, 5499, 5500, 5501, 5502 ] }, { "teal": 5843, "source": "examples/reti/validatorRegistry.algo.ts:1466", "pc": [ 5503, 5504 ] }, { "teal": 5846, "source": "examples/reti/validatorRegistry.algo.ts:1464", "pc": [ 5505 ] }, { "teal": 5847, "source": "examples/reti/validatorRegistry.algo.ts:1464", "pc": [ 5506, 5507 ] }, { "teal": 5850, "source": "examples/reti/validatorRegistry.algo.ts:1464", "pc": [ 5508 ] }, { "teal": 5854, "source": "examples/reti/validatorRegistry.algo.ts:1468", "pc": [ 5509, 5510 ] }, { "teal": 5855, "source": "examples/reti/validatorRegistry.algo.ts:1468", "pc": [ 5511, 5512 ] }, { "teal": 5859, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ 5513 ] }, { "teal": 5860, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ 5514, 5515 ] }, { "teal": 5865, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ 5516, 5517 ] }, { "teal": 5866, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ 5518, 5519 ] }, { "teal": 5867, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ 5520 ] }, { "teal": 5868, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ 5521 ] }, { "teal": 5869, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ 5522, 5523, 5524 ] }, { "teal": 5873, "source": "examples/reti/validatorRegistry.algo.ts:1470", "pc": [ 5525, 5526 ] }, { "teal": 5874, "source": "examples/reti/validatorRegistry.algo.ts:1470", "pc": [ 5527, 5528 ] }, { "teal": 5875, "source": "examples/reti/validatorRegistry.algo.ts:1470", "pc": [ 5529, 5530 ] }, { "teal": 5876, "source": "examples/reti/validatorRegistry.algo.ts:1470", "pc": [ 5531 ] }, { "teal": 5877, "source": "examples/reti/validatorRegistry.algo.ts:1470", "pc": [ 5532, 5533 ] }, { "teal": 5882, "source": "examples/reti/validatorRegistry.algo.ts:1471", "pc": [ 5534, 5535 ] }, { "teal": 5883, "source": "examples/reti/validatorRegistry.algo.ts:1471", "pc": [ 5536, 5537 ] }, { "teal": 5884, "source": "examples/reti/validatorRegistry.algo.ts:1471", "pc": [ 5538 ] }, { "teal": 5885, "source": "examples/reti/validatorRegistry.algo.ts:1471", "pc": [ 5539 ] }, { "teal": 5886, "source": "examples/reti/validatorRegistry.algo.ts:1471", "pc": [ 5540, 5541, 5542 ] }, { "teal": 5887, "source": "examples/reti/validatorRegistry.algo.ts:1471", "pc": [ 5543, 5544 ] }, { "teal": 5888, "source": "examples/reti/validatorRegistry.algo.ts:1471", "pc": [ 5545, 5546 ] }, { "teal": 5889, "source": "examples/reti/validatorRegistry.algo.ts:1471", "pc": [ 5547 ] }, { "teal": 5890, "source": "examples/reti/validatorRegistry.algo.ts:1471", "pc": [ 5548 ] }, { "teal": 5893, "source": "examples/reti/validatorRegistry.algo.ts:1471", "pc": [ 5549, 5550, 5551 ] }, { "teal": 5898, "source": "examples/reti/validatorRegistry.algo.ts:1472", "pc": [ 5552 ] }, { "teal": 5899, "source": "examples/reti/validatorRegistry.algo.ts:1472", "pc": [ 5553, 5554, 5555 ] }, { "teal": 5906, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ 5556, 5557 ] }, { "teal": 5907, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ 5558, 5559 ] }, { "teal": 5908, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ 5560 ] }, { "teal": 5909, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ 5561, 5562 ] }, { "teal": 5910, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ 5563, 5564, 5565 ] }, { "teal": 5915, "source": "examples/reti/validatorRegistry.algo.ts:1475", "pc": [ 5566 ] }, { "teal": 5919, "source": "examples/reti/validatorRegistry.algo.ts:1463", "pc": [ 5567, 5568 ] }, { "teal": 5922, "source": "examples/reti/validatorRegistry.algo.ts:1463", "pc": [ 5569, 5570 ] }, { "teal": 5923, "source": "examples/reti/validatorRegistry.algo.ts:1463", "pc": [ 5571 ] }, { "teal": 5931, "source": "examples/reti/validatorRegistry.algo.ts:1483", "pc": [ 5572, 5573, 5574 ] }, { "teal": 5934, "source": "examples/reti/validatorRegistry.algo.ts:1483", "pc": [ 5575 ] }, { "teal": 5938, "source": "examples/reti/validatorRegistry.algo.ts:1484", "pc": [ 5576, 5577, 5578 ] }, { "teal": 5939, "source": "examples/reti/validatorRegistry.algo.ts:1484", "pc": [ 5579, 5580 ] }, { "teal": 5943, "source": "examples/reti/validatorRegistry.algo.ts:1486", "pc": [ 5581, 5582 ] }, { "teal": 5944, "source": "examples/reti/validatorRegistry.algo.ts:1486", "pc": [ 5583, 5584 ] }, { "teal": 5945, "source": "examples/reti/validatorRegistry.algo.ts:1486", "pc": [ 5585 ] }, { "teal": 5946, "source": "examples/reti/validatorRegistry.algo.ts:1486", "pc": [ 5586 ] }, { "teal": 5947, "source": "examples/reti/validatorRegistry.algo.ts:1486", "pc": [ 5587, 5588 ] }, { "teal": 5948, "source": "examples/reti/validatorRegistry.algo.ts:1486", "pc": [ 5589 ] }, { "teal": 5949, "source": "examples/reti/validatorRegistry.algo.ts:1486", "pc": [ 5590 ] }, { "teal": 5950, "source": "examples/reti/validatorRegistry.algo.ts:1486", "pc": [ 5591 ] }, { "teal": 5951, "source": "examples/reti/validatorRegistry.algo.ts:1486", "pc": [ 5592 ] }, { "teal": 5952, "source": "examples/reti/validatorRegistry.algo.ts:1486", "pc": [ 5593 ] }, { "teal": 5955, "source": "examples/reti/validatorRegistry.algo.ts:1486", "errorMessage": "wideRatio failed", "pc": [ 5594 ] }, { "teal": 5958, "source": "examples/reti/validatorRegistry.algo.ts:1483", "pc": [ 5595, 5596 ] }, { "teal": 5959, "source": "examples/reti/validatorRegistry.algo.ts:1483", "pc": [ 5597 ] }, { "teal": 5966, "source": "examples/reti/validatorRegistry.algo.ts:1493", "pc": [ 5598, 5599, 5600 ] }, { "teal": 5969, "source": "examples/reti/validatorRegistry.algo.ts:1493", "pc": [ 5601 ] }, { "teal": 5973, "source": "examples/reti/validatorRegistry.algo.ts:1494", "pc": [ 5602, 5603, 5604 ] }, { "teal": 5974, "source": "examples/reti/validatorRegistry.algo.ts:1494", "pc": [ 5605, 5606 ] }, { "teal": 5978, "source": "examples/reti/validatorRegistry.algo.ts:1496", "pc": [ 5607, 5608 ] }, { "teal": 5979, "source": "examples/reti/validatorRegistry.algo.ts:1496", "pc": [ 5609, 5610, 5611 ] }, { "teal": 5980, "source": "examples/reti/validatorRegistry.algo.ts:1496", "pc": [ 5612 ] }, { "teal": 5981, "source": "examples/reti/validatorRegistry.algo.ts:1496", "pc": [ 5613 ] }, { "teal": 5982, "source": "examples/reti/validatorRegistry.algo.ts:1496", "pc": [ 5614, 5615 ] }, { "teal": 5983, "source": "examples/reti/validatorRegistry.algo.ts:1496", "pc": [ 5616 ] }, { "teal": 5984, "source": "examples/reti/validatorRegistry.algo.ts:1496", "pc": [ 5617 ] }, { "teal": 5985, "source": "examples/reti/validatorRegistry.algo.ts:1496", "pc": [ 5618 ] }, { "teal": 5986, "source": "examples/reti/validatorRegistry.algo.ts:1496", "pc": [ 5619 ] }, { "teal": 5987, "source": "examples/reti/validatorRegistry.algo.ts:1496", "pc": [ 5620 ] }, { "teal": 5990, "source": "examples/reti/validatorRegistry.algo.ts:1496", "errorMessage": "wideRatio failed", "pc": [ 5621 ] }, { "teal": 5993, "source": "examples/reti/validatorRegistry.algo.ts:1493", "pc": [ 5622, 5623 ] }, { "teal": 5994, "source": "examples/reti/validatorRegistry.algo.ts:1493", "pc": [ 5624 ] }, { "teal": 6000, "source": "examples/reti/validatorRegistry.algo.ts:1502", "pc": [ 5625, 5626, 5627 ] }, { "teal": 6004, "source": "examples/reti/validatorRegistry.algo.ts:1504", "pc": [ 5628, 5629, 5630, 5631, 5632, 5633, 5634, 5635 ] }, { "teal": 6005, "source": "examples/reti/validatorRegistry.algo.ts:1502", "pc": [ 5636 ] }, { "teal": 6009, "source": "examples/reti/validatorRegistry.algo.ts:1507", "pc": [ 5637, 5638, 5639 ] }, { "teal": 6013, "source": "examples/reti/validatorRegistry.algo.ts:1509", "pc": [ 5640, 5641, 5642, 5643, 5644, 5645, 5646, 5647, 5648 ] }, { "teal": 6014, "source": "examples/reti/validatorRegistry.algo.ts:1507", "pc": [ 5649 ] }, { "teal": 6018, "source": "examples/reti/validatorRegistry.algo.ts:1512", "pc": [ 5650, 5651, 5652 ] }, { "teal": 6021, "source": "examples/reti/validatorRegistry.algo.ts:1512", "pc": [ 5653 ] }, { "teal": 6025, "source": "examples/reti/validatorRegistry.algo.ts:1521", "pc": [ 5654, 5655 ] }, { "teal": 6026, "source": "examples/reti/validatorRegistry.algo.ts:1521", "pc": [ 5656, 5657 ] }, { "teal": 6030, "source": "examples/reti/validatorRegistry.algo.ts:1522", "pc": [ 5658, 5659 ] }, { "teal": 6031, "source": "examples/reti/validatorRegistry.algo.ts:1522", "pc": [ 5660, 5661 ] }, { "teal": 6032, "source": "examples/reti/validatorRegistry.algo.ts:1522", "pc": [ 5662, 5663 ] }, { "teal": 6033, "source": "examples/reti/validatorRegistry.algo.ts:1522", "pc": [ 5664 ] }, { "teal": 6034, "source": "examples/reti/validatorRegistry.algo.ts:1522", "pc": [ 5665 ] }, { "teal": 6035, "source": "examples/reti/validatorRegistry.algo.ts:1522", "pc": [ 5666, 5667 ] }, { "teal": 6039, "source": "examples/reti/validatorRegistry.algo.ts:1523", "pc": [ 5668, 5669 ] }, { "teal": 6040, "source": "examples/reti/validatorRegistry.algo.ts:1523", "pc": [ 5670, 5671 ] }, { "teal": 6041, "source": "examples/reti/validatorRegistry.algo.ts:1523", "pc": [ 5672, 5673 ] }, { "teal": 6042, "source": "examples/reti/validatorRegistry.algo.ts:1523", "pc": [ 5674 ] }, { "teal": 6043, "source": "examples/reti/validatorRegistry.algo.ts:1523", "pc": [ 5675 ] }, { "teal": 6044, "source": "examples/reti/validatorRegistry.algo.ts:1523", "pc": [ 5676, 5677 ] }, { "teal": 6048, "source": "examples/reti/validatorRegistry.algo.ts:1524", "pc": [ 5678, 5679 ] }, { "teal": 6049, "source": "examples/reti/validatorRegistry.algo.ts:1524", "pc": [ 5680, 5681 ] }, { "teal": 6050, "source": "examples/reti/validatorRegistry.algo.ts:1524", "pc": [ 5682, 5683 ] }, { "teal": 6051, "source": "examples/reti/validatorRegistry.algo.ts:1524", "pc": [ 5684 ] }, { "teal": 6052, "source": "examples/reti/validatorRegistry.algo.ts:1524", "pc": [ 5685 ] }, { "teal": 6053, "source": "examples/reti/validatorRegistry.algo.ts:1524", "pc": [ 5686, 5687 ] }, { "teal": 6057, "source": "examples/reti/validatorRegistry.algo.ts:1525", "pc": [ 5688, 5689 ] }, { "teal": 6058, "source": "examples/reti/validatorRegistry.algo.ts:1525", "pc": [ 5690, 5691 ] }, { "teal": 6059, "source": "examples/reti/validatorRegistry.algo.ts:1525", "pc": [ 5692, 5693 ] }, { "teal": 6060, "source": "examples/reti/validatorRegistry.algo.ts:1525", "pc": [ 5694 ] }, { "teal": 6061, "source": "examples/reti/validatorRegistry.algo.ts:1525", "pc": [ 5695 ] }, { "teal": 6062, "source": "examples/reti/validatorRegistry.algo.ts:1525", "pc": [ 5696, 5697 ] }, { "teal": 6066, "source": "examples/reti/validatorRegistry.algo.ts:1526", "pc": [ 5698, 5699 ] }, { "teal": 6067, "source": "examples/reti/validatorRegistry.algo.ts:1526", "pc": [ 5700, 5701 ] }, { "teal": 6068, "source": "examples/reti/validatorRegistry.algo.ts:1526", "pc": [ 5702, 5703 ] }, { "teal": 6069, "source": "examples/reti/validatorRegistry.algo.ts:1526", "pc": [ 5704 ] }, { "teal": 6070, "source": "examples/reti/validatorRegistry.algo.ts:1526", "pc": [ 5705 ] }, { "teal": 6071, "source": "examples/reti/validatorRegistry.algo.ts:1526", "pc": [ 5706, 5707 ] }, { "teal": 6075, "source": "examples/reti/validatorRegistry.algo.ts:1527", "pc": [ 5708, 5709 ] }, { "teal": 6076, "source": "examples/reti/validatorRegistry.algo.ts:1527", "pc": [ 5710, 5711 ] }, { "teal": 6077, "source": "examples/reti/validatorRegistry.algo.ts:1527", "pc": [ 5712, 5713 ] }, { "teal": 6078, "source": "examples/reti/validatorRegistry.algo.ts:1527", "pc": [ 5714 ] }, { "teal": 6079, "source": "examples/reti/validatorRegistry.algo.ts:1527", "pc": [ 5715 ] }, { "teal": 6080, "source": "examples/reti/validatorRegistry.algo.ts:1527", "pc": [ 5716, 5717 ] }, { "teal": 6084, "source": "examples/reti/validatorRegistry.algo.ts:1528", "pc": [ 5718, 5719 ] }, { "teal": 6085, "source": "examples/reti/validatorRegistry.algo.ts:1528", "pc": [ 5720, 5721 ] }, { "teal": 6086, "source": "examples/reti/validatorRegistry.algo.ts:1528", "pc": [ 5722, 5723 ] }, { "teal": 6087, "source": "examples/reti/validatorRegistry.algo.ts:1528", "pc": [ 5724 ] }, { "teal": 6088, "source": "examples/reti/validatorRegistry.algo.ts:1528", "pc": [ 5725 ] }, { "teal": 6089, "source": "examples/reti/validatorRegistry.algo.ts:1528", "pc": [ 5726, 5727 ] }, { "teal": 6093, "source": "examples/reti/validatorRegistry.algo.ts:1529", "pc": [ 5728, 5729 ] }, { "teal": 6096, "source": "examples/reti/validatorRegistry.algo.ts:1512", "pc": [ 5730, 5731 ] }, { "teal": 6097, "source": "examples/reti/validatorRegistry.algo.ts:1512", "pc": [ 5732 ] }, { "teal": 6101, "source": "examples/reti/validatorRegistry.algo.ts:1532", "pc": [ 5733, 5734, 5735 ] }, { "teal": 6105, "source": "examples/reti/validatorRegistry.algo.ts:1536", "pc": [ 5736, 5737, 5738 ] }, { "teal": 6106, "source": "examples/reti/validatorRegistry.algo.ts:1536", "pc": [ 5739, 5740 ] }, { "teal": 6107, "source": "examples/reti/validatorRegistry.algo.ts:1536", "pc": [ 5741, 5742, 5743 ] }, { "teal": 6108, "source": "examples/reti/validatorRegistry.algo.ts:1536", "pc": [ 5744 ] }, { "teal": 6109, "source": "examples/reti/validatorRegistry.algo.ts:1536", "pc": [ 5745 ] }, { "teal": 6110, "source": "examples/reti/validatorRegistry.algo.ts:1532", "pc": [ 5746 ] }, { "teal": 6113, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5747, 5748, 5749, 5750, 5751, 5752 ] }, { "teal": 6114, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5753, 5754, 5755 ] }, { "teal": 6115, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5756, 5757, 5758, 5759 ] }, { "teal": 6118, "source": "examples/reti/validatorRegistry.algo.ts:168", "errorMessage": "this contract does not implement the given ABI method for create NoOp", "pc": [ 5760 ] }, { "teal": 6121, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5761, 5762, 5763, 5764, 5765, 5766 ] }, { "teal": 6122, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5767, 5768, 5769, 5770, 5771, 5772 ] }, { "teal": 6123, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5773, 5774, 5775, 5776, 5777, 5778 ] }, { "teal": 6124, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5779, 5780, 5781, 5782, 5783, 5784 ] }, { "teal": 6125, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5785, 5786, 5787, 5788, 5789, 5790 ] }, { "teal": 6126, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5791, 5792, 5793, 5794, 5795, 5796 ] }, { "teal": 6127, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5797, 5798, 5799, 5800, 5801, 5802 ] }, { "teal": 6128, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5803, 5804, 5805, 5806, 5807, 5808 ] }, { "teal": 6129, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5809, 5810, 5811, 5812, 5813, 5814 ] }, { "teal": 6130, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5815, 5816, 5817, 5818, 5819, 5820 ] }, { "teal": 6131, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5821, 5822, 5823, 5824, 5825, 5826 ] }, { "teal": 6132, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5827, 5828, 5829, 5830, 5831, 5832 ] }, { "teal": 6133, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5833, 5834, 5835, 5836, 5837, 5838 ] }, { "teal": 6134, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5839, 5840, 5841, 5842, 5843, 5844 ] }, { "teal": 6135, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5845, 5846, 5847, 5848, 5849, 5850 ] }, { "teal": 6136, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5851, 5852, 5853, 5854, 5855, 5856 ] }, { "teal": 6137, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5857, 5858, 5859, 5860, 5861, 5862 ] }, { "teal": 6138, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5863, 5864, 5865, 5866, 5867, 5868 ] }, { "teal": 6139, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5869, 5870, 5871, 5872, 5873, 5874 ] }, { "teal": 6140, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5875, 5876, 5877, 5878, 5879, 5880 ] }, { "teal": 6141, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5881, 5882, 5883, 5884, 5885, 5886 ] }, { "teal": 6142, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5887, 5888, 5889, 5890, 5891, 5892 ] }, { "teal": 6143, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5893, 5894, 5895, 5896, 5897, 5898 ] }, { "teal": 6144, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5899, 5900, 5901, 5902, 5903, 5904 ] }, { "teal": 6145, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5905, 5906, 5907, 5908, 5909, 5910 ] }, { "teal": 6146, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5911, 5912, 5913, 5914, 5915, 5916 ] }, { "teal": 6147, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5917, 5918, 5919, 5920, 5921, 5922 ] }, { "teal": 6148, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5923, 5924, 5925, 5926, 5927, 5928 ] }, { "teal": 6149, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5929, 5930, 5931, 5932, 5933, 5934 ] }, { "teal": 6150, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5935, 5936, 5937, 5938, 5939, 5940 ] }, { "teal": 6151, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5941, 5942, 5943, 5944, 5945, 5946 ] }, { "teal": 6152, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5947, 5948, 5949, 5950, 5951, 5952 ] }, { "teal": 6153, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5953, 5954, 5955, 5956, 5957, 5958 ] }, { "teal": 6154, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5959, 5960, 5961 ] }, { "teal": 6155, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 5962, 5963, 5964, 5965, 5966, 5967, 5968, 5969, 5970, 5971, 5972, 5973, 5974, 5975, 5976, 5977, 5978, 5979, 5980, 5981, 5982, 5983, 5984, 5985, 5986, 5987, 5988, 5989, 5990, 5991, 5992, 5993, 5994, 5995, 5996, 5997, 5998, 5999, 6000, 6001, 6002, 6003, 6004, 6005, 6006, 6007, 6008, 6009, 6010, 6011, 6012, 6013, 6014, 6015, 6016, 6017, 6018, 6019, 6020, 6021, 6022, 6023, 6024, 6025, 6026, 6027, 6028, 6029 ] }, { "teal": 6158, "source": "examples/reti/validatorRegistry.algo.ts:168", "errorMessage": "this contract does not implement the given ABI method for call NoOp", "pc": [ 6030 ] }, { "teal": 6161, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 6031, 6032, 6033, 6034, 6035, 6036 ] }, { "teal": 6162, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 6037, 6038, 6039 ] }, { "teal": 6163, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 6040, 6041, 6042, 6043 ] }, { "teal": 6166, "source": "examples/reti/validatorRegistry.algo.ts:168", "errorMessage": "this contract does not implement the given ABI method for call UpdateApplication", "pc": [ 6044 ] } ], "pcOffsetMethod": "cblocks" }, "clear": { "sourceInfo": [], "pcOffsetMethod": "none" } }, "source": { "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgOCAyNCAzMiAxOCAyNjggNiAyNDIgMyAyIDEwIDI1MiAyNjAgNzAwIDEwMDAwMCA5MDAgNDAgMjAwIFRNUExfbmZkUmVnaXN0cnlBcHBJZCA0IDcyIDE5MiAyNDQgMTAwMDAwMCA0MDk2IDUgMTYgMjI2IDMwMCA0MzIgODkyIDEwMDAgMjg1MDAgNTAwMDAgMTEgODAgMTQ1IDE1MyAyMDkKYnl0ZWNibG9jayAweDc2IDB4IDB4MTUxZjdjNzUgMHg3MzcwNzMgMHg3Mzc0NjE2YjY1NjQgMHgwMCAweDcwNmY2ZjZjNTQ2NTZkNzA2YzYxNzQ2NTQxNzA3MDcyNmY3NjYxNmM0Mjc5NzQ2NTczIDB4NmU3NTZkNTM3NDYxNmI2NTcyNzMgMHgwYTgxMDEgMHg2OTJlNmY3NzZlNjU3MjJlNjEgMHgwMDAwMDAwMDAwMDAwMDAwIDB4Njk2ZTY5NzQgMHg2ZTc1NmQ1NiAweDY5NzM1Zjc2NjE2YzY5NjQ1ZjZlNjY2NDVmNjE3MDcwNjk2NCAweDYzZjNmMjhiCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNy4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDcgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbiAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV91cGRhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgdXBkYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgdXBkYXRlQXBwbGljYXRpb24KCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIHVwZGF0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKdXBkYXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjAyCgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyID09PSBBZGRyZXNzLmZyb21BZGRyZXNzKCdMWjRWMklSVkxDWEZKSzRSRUpWNFRBR0VLRVlUQTJHTVI2VEMyMzQ0T0IzTDNBRjNNV1haNlpBRklRJykpCgl0eG4gU2VuZGVyCglwdXNoYnl0ZXMgMHg1ZTc5NWQyMjM1NThhZTU0YWI5MTIyNmJjOTgwYzQ1MTMxMzA2OGNjOGZhNjJkNmY5YzcwNzZiZDgwYmI2NWFmIC8vIGFkZHIgIkxaNFYySVJWTENYRkpLNFJFSlY0VEFHRUtFWVRBMkdNUjZUQzIzNDRPQjNMM0FGM01XWFo2WkFGSVEiCgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIwNAoJLy8gdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5kZWxldGUoKQoJYnl0ZWMgNiAvLyAgInBvb2xUZW1wbGF0ZUFwcHJvdmFsQnl0ZXMiCglib3hfZGVsCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIwNQoJLy8gdGhpcy5zdGFraW5nUG9vbEluaXRpYWxpemVkLnZhbHVlID0gZmFsc2UKCWJ5dGVjIDExIC8vICAiaW5pdCIKCWludGMgMCAvLyAwCglieXRlYyA1IC8vIDB4MDAKCWludGMgMCAvLyAwCgl1bmNvdmVyIDIKCXNldGJpdAoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgY3JlYXRlQXBwbGljYXRpb24KCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGNyZWF0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKY3JlYXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjA5CgkvLyB0aGlzLnN0YWtpbmdQb29sSW5pdGlhbGl6ZWQudmFsdWUgPSBmYWxzZQoJYnl0ZWMgMTEgLy8gICJpbml0IgoJaW50YyAwIC8vIDAKCWJ5dGVjIDUgLy8gMHgwMAoJaW50YyAwIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyMTAKCS8vIHRoaXMubnVtVmFsaWRhdG9ycy52YWx1ZSA9IDAKCWJ5dGVjIDEyIC8vICAibnVtViIKCWludGMgMCAvLyAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyMTEKCS8vIHRoaXMubnVtU3Rha2Vycy52YWx1ZSA9IDAKCWJ5dGVjIDcgLy8gICJudW1TdGFrZXJzIgoJaW50YyAwIC8vIDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIxMgoJLy8gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgPSAwCglieXRlYyA0IC8vICAic3Rha2VkIgoJaW50YyAwIC8vIDAKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGluaXRTdGFraW5nQ29udHJhY3QodWludDY0KXZvaWQKKmFiaV9yb3V0ZV9pbml0U3Rha2luZ0NvbnRyYWN0OgoJLy8gYXBwcm92YWxQcm9ncmFtU2l6ZTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBpbml0U3Rha2luZ0NvbnRyYWN0KHVpbnQ2NCl2b2lkCgljYWxsc3ViIGluaXRTdGFraW5nQ29udHJhY3QKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGluaXRTdGFraW5nQ29udHJhY3QoYXBwcm92YWxQcm9ncmFtU2l6ZTogdWludDY0KTogdm9pZAppbml0U3Rha2luZ0NvbnRyYWN0OgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIxNwoJLy8gdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5jcmVhdGUoYXBwcm92YWxQcm9ncmFtU2l6ZSkKCWJ5dGVjIDYgLy8gICJwb29sVGVtcGxhdGVBcHByb3ZhbEJ5dGVzIgoJZnJhbWVfZGlnIC0xIC8vIGFwcHJvdmFsUHJvZ3JhbVNpemU6IHVpbnQ2NAoJYm94X2NyZWF0ZQoJcG9wCglyZXRzdWIKCi8vIGxvYWRTdGFraW5nQ29udHJhY3REYXRhKHVpbnQ2NCxieXRlW10pdm9pZAoqYWJpX3JvdXRlX2xvYWRTdGFraW5nQ29udHJhY3REYXRhOgoJLy8gZGF0YTogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglleHRyYWN0IDIgMAoKCS8vIG9mZnNldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBsb2FkU3Rha2luZ0NvbnRyYWN0RGF0YSh1aW50NjQsYnl0ZVtdKXZvaWQKCWNhbGxzdWIgbG9hZFN0YWtpbmdDb250cmFjdERhdGEKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGxvYWRTdGFraW5nQ29udHJhY3REYXRhKG9mZnNldDogdWludDY0LCBkYXRhOiBieXRlcyk6IHZvaWQKbG9hZFN0YWtpbmdDb250cmFjdERhdGE6Cglwcm90byAyIDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjIxCgkvLyBhc3NlcnQoIXRoaXMuc3Rha2luZ1Bvb2xJbml0aWFsaXplZC52YWx1ZSkKCWJ5dGVjIDExIC8vICAiaW5pdCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDAgLy8gMAoJZ2V0Yml0CgkhCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjIyCgkvLyB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLnJlcGxhY2Uob2Zmc2V0LCBkYXRhKQoJYnl0ZWMgNiAvLyAgInBvb2xUZW1wbGF0ZUFwcHJvdmFsQnl0ZXMiCglmcmFtZV9kaWcgLTEgLy8gb2Zmc2V0OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBkYXRhOiBieXRlcwoJYm94X3JlcGxhY2UKCXJldHN1YgoKLy8gZmluYWxpemVTdGFraW5nQ29udHJhY3QoKXZvaWQKKmFiaV9yb3V0ZV9maW5hbGl6ZVN0YWtpbmdDb250cmFjdDoKCS8vIGV4ZWN1dGUgZmluYWxpemVTdGFraW5nQ29udHJhY3QoKXZvaWQKCWNhbGxzdWIgZmluYWxpemVTdGFraW5nQ29udHJhY3QKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGZpbmFsaXplU3Rha2luZ0NvbnRyYWN0KCk6IHZvaWQKZmluYWxpemVTdGFraW5nQ29udHJhY3Q6Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjI2CgkvLyB0aGlzLnN0YWtpbmdQb29sSW5pdGlhbGl6ZWQudmFsdWUgPSB0cnVlCglieXRlYyAxMSAvLyAgImluaXQiCglpbnRjIDEgLy8gMQoJYnl0ZWMgNSAvLyAweDAwCglpbnRjIDAgLy8gMAoJdW5jb3ZlciAyCglzZXRiaXQKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGdhcygpdm9pZAoqYWJpX3JvdXRlX2dhczoKCS8vIGV4ZWN1dGUgZ2FzKCl2b2lkCgljYWxsc3ViIGdhcwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2FzKCk6IHZvaWQKLy8KLy8gZ2FzIGlzIGEgZHVtbXkgbm8tb3AgY2FsbCB0aGF0IGNhbiBiZSB1c2VkIHRvIHBvb2wtdXAgcmVzb3VyY2UgcmVmZXJlbmNlcyBhbmQgb3Bjb2RlIGNvc3QKZ2FzOgoJcHJvdG8gMCAwCglyZXRzdWIKCi8vIGdldE1ickFtb3VudHMoKSh1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfZ2V0TWJyQW1vdW50czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBnZXRNYnJBbW91bnRzKCkodWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJY2FsbHN1YiBnZXRNYnJBbW91bnRzCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2V0TWJyQW1vdW50cygpOiBNYnJBbW91bnRzCi8vCi8vIFJldHVybnMgdGhlIE1CUiBhbW91bnRzIG5lZWRlZCBmb3IgdmFyaW91cyBhY3Rpb25zOgovLyBbCi8vIGFkZFZhbGlkYXRvck1icjogdWludDY0IC0gbWJyIG5lZWRlZCB0byBhZGQgYSBuZXcgdmFsaWRhdG9yIC0gcGFpZCB0byB2YWxpZGF0b3IgY29udHJhY3QKLy8gYWRkUG9vbE1icjogdWludDY0IC0gbWJyIG5lZWRlZCB0byBhZGQgYSBuZXcgcG9vbCAtIHBhaWQgdG8gdmFsaWRhdG9yCi8vIHBvb2xJbml0TWJyOiB1aW50NjQgLSBtYnIgbmVlZGVkIHRvIGluaXRTdG9yYWdlKCkgb2YgcG9vbCAtIHBhaWQgdG8gcG9vbCBpdHNlbGYKLy8gYWRkU3Rha2VyTWJyOiB1aW50NjQgLSBtYnIgc3Rha2VyIG5lZWRzIHRvIGFkZCB0byBmaXJzdCBzdGFraW5nIHBheW1lbnQgKHN0YXlzIHcvIHZhbGlkYXRvcikKLy8gXQpnZXRNYnJBbW91bnRzOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjI0NgoJLy8gcmV0dXJuIHsKCS8vICAgICAgIGFkZFZhbGlkYXRvck1icjogdGhpcy5jb3N0Rm9yQm94U3RvcmFnZSgxIC8qIHYgcHJlZml4ICovICsgbGVuPFZhbGlkYXRvcklkVHlwZT4oKSArIGxlbjxWYWxpZGF0b3JJbmZvPigpKSwKCS8vICAgICAgIGFkZFBvb2xNYnI6IHRoaXMubWluQmFsYW5jZUZvckFjY291bnQoCgkvLyAgICAgICAgIDEsCgkvLyAgICAgICAgIC8vIHdlIGNvdWxkIGNhbGN1bGF0ZSB0aGlzIGRpcmVjdGx5IGJ5IHJlZmVyZW5jaW5nIHRoZSBzaXplIG9mIHN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtIGJ1dCBpdCB3b3VsZAoJLy8gICAgICAgICAvLyBtZWFuIG91ciBjYWxsZXJzIHdvdWxkIGhhdmUgdG8gcmVmZXJlbmNlIHRoZSBib3ggQU5EIGJ1eSB1cCBpL28gLSBzbyBqdXN0IGdvIG1heCBvbiBleHRyYSBwYWdlcwoJLy8gICAgICAgICAzLAoJLy8gICAgICAgICAwLAoJLy8gICAgICAgICAwLAoJLy8gICAgICAgICAwLAoJLy8gICAgICAgICBTdGFraW5nUG9vbC5zY2hlbWEuZ2xvYmFsLm51bVVpbnQsCgkvLyAgICAgICAgIFN0YWtpbmdQb29sLnNjaGVtYS5nbG9iYWwubnVtQnl0ZVNsaWNlCgkvLyAgICAgICApLAoJLy8gICAgICAgcG9vbEluaXRNYnI6CgkvLyAgICAgICAgIEFMR09SQU5EX0FDQ09VTlRfTUlOX0JBTEFOQ0UgKwoJLy8gICAgICAgICB0aGlzLmNvc3RGb3JCb3hTdG9yYWdlKDcgLyogJ3N0YWtlcnMnIG5hbWUgKi8gKyBsZW48U3Rha2VkSW5mbz4oKSAqIE1BWF9TVEFLRVJTX1BFUl9QT09MKSwKCS8vICAgICAgIGFkZFN0YWtlck1icjoKCS8vICAgICAgICAgLy8gaG93IG11Y2ggdG8gY2hhcmdlIGZvciBmaXJzdCB0aW1lIGEgc3Rha2VyIGFkZHMgc3Rha2UgLSBzaW5jZSB3ZSBhZGQgYSB0cmFja2luZyBib3ggcGVyIHN0YWtlcgoJLy8gICAgICAgICB0aGlzLmNvc3RGb3JCb3hTdG9yYWdlKDMgLyogJ3NwcycgcHJlZml4ICovICsgbGVuPEFkZHJlc3M+KCkgKyBsZW48VmFsaWRhdG9yUG9vbEtleT4oKSAqIE1BWF9QT09MU19QRVJfU1RBS0VSKSwgLy8gc2l6ZSBvZiBrZXkgKyBhbGwgdmFsdWVzCgkvLyAgICAgfTsKCXB1c2hpbnQgMTEwMQoJY2FsbHN1YiBjb3N0Rm9yQm94U3RvcmFnZQoJaXRvYgoJaW50YyA5IC8vIDMKCWludGMgMzUgLy8gMTEKCWludGMgMCAvLyAwCglkdXBuIDIKCWludGMgOSAvLyAzCglpbnRjIDEgLy8gMQoJY2FsbHN1YiBtaW5CYWxhbmNlRm9yQWNjb3VudAoJaXRvYgoJY29uY2F0CglpbnRjIDE1IC8vIDEwMDAwMAoJcHVzaGludCAxMjgwNwoJY2FsbHN1YiBjb3N0Rm9yQm94U3RvcmFnZQoJKwoJaXRvYgoJY29uY2F0CglwdXNoaW50IDE3OQoJY2FsbHN1YiBjb3N0Rm9yQm94U3RvcmFnZQoJaXRvYgoJY29uY2F0CglyZXRzdWIKCi8vIGdldFByb3RvY29sQ29uc3RyYWludHMoKSh1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX2dldFByb3RvY29sQ29uc3RyYWludHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZ2V0UHJvdG9jb2xDb25zdHJhaW50cygpKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGdldFByb3RvY29sQ29uc3RyYWludHMKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnZXRQcm90b2NvbENvbnN0cmFpbnRzKCk6IENvbnN0cmFpbnRzCi8vCi8vIFJldHVybnMgdGhlIHByb3RvY29sIGNvbnN0cmFpbnRzIHNvIHRoYXQgVUlzIGNhbiBsaW1pdCB3aGF0IHVzZXJzIHNwZWNpZnkgZm9yIHZhbGlkYXRvciBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMuCmdldFByb3RvY29sQ29uc3RyYWludHM6Cglwcm90byAwIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjcyCgkvLyByZXR1cm4gewoJLy8gICAgICAgZXBvY2hQYXlvdXRSb3VuZHNNaW46IE1JTl9FUE9DSF9MRU5HVEgsCgkvLyAgICAgICBlcG9jaFBheW91dFJvdW5kc01heDogTUFYX0VQT0NIX0xFTkdUSCwKCS8vICAgICAgIG1pblBjdFRvVmFsaWRhdG9yV0ZvdXJEZWNpbWFsczogTUlOX1BDVF9UT19WQUxJREFUT1IsCgkvLyAgICAgICBtYXhQY3RUb1ZhbGlkYXRvcldGb3VyRGVjaW1hbHM6IE1BWF9QQ1RfVE9fVkFMSURBVE9SLAoJLy8gICAgICAgbWluRW50cnlTdGFrZTogTUlOX0FMR09fU1RBS0VfUEVSX1BPT0wsCgkvLyAgICAgICBtYXhBbGdvUGVyUG9vbDogdGhpcy5tYXhBbGdvQWxsb3dlZFBlclBvb2woKSwKCS8vICAgICAgIG1heEFsZ29QZXJWYWxpZGF0b3I6IHRoaXMubWF4QWxsb3dlZFN0YWtlKCksCgkvLyAgICAgICBhbXRDb25zaWRlcmVkU2F0dXJhdGVkOiB0aGlzLmFsZ29TYXR1cmF0aW9uTGV2ZWwoKSwKCS8vICAgICAgIG1heE5vZGVzOiBNQVhfTk9ERVMsCgkvLyAgICAgICBtYXhQb29sc1Blck5vZGU6IE1BWF9QT09MU19QRVJfTk9ERSwKCS8vICAgICAgIG1heFN0YWtlcnNQZXJQb29sOiBNQVhfU1RBS0VSU19QRVJfUE9PTCwKCS8vICAgICB9OwoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwZjQyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBmNDI0MDAwMDAwMDAwMDAwZjQyNDAKCWNhbGxzdWIgbWF4QWxnb0FsbG93ZWRQZXJQb29sCglpdG9iCgljb25jYXQKCWNhbGxzdWIgbWF4QWxsb3dlZFN0YWtlCglpdG9iCgljb25jYXQKCWNhbGxzdWIgYWxnb1NhdHVyYXRpb25MZXZlbAoJaXRvYgoJY29uY2F0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDA4Cgljb25jYXQKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDMKCWNvbmNhdAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDBjOAoJY29uY2F0CglyZXRzdWIKCi8vIGdldE51bVZhbGlkYXRvcnMoKXVpbnQ2NAoqYWJpX3JvdXRlX2dldE51bVZhbGlkYXRvcnM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZ2V0TnVtVmFsaWRhdG9ycygpdWludDY0CgljYWxsc3ViIGdldE51bVZhbGlkYXRvcnMKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnZXROdW1WYWxpZGF0b3JzKCk6IHVpbnQ2NAovLwovLyBSZXR1cm5zIHRoZSBjdXJyZW50IG51bWJlciBvZiB2YWxpZGF0b3JzCmdldE51bVZhbGlkYXRvcnM6Cglwcm90byAwIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjkyCgkvLyByZXR1cm4gdGhpcy5udW1WYWxpZGF0b3JzLnZhbHVlOwoJYnl0ZWMgMTIgLy8gICJudW1WIgoJYXBwX2dsb2JhbF9nZXQKCXJldHN1YgoKLy8gZ2V0VmFsaWRhdG9yQ29uZmlnKHVpbnQ2NCkodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKKmFiaV9yb3V0ZV9nZXRWYWxpZGF0b3JDb25maWc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGdldFZhbGlkYXRvckNvbmZpZyh1aW50NjQpKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGdldFZhbGlkYXRvckNvbmZpZwoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGdldFZhbGlkYXRvckNvbmZpZyh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlKTogVmFsaWRhdG9yQ29uZmlnCmdldFZhbGlkYXRvckNvbmZpZzoKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyOTcKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZzsKCWludGMgMCAvLyAwCglpbnRjIDggLy8gMjQyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglyZXRzdWIKCi8vIGdldFZhbGlkYXRvclN0YXRlKHVpbnQ2NCkodWludDE2LHVpbnQ2NCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX2dldFZhbGlkYXRvclN0YXRlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBnZXRWYWxpZGF0b3JTdGF0ZSh1aW50NjQpKHVpbnQxNix1aW50NjQsdWludDY0LHVpbnQ2NCkKCWNhbGxzdWIgZ2V0VmFsaWRhdG9yU3RhdGUKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnZXRWYWxpZGF0b3JTdGF0ZSh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlKTogVmFsaWRhdG9yQ3VyU3RhdGUKZ2V0VmFsaWRhdG9yU3RhdGU6Cglwcm90byAxIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzAyCgkvLyByZXR1cm4gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5zdGF0ZTsKCWludGMgOCAvLyAgaGVhZE9mZnNldAoJcHVzaGludCAyNgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBnZXRWYWxpZGF0b3JPd25lckFuZE1hbmFnZXIodWludDY0KShhZGRyZXNzLGFkZHJlc3MpCiphYmlfcm91dGVfZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBnZXRWYWxpZGF0b3JPd25lckFuZE1hbmFnZXIodWludDY0KShhZGRyZXNzLGFkZHJlc3MpCgljYWxsc3ViIGdldFZhbGlkYXRvck93bmVyQW5kTWFuYWdlcgoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGdldFZhbGlkYXRvck93bmVyQW5kTWFuYWdlcih2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlKTogW0FkZHJlc3MsIEFkZHJlc3NdCmdldFZhbGlkYXRvck93bmVyQW5kTWFuYWdlcjoKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozMDcKCS8vIHJldHVybiBbdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIsIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm1hbmFnZXJdOwoJaW50YyAyIC8vIDgKCWludGMgNCAvLyAzMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJaW50YyAxNyAvLyA0MAoJaW50YyA0IC8vIDMyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgljb25jYXQKCXJldHN1YgoKLy8gZ2V0UG9vbHModWludDY0KSh1aW50NjQsdWludDE2LHVpbnQ2NClbXQoqYWJpX3JvdXRlX2dldFBvb2xzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBnZXRQb29scyh1aW50NjQpKHVpbnQ2NCx1aW50MTYsdWludDY0KVtdCgljYWxsc3ViIGdldFBvb2xzCglkdXAKCWxlbgoJaW50YyA1IC8vIDE4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2V0UG9vbHModmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSk6IFBvb2xJbmZvW10KLy8KLy8gUmV0dXJuIGxpc3Qgb2YgYWxsIHBvb2xzIGZvciB0aGlzIHZhbGlkYXRvci4KLy8gQHBhcmFtIHt1aW50NjR9IHZhbGlkYXRvcklkCi8vIEByZXR1cm4ge1Bvb2xJbmZvW119IC0gYXJyYXkgb2YgcG9vbHMKLy8gTm90IGNhbGxhYmxlIGZyb20gb3RoZXIgY29udHJhY3RzIGJlY2F1c2UgPjFLIHJldHVybiBidXQgY2FuIGJlIGNhbGxlZCB3LyBzaW11bGF0ZSB3aGljaCBidW1wcyBsb2cgcmV0dXJucwpnZXRQb29sczoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CglkdXBuIDIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzE4CgkvLyByZXREYXRhOiBQb29sSW5mb1tdID0gW10KCWJ5dGVjIDEgLy8gMHgKCWZyYW1lX2J1cnkgMCAvLyByZXREYXRhOiBQb29sSW5mb1tdCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMxOQoJLy8gcG9vbFNldCA9IGNsb25lKHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUucG9vbHMpCglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWludGMgMzAgLy8gNDMyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDEgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50MTYsdWludDY0KVsyNF0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzIwCgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHBvb2xTZXQubGVuZ3RoOyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoKKmZvcl8wOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMyMAoJLy8gaSA8IHBvb2xTZXQubGVuZ3RoCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMyAvLyAyNAoJPAoJYnogKmZvcl8wX2VuZAoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzIxCgkvLyBwb29sU2V0W2ldLnBvb2xBcHBJZCA9PT0gMAoJZnJhbWVfZGlnIDEgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50MTYsdWludDY0KVsyNF0KCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyA1IC8vIDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMCAvLyAwCgkrCglpbnRjIDIgLy8gOAoJZXh0cmFjdDMKCWJ0b2kKCWludGMgMCAvLyAwCgk9PQoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCWIgKmZvcl8wX2VuZAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzI1CgkvLyByZXREYXRhLnB1c2gocG9vbFNldFtpXSkKCWZyYW1lX2RpZyAwIC8vIHJldERhdGE6IFBvb2xJbmZvW10KCWZyYW1lX2RpZyAxIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDE2LHVpbnQ2NClbMjRdCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDUgLy8gMTgKCWV4dHJhY3QzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyByZXREYXRhOiBQb29sSW5mb1tdCgoqZm9yXzBfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzIwCgkvLyBpICs9IDEKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCWIgKmZvcl8wCgoqZm9yXzBfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMyNwoJLy8gcmV0dXJuIHJldERhdGE7CglmcmFtZV9kaWcgMCAvLyByZXREYXRhOiBQb29sSW5mb1tdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMgoJcmV0c3ViCgovLyBnZXRQb29sQXBwSWQodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9nZXRQb29sQXBwSWQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIHBvb2xJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZ2V0UG9vbEFwcElkKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGdldFBvb2xBcHBJZAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGdldFBvb2xBcHBJZCh2YWxpZGF0b3JJZDogdWludDY0LCBwb29sSWQ6IHVpbnQ2NCk6IHVpbnQ2NApnZXRQb29sQXBwSWQ6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzM1CgkvLyBhc3NlcnQoCgkvLyAgICAgICBwb29sSWQgIT09IDAgJiYgcG9vbElkIDw9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUucG9vbHMubGVuZ3RoLAoJLy8gICAgICAgJ3Bvb2wgaWQgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIG51bWJlciBvZiBwb29scyBmb3IgdGhpcyB2YWxpZGF0b3InCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0yIC8vIHBvb2xJZDogdWludDY0CglpbnRjIDAgLy8gMAoJIT0KCWR1cAoJYnogKnNraXBfYW5kMAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xJZDogdWludDY0CglpbnRjIDMgLy8gMjQKCTw9CgkmJgoKKnNraXBfYW5kMDoKCS8vIHBvb2wgaWQgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIG51bWJlciBvZiBwb29scyBmb3IgdGhpcyB2YWxpZGF0b3IKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozMzkKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzW3Bvb2xJZCAtIDFdLnBvb2xBcHBJZDsKCWludGMgNiAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xJZDogdWludDY0CglpbnRjIDEgLy8gMQoJLQoJaW50YyA1IC8vIDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgMCAvLyAwCgkrCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJcmV0c3ViCgovLyBnZXRQb29sSW5mbygodWludDY0LHVpbnQ2NCx1aW50NjQpKSh1aW50NjQsdWludDE2LHVpbnQ2NCkKKmFiaV9yb3V0ZV9nZXRQb29sSW5mbzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gcG9vbEtleTogKHVpbnQ2NCx1aW50NjQsdWludDY0KQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMyAvLyAyNAoJPT0KCgkvLyBhcmd1bWVudCAwIChwb29sS2V5KSBmb3IgZ2V0UG9vbEluZm8gbXVzdCBiZSBhICh1aW50NjQsdWludDY0LHVpbnQ2NCkKCWFzc2VydAoKCS8vIGV4ZWN1dGUgZ2V0UG9vbEluZm8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0LHVpbnQxNix1aW50NjQpCgljYWxsc3ViIGdldFBvb2xJbmZvCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2V0UG9vbEluZm8ocG9vbEtleTogVmFsaWRhdG9yUG9vbEtleSk6IFBvb2xJbmZvCmdldFBvb2xJbmZvOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM0NAoJLy8gcmV0dXJuIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5wb29sc1twb29sS2V5LnBvb2xJZCAtIDFdOwoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMSAvLyAxCgktCglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyA1IC8vIDE4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBnZXRDdXJNYXhTdGFrZVBlclBvb2wodWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2dldEN1ck1heFN0YWtlUGVyUG9vbDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZ2V0Q3VyTWF4U3Rha2VQZXJQb29sKHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgZ2V0Q3VyTWF4U3Rha2VQZXJQb29sCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2V0Q3VyTWF4U3Rha2VQZXJQb29sKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUpOiB1aW50NjQKLy8KLy8gQ2FsY3VsYXRlIHRoZSBtYXhpbXVtIHN0YWtlIHBlciBwb29sIGZvciBhIGdpdmVuIHZhbGlkYXRvci4KLy8gTm9ybWFsbHkgdGhpcyB3b3VsZCBiZSBtYXhBbGdvUGVyUG9vbCwgYnV0IGl0IHNob3VsZCBhbHNvIG5ldmVyIGdvIGFib3ZlIE1heEFsbG93ZWRTdGFrZSAvIG51bVBvb2xzIHNvCi8vIGFzIHBvb2xzIGFyZSBhZGRlZCB0aGUgbWF4IGFsbG93ZWQgcGVyIHBvb2wgY2FuIHJlZHVjZS4KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IuCmdldEN1ck1heFN0YWtlUGVyUG9vbDoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CglkdXBuIDIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzU1CgkvLyBudW1Qb29scyA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUubnVtUG9vbHMgYXMgdWludDY0CglpbnRjIDggLy8gMjQyCglpbnRjIDEwIC8vIDIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyBudW1Qb29sczogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM1NgoJLy8gaGFyZE1heERpdmlkZWRCZXR3ZWVuUG9vbHMgPSB0aGlzLm1heEFsbG93ZWRTdGFrZSgpIC8gbnVtUG9vbHMKCWNhbGxzdWIgbWF4QWxsb3dlZFN0YWtlCglmcmFtZV9kaWcgMCAvLyBudW1Qb29sczogdWludDY0CgkvCglmcmFtZV9idXJ5IDEgLy8gaGFyZE1heERpdmlkZWRCZXR3ZWVuUG9vbHM6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNTcKCS8vIG1heFBlclBvb2w6IHVpbnQ2NCA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm1heEFsZ29QZXJQb29sCglwdXNoaW50IDIxNwoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyBtYXhQZXJQb29sOiB1aW50NjQKCgkvLyAqaWYxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM1OAoJLy8gbWF4UGVyUG9vbCA9PT0gMAoJZnJhbWVfZGlnIDIgLy8gbWF4UGVyUG9vbDogdWludDY0CglpbnRjIDAgLy8gMAoJPT0KCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzU5CgkvLyBtYXhQZXJQb29sID0gdGhpcy5tYXhBbGdvQWxsb3dlZFBlclBvb2woKQoJY2FsbHN1YiBtYXhBbGdvQWxsb3dlZFBlclBvb2wKCWZyYW1lX2J1cnkgMiAvLyBtYXhQZXJQb29sOiB1aW50NjQKCippZjFfZW5kOgoJLy8gKmlmMl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNjEKCS8vIGhhcmRNYXhEaXZpZGVkQmV0d2VlblBvb2xzIDwgbWF4UGVyUG9vbAoJZnJhbWVfZGlnIDEgLy8gaGFyZE1heERpdmlkZWRCZXR3ZWVuUG9vbHM6IHVpbnQ2NAoJZnJhbWVfZGlnIDIgLy8gbWF4UGVyUG9vbDogdWludDY0Cgk8CglieiAqaWYyX2VuZAoKCS8vICppZjJfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM2MgoJLy8gbWF4UGVyUG9vbCA9IGhhcmRNYXhEaXZpZGVkQmV0d2VlblBvb2xzCglmcmFtZV9kaWcgMSAvLyBoYXJkTWF4RGl2aWRlZEJldHdlZW5Qb29sczogdWludDY0CglmcmFtZV9idXJ5IDIgLy8gbWF4UGVyUG9vbDogdWludDY0CgoqaWYyX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNjQKCS8vIHJldHVybiBtYXhQZXJQb29sOwoJZnJhbWVfZGlnIDIgLy8gbWF4UGVyUG9vbDogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMgoJcmV0c3ViCgovLyBkb2VzU3Rha2VyTmVlZFRvUGF5TUJSKGFkZHJlc3MpYm9vbAoqYWJpX3JvdXRlX2RvZXNTdGFrZXJOZWVkVG9QYXlNQlI6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIHN0YWtlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgNCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChzdGFrZXIpIGZvciBkb2VzU3Rha2VyTmVlZFRvUGF5TUJSIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGRvZXNTdGFrZXJOZWVkVG9QYXlNQlIoYWRkcmVzcylib29sCgljYWxsc3ViIGRvZXNTdGFrZXJOZWVkVG9QYXlNQlIKCWJ5dGVjIDUgLy8gMHgwMAoJaW50YyAwIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0Cgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZG9lc1N0YWtlck5lZWRUb1BheU1CUihzdGFrZXI6IEFkZHJlc3MpOiBib29sZWFuCi8vCi8vIEhlbHBlciBjYWxsZXJzIGNhbiBjYWxsIHcvIHNpbXVsYXRlIHRvIGRldGVybWluZSBpZiAnQWRkU3Rha2VyJyBNQlIgc2hvdWxkIGJlIGluY2x1ZGVkIHcvIHN0YWtpbmcgYW1vdW50Ci8vIEBwYXJhbSBzdGFrZXIKZG9lc1N0YWtlck5lZWRUb1BheU1CUjoKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNzMKCS8vIHJldHVybiAhdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikuZXhpc3RzOwoJYnl0ZWMgMyAvLyAgInNwcyIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgkhCglyZXRzdWIKCi8vIGdldFN0YWtlZFBvb2xzRm9yQWNjb3VudChhZGRyZXNzKSh1aW50NjQsdWludDY0LHVpbnQ2NClbXQoqYWJpX3JvdXRlX2dldFN0YWtlZFBvb2xzRm9yQWNjb3VudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gc3Rha2VyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyA0IC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHN0YWtlcikgZm9yIGdldFN0YWtlZFBvb2xzRm9yQWNjb3VudCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBnZXRTdGFrZWRQb29sc0ZvckFjY291bnQoYWRkcmVzcykodWludDY0LHVpbnQ2NCx1aW50NjQpW10KCWNhbGxzdWIgZ2V0U3Rha2VkUG9vbHNGb3JBY2NvdW50CglkdXAKCWxlbgoJaW50YyAzIC8vIDI0CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2V0U3Rha2VkUG9vbHNGb3JBY2NvdW50KHN0YWtlcjogQWRkcmVzcyk6IFZhbGlkYXRvclBvb2xLZXlbXQovLwovLyBSZXRyaWV2ZXMgdGhlIHN0YWtlZCBwb29scyBmb3IgYW4gYWNjb3VudC4KLy8KLy8gQHBhcmFtIHtBZGRyZXNzfSBzdGFrZXIgLSBUaGUgYWNjb3VudCB0byByZXRyaWV2ZSBzdGFrZWQgcG9vbHMgZm9yLgovLyBAcmV0dXJuIHtWYWxpZGF0b3JQb29sS2V5W119IC0gVGhlIGFycmF5IG9mIHN0YWtlZCBwb29scyBmb3IgdGhlIGFjY291bnQuCmdldFN0YWtlZFBvb2xzRm9yQWNjb3VudDoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CglkdXBuIDIKCgkvLyAqaWYzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM4MwoJLy8gIXRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLmV4aXN0cwoJYnl0ZWMgMyAvLyAgInNwcyIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgkhCglieiAqaWYzX2VuZAoKCS8vICppZjNfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM4NAoJLy8gcmV0dXJuIFtdOwoJYnl0ZWMgMSAvLyAweAoJYiAqZ2V0U3Rha2VkUG9vbHNGb3JBY2NvdW50KnJldHVybgoKKmlmM19lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Mzg2CgkvLyByZXREYXRhOiBWYWxpZGF0b3JQb29sS2V5W10gPSBbXQoJYnl0ZWMgMSAvLyAweAoJZnJhbWVfYnVyeSAwIC8vIHJldERhdGE6IFZhbGlkYXRvclBvb2xLZXlbXQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozODcKCS8vIHBvb2xTZXQgPSBjbG9uZSh0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZSkKCWJ5dGVjIDMgLy8gICJzcHMiCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlCglhc3NlcnQKCWZyYW1lX2J1cnkgMSAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM4OAoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBwb29sU2V0Lmxlbmd0aDsgaSArPSAxKQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCipmb3JfMToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozODgKCS8vIGkgPCBwb29sU2V0Lmxlbmd0aAoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDcgLy8gNgoJPAoJYnogKmZvcl8xX2VuZAoKCS8vICppZjRfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Mzg5CgkvLyBwb29sU2V0W2ldLmlkICE9PSAwCglmcmFtZV9kaWcgMSAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDAgLy8gMAoJKwoJaW50YyAyIC8vIDgKCWV4dHJhY3QzCglidG9pCglpbnRjIDAgLy8gMAoJIT0KCWJ6ICppZjRfZW5kCgoJLy8gKmlmNF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzkwCgkvLyByZXREYXRhLnB1c2gocG9vbFNldFtpXSkKCWZyYW1lX2RpZyAwIC8vIHJldERhdGE6IFZhbGlkYXRvclBvb2xLZXlbXQoJZnJhbWVfZGlnIDEgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAzIC8vIDI0CglleHRyYWN0MwoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gcmV0RGF0YTogVmFsaWRhdG9yUG9vbEtleVtdCgoqaWY0X2VuZDoKCipmb3JfMV9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozODgKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzEKCipmb3JfMV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzkzCgkvLyByZXR1cm4gcmV0RGF0YTsKCWZyYW1lX2RpZyAwIC8vIHJldERhdGE6IFZhbGlkYXRvclBvb2xLZXlbXQoKKmdldFN0YWtlZFBvb2xzRm9yQWNjb3VudCpyZXR1cm46CgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCi8vIGdldFRva2VuUGF5b3V0UmF0aW8odWludDY0KSh1aW50NjRbMjRdLHVpbnQ2NCkKKmFiaV9yb3V0ZV9nZXRUb2tlblBheW91dFJhdGlvOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBnZXRUb2tlblBheW91dFJhdGlvKHVpbnQ2NCkodWludDY0WzI0XSx1aW50NjQpCgljYWxsc3ViIGdldFRva2VuUGF5b3V0UmF0aW8KCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnZXRUb2tlblBheW91dFJhdGlvKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUpOiBQb29sVG9rZW5QYXlvdXRSYXRpbwovLwovLyBSZXRyaWV2ZXMgdGhlIHRva2VuIHBheW91dCByYXRpbyBmb3IgYSBnaXZlbiB2YWxpZGF0b3IgLSByZXR1cm5pbmcgdGhlIHBvb2wgcmF0aW9zIG9mIHdob2xlIHNvIHRoYXQgdG9rZW4KLy8gcGF5b3V0cyBhY3Jvc3MgcG9vbHMgY2FuIGJlIGJhc2VkIG9uIGEgc3RhYmxlIHNuYXBob3N0IG9mIHN0YWtlLgovLwovLyBAcGFyYW0ge1ZhbGlkYXRvcklkVHlwZX0gdmFsaWRhdG9ySWQgLSBUaGUgaWQgb2YgdGhlIHZhbGlkYXRvci4KLy8gQHJldHVybiB7UG9vbFRva2VuUGF5b3V0UmF0aW99IC0gVGhlIHRva2VuIHBheW91dCByYXRpbyBmb3IgdGhlIHZhbGlkYXRvci4KZ2V0VG9rZW5QYXlvdXRSYXRpbzoKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0MDUKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW87CglpbnRjIDE0IC8vICBoZWFkT2Zmc2V0CglpbnRjIDE4IC8vIDIwMAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBnZXROb2RlUG9vbEFzc2lnbm1lbnRzKHVpbnQ2NCkoKHVpbnQ2NFszXSlbOF0pCiphYmlfcm91dGVfZ2V0Tm9kZVBvb2xBc3NpZ25tZW50czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZ2V0Tm9kZVBvb2xBc3NpZ25tZW50cyh1aW50NjQpKCh1aW50NjRbM10pWzhdKQoJY2FsbHN1YiBnZXROb2RlUG9vbEFzc2lnbm1lbnRzCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2V0Tm9kZVBvb2xBc3NpZ25tZW50cyh2YWxpZGF0b3JJZDogdWludDY0KTogTm9kZVBvb2xBc3NpZ25tZW50Q29uZmlnCmdldE5vZGVQb29sQXNzaWdubWVudHM6Cglwcm90byAxIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDEwCgkvLyBhc3NlcnQodGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS5leGlzdHMsICJ0aGUgc3BlY2lmaWVkIHZhbGlkYXRvciBpZCBkb2Vzbid0IGV4aXN0IikKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgoJLy8gdGhlIHNwZWNpZmllZCB2YWxpZGF0b3IgaWQgZG9lc24ndCBleGlzdAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQxMgoJLy8gcmV0dXJuIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUubm9kZVBvb2xBc3NpZ25tZW50czsKCWludGMgMTYgLy8gIGhlYWRPZmZzZXQKCWludGMgMjIgLy8gMTkyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglyZXRzdWIKCi8vIGdldE5GRFJlZ2lzdHJ5SUQoKXVpbnQ2NAoqYWJpX3JvdXRlX2dldE5GRFJlZ2lzdHJ5SUQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZ2V0TkZEUmVnaXN0cnlJRCgpdWludDY0CgljYWxsc3ViIGdldE5GRFJlZ2lzdHJ5SUQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnZXRORkRSZWdpc3RyeUlEKCk6IHVpbnQ2NApnZXRORkRSZWdpc3RyeUlEOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQxNgoJLy8gcmV0dXJuIHRoaXMubmZkUmVnaXN0cnlBcHBJZDsKCWludGMgMTkgLy8gVE1QTF9uZmRSZWdpc3RyeUFwcElkCglyZXRzdWIKCi8vIGFkZFZhbGlkYXRvcihwYXksc3RyaW5nLCh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KSl1aW50NjQKKmFiaV9yb3V0ZV9hZGRWYWxpZGF0b3I6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyA4IC8vIDI0MgoJPT0KCgkvLyBhcmd1bWVudCAwIChjb25maWcpIGZvciBhZGRWYWxpZGF0b3IgbXVzdCBiZSBhICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJYXNzZXJ0CgoJLy8gbmZkTmFtZTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIG1iclBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludGMgMSAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDEgLy8gIHBheQoJPT0KCgkvLyBhcmd1bWVudCAyIChtYnJQYXltZW50KSBmb3IgYWRkVmFsaWRhdG9yIG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgYWRkVmFsaWRhdG9yKHBheSxzdHJpbmcsKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpKXVpbnQ2NAoJY2FsbHN1YiBhZGRWYWxpZGF0b3IKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBhZGRWYWxpZGF0b3IobWJyUGF5bWVudDogUGF5VHhuLCBuZmROYW1lOiBzdHJpbmcsIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnKTogdWludDY0Ci8vCi8vIEFkZHMgYSBuZXcgdmFsaWRhdG9yCi8vIFJlcXVpcmVzIGF0IGxlYXN0IDEwIEFMR08gYXMgdGhlICdmZWUnIGZvciB0aGUgdHJhbnNhY3Rpb24gdG8gaGVscCBkaXNzdWFkZSBzcGFtbWVkIHZhbGlkYXRvciBhZGRzLgovLwovLyBAcGFyYW0ge1BheVR4bn0gbWJyUGF5bWVudCBwYXltZW50IGZyb20gY2FsbGVyIHdoaWNoIGNvdmVycyBtYnIgaW5jcmVhc2Ugb2YgbmV3IHZhbGlkYXRvciBzdG9yYWdlCi8vIEBwYXJhbSB7c3RyaW5nfSBuZmROYW1lIChPcHRpb25hbCkgTmFtZSBvZiBuZmQgKHVzZWQgYXMgZG91YmxlLWNoZWNrIGFnYWluc3QgaWQgc3BlY2lmaWVkIGluIGNvbmZpZykKLy8gQHBhcmFtIHtWYWxpZGF0b3JDb25maWd9IGNvbmZpZyBWYWxpZGF0b3JDb25maWcgc3RydWN0Ci8vIEByZXR1cm5zIHt1aW50NjR9IHZhbGlkYXRvciBpZAphZGRWYWxpZGF0b3I6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0MjgKCS8vIHRoaXMudmFsaWRhdGVDb25maWcoY29uZmlnKQoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCgljYWxsc3ViIHZhbGlkYXRlQ29uZmlnCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQyOQoJLy8gYXNzZXJ0KGNvbmZpZy5vd25lciAhPT0gQWRkcmVzcy56ZXJvQWRkcmVzcykKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCA4IDMyCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDMwCgkvLyBhc3NlcnQoY29uZmlnLm1hbmFnZXIgIT09IEFkZHJlc3MuemVyb0FkZHJlc3MpCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgNDAgMzIKCWdsb2JhbCBaZXJvQWRkcmVzcwoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0MzEKCS8vIGFzc2VydCh0aGlzLnR4bi5zZW5kZXIgPT09IGNvbmZpZy5vd25lciwgJ3NlbmRlciBtdXN0IGJlIG93bmVyIHRvIGFkZCBuZXcgdmFsaWRhdG9yJykKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCA4IDMyCgk9PQoKCS8vIHNlbmRlciBtdXN0IGJlIG93bmVyIHRvIGFkZCBuZXcgdmFsaWRhdG9yCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDMzCgkvLyB2ZXJpZnlQYXlUeG4obWJyUGF5bWVudCwgeyBhbW91bnQ6IHRoaXMuZ2V0TWJyQW1vdW50cygpLmFkZFZhbGlkYXRvck1iciB9KQoJLy8gdmVyaWZ5IGFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIG1iclBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CgljYWxsc3ViIGdldE1ickFtb3VudHMKCWV4dHJhY3QgMCA4CglidG9pCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoibWJyUGF5bWVudCIsImZpZWxkIjoiYW1vdW50IiwiZXhwZWN0ZWQiOiJ0aGlzLmdldE1ickFtb3VudHMoKS5hZGRWYWxpZGF0b3JNYnIifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQzNQoJLy8gYXNzZXJ0KG1iclBheW1lbnQuZmVlID4gMTAgKiAxMDAwMDAwLCAnZmVlIG11c3QgYmUgMTAgQUxHTyBvciBtb3JlIHRvIHByZXZlbnQgc3BhbW1pbmcgb2YgdmFsaWRhdG9ycycpCglmcmFtZV9kaWcgLTEgLy8gbWJyUGF5bWVudDogUGF5VHhuCglndHhucyBGZWUKCXB1c2hpbnQgMTAwMDAwMDAKCT4KCgkvLyBmZWUgbXVzdCBiZSAxMCBBTEdPIG9yIG1vcmUgdG8gcHJldmVudCBzcGFtbWluZyBvZiB2YWxpZGF0b3JzCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDM4CgkvLyB2YWxpZGF0b3JJZCA9IHRoaXMubnVtVmFsaWRhdG9ycy52YWx1ZSArIDEKCWJ5dGVjIDEyIC8vICAibnVtViIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSAwIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDM5CgkvLyB0aGlzLm51bVZhbGlkYXRvcnMudmFsdWUgPSB2YWxpZGF0b3JJZAoJYnl0ZWMgMTIgLy8gICJudW1WIgoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDQxCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLmNyZWF0ZSgpCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJcHVzaGludCAxMDkyCglib3hfY3JlYXRlCglwb3AKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDQyCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZyA9IGNvbmZpZwoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ0MwoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcuaWQgPSB2YWxpZGF0b3JJZAoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vICppZjVfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDQ2CgkvLyBjb25maWcubmZkRm9ySW5mbyAhPT0gMAoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDcyIDgKCWJ0b2kKCWludGMgMCAvLyAwCgkhPQoJYnogKmlmNV9lbmQKCgkvLyAqaWY1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NDgKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpLAoJLy8gICAgICAgICBhcHBsaWNhdGlvbkFyZ3M6IFsnaXNfdmFsaWRfbmZkX2FwcGlkJywgbmZkTmFtZSwgaXRvYihjb25maWcubmZkRm9ySW5mbyldLAoJLy8gICAgICAgICBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KGNvbmZpZy5uZmRGb3JJbmZvKV0sCgkvLyAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyA3IC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ0OQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpCglpbnRjIDE5IC8vIFRNUExfbmZkUmVnaXN0cnlBcHBJZAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ1MAoJLy8gYXBwbGljYXRpb25BcmdzOiBbJ2lzX3ZhbGlkX25mZF9hcHBpZCcsIG5mZE5hbWUsIGl0b2IoY29uZmlnLm5mZEZvckluZm8pXQoJYnl0ZWMgMTMgLy8gICJpc192YWxpZF9uZmRfYXBwaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0yIC8vIG5mZE5hbWU6IHN0cmluZwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCA3MiA4CglidG9pCglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NTEKCS8vIGFwcGxpY2F0aW9uczogW0FwcElELmZyb21VaW50NjQoY29uZmlnLm5mZEZvckluZm8pXQoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDcyIDgKCWJ0b2kKCWl0eG5fZmllbGQgQXBwbGljYXRpb25zCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NTMKCS8vIGFzc2VydChidG9pKHRoaXMuaXR4bi5sYXN0TG9nKSA9PT0gMSwgInByb3ZpZGVkIE5GRCBpc24ndCB2YWxpZCIpCglpdHhuIExhc3RMb2cKCWJ0b2kKCWludGMgMSAvLyAxCgk9PQoKCS8vIHByb3ZpZGVkIE5GRCBpc24ndCB2YWxpZAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ1NQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IChBcHBJRC5mcm9tVWludDY0KGNvbmZpZy5uZmRGb3JJbmZvKS5nbG9iYWxTdGF0ZSgnaS5vd25lci5hJykgYXMgQWRkcmVzcyksCgkvLyAgICAgICAgICdJZiBzcGVjaWZ5aW5nIE5GRCwgYWNjb3VudCBhZGRpbmcgdmFsaWRhdG9yIG11c3QgYmUgb3duZXInCgkvLyAgICAgICApCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgNzIgOAoJYnRvaQoJYnl0ZWMgOSAvLyAgImkub3duZXIuYSIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KGNvbmZpZy5uZmRGb3JJbmZvKS5nbG9iYWxTdGF0ZSgnaS5vd25lci5hJykKCWFzc2VydAoJPT0KCgkvLyBJZiBzcGVjaWZ5aW5nIE5GRCwgYWNjb3VudCBhZGRpbmcgdmFsaWRhdG9yIG11c3QgYmUgb3duZXIKCWFzc2VydAoKKmlmNV9lbmQ6CgkvLyAqaWY2X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ2MQoJLy8gY29uZmlnLmVudHJ5R2F0aW5nVHlwZSA9PT0gR0FUSU5HX1RZUEVfQ1JFQVRFRF9CWV9ORkRfQUREUkVTU0VTIHx8CgkvLyAgICAgICBjb25maWcuZW50cnlHYXRpbmdUeXBlID09PSBHQVRJTkdfVFlQRV9TRUdNRU5UX09GX05GRAoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDgwIDEKCWJ0b2kKCWludGMgOSAvLyAzCgk9PQoJZHVwCglibnogKnNraXBfb3IwCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgODAgMQoJYnRvaQoJaW50YyAyMCAvLyA0Cgk9PQoJfHwKCipza2lwX29yMDoKCWJ6ICppZjZfZW5kCgoJLy8gKmlmNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDY1CgkvLyBhc3NlcnQodGhpcy5pc05GREFwcElEVmFsaWQoY29uZmlnLmVudHJ5R2F0aW5nQXNzZXRzWzBdKSwgJ3Byb3ZpZGVkIE5GRCBBcHAgaWQgZm9yIGdhdGluZyBtdXN0IGJlIHZhbGlkIE5GRCcpCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMTEzIDgKCWJ0b2kKCWNhbGxzdWIgaXNORkRBcHBJRFZhbGlkCgoJLy8gcHJvdmlkZWQgTkZEIEFwcCBpZCBmb3IgZ2F0aW5nIG11c3QgYmUgdmFsaWQgTkZECglhc3NlcnQKCippZjZfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ2OAoJLy8gcmV0dXJuIHZhbGlkYXRvcklkOwoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBjaGFuZ2VWYWxpZGF0b3JNYW5hZ2VyKHVpbnQ2NCxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9jaGFuZ2VWYWxpZGF0b3JNYW5hZ2VyOgoJLy8gbWFuYWdlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgNCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChtYW5hZ2VyKSBmb3IgY2hhbmdlVmFsaWRhdG9yTWFuYWdlciBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2hhbmdlVmFsaWRhdG9yTWFuYWdlcih1aW50NjQsYWRkcmVzcyl2b2lkCgljYWxsc3ViIGNoYW5nZVZhbGlkYXRvck1hbmFnZXIKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGNoYW5nZVZhbGlkYXRvck1hbmFnZXIodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgbWFuYWdlcjogQWRkcmVzcyk6IHZvaWQKLy8KLy8gQ2hhbmdlcyB0aGUgVmFsaWRhdG9yIG1hbmFnZXIgZm9yIGEgc3BlY2lmaWMgVmFsaWRhdG9yIGlkLgovLyBbIE9OTFkgT1dORVIgQ0FOIENIQU5HRSBdCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yIHRvIGNoYW5nZSB0aGUgbWFuYWdlciBmb3IuCi8vIEBwYXJhbSB7QWRkcmVzc30gbWFuYWdlciAtIFRoZSBuZXcgbWFuYWdlciBhZGRyZXNzLgpjaGFuZ2VWYWxpZGF0b3JNYW5hZ2VyOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ3OQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5vd25lciwKCS8vICAgICAgICdjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyJwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWludGMgMiAvLyA4CglpbnRjIDQgLy8gMzIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCT09CgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ4MwoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubWFuYWdlciA9IG1hbmFnZXIKCWludGMgMTcgLy8gNDAKCWZyYW1lX2RpZyAtMiAvLyBtYW5hZ2VyOiBBZGRyZXNzCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGNoYW5nZVZhbGlkYXRvclN1bnNldEluZm8odWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2NoYW5nZVZhbGlkYXRvclN1bnNldEluZm86CgkvLyBzdW5zZXR0aW5nVG86IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIHN1bnNldHRpbmdPbjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2hhbmdlVmFsaWRhdG9yU3Vuc2V0SW5mbyh1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGNoYW5nZVZhbGlkYXRvclN1bnNldEluZm8KCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGNoYW5nZVZhbGlkYXRvclN1bnNldEluZm8odmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgc3Vuc2V0dGluZ09uOiB1aW50NjQsIHN1bnNldHRpbmdUbzogVmFsaWRhdG9ySWRUeXBlKTogdm9pZAovLwovLyBVcGRhdGVzIHRoZSBzdW5zZXQgaW5mb3JtYXRpb24gZm9yIGEgZ2l2ZW4gdmFsaWRhdG9yLgovLyBbIE9OTFkgT1dORVIgQ0FOIENIQU5HRSBdCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yIHRvIHVwZGF0ZS4KLy8gQHBhcmFtIHt1aW50NjR9IHN1bnNldHRpbmdPbiAtIFRoZSBuZXcgc3Vuc2V0IHRpbWVzdGFtcC4KLy8gQHBhcmFtIHt1aW50NjR9IHN1bnNldHRpbmdUbyAtIFRoZSBuZXcgc3Vuc2V0IHRvIHZhbGlkYXRvciBpZC4KY2hhbmdlVmFsaWRhdG9yU3Vuc2V0SW5mbzoKCXByb3RvIDMgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0OTUKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIsCgkvLyAgICAgICAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnRjIDIgLy8gOAoJaW50YyA0IC8vIDMyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgk9PQoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSB2YWxpZGF0b3Igb3duZXIKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0OTkKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLnN1bnNldHRpbmdPbiA9IHN1bnNldHRpbmdPbgoJaW50YyAyOCAvLyAyMjYKCWZyYW1lX2RpZyAtMiAvLyBzdW5zZXR0aW5nT246IHVpbnQ2NAoJaXRvYgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MDAKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLnN1bnNldHRpbmdUbyA9IHN1bnNldHRpbmdUbwoJcHVzaGludCAyMzQKCWZyYW1lX2RpZyAtMyAvLyBzdW5zZXR0aW5nVG86IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoJcmV0c3ViCgovLyBjaGFuZ2VWYWxpZGF0b3JORkQodWludDY0LHVpbnQ2NCxzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX2NoYW5nZVZhbGlkYXRvck5GRDoKCS8vIG5mZE5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZXh0cmFjdCAyIDAKCgkvLyBuZmRBcHBJRDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2hhbmdlVmFsaWRhdG9yTkZEKHVpbnQ2NCx1aW50NjQsc3RyaW5nKXZvaWQKCWNhbGxzdWIgY2hhbmdlVmFsaWRhdG9yTkZECglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBjaGFuZ2VWYWxpZGF0b3JORkQodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgbmZkQXBwSUQ6IHVpbnQ2NCwgbmZkTmFtZTogc3RyaW5nKTogdm9pZAovLwovLyBDaGFuZ2VzIHRoZSBORkQgZm9yIGEgdmFsaWRhdG9yIGluIHRoZSB2YWxpZGF0b3JMaXN0IGNvbnRyYWN0LgovLyBbIE9OTFkgT1dORVIgQ0FOIENIQU5HRSBdCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yIHRvIHVwZGF0ZS4KLy8gQHBhcmFtIHt1aW50NjR9IG5mZEFwcElEIC0gVGhlIGFwcGxpY2F0aW9uIGlkIG9mIHRoZSBORkQgdG8gYXNzaWduIHRvIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7c3RyaW5nfSBuZmROYW1lIC0gVGhlIG5hbWUgb2YgdGhlIE5GRCAod2hpY2ggbXVzdCBtYXRjaCkKY2hhbmdlVmFsaWRhdG9yTkZEOgoJcHJvdG8gMyAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUxMwoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5vd25lciwKCS8vICAgICAgICdjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyJwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWludGMgMiAvLyA4CglpbnRjIDQgLy8gMzIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCT09CgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUxOAoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpLAoJLy8gICAgICAgYXBwbGljYXRpb25BcmdzOiBbJ2lzX3ZhbGlkX25mZF9hcHBpZCcsIG5mZE5hbWUsIGl0b2IobmZkQXBwSUQpXSwKCS8vICAgICAgIGFwcGxpY2F0aW9uczogW0FwcElELmZyb21VaW50NjQobmZkQXBwSUQpXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyA3IC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUxOQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpCglpbnRjIDE5IC8vIFRNUExfbmZkUmVnaXN0cnlBcHBJZAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUyMAoJLy8gYXBwbGljYXRpb25BcmdzOiBbJ2lzX3ZhbGlkX25mZF9hcHBpZCcsIG5mZE5hbWUsIGl0b2IobmZkQXBwSUQpXQoJYnl0ZWMgMTMgLy8gICJpc192YWxpZF9uZmRfYXBwaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0zIC8vIG5mZE5hbWU6IHN0cmluZwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMiAvLyBuZmRBcHBJRDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MjEKCS8vIGFwcGxpY2F0aW9uczogW0FwcElELmZyb21VaW50NjQobmZkQXBwSUQpXQoJZnJhbWVfZGlnIC0yIC8vIG5mZEFwcElEOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25zCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MjQKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gKEFwcElELmZyb21VaW50NjQobmZkQXBwSUQpLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKSBhcyBBZGRyZXNzKSwKCS8vICAgICAgICdJZiBzcGVjaWZ5aW5nIE5GRCwgYWNjb3VudCBhZGRpbmcgdmFsaWRhdG9yIG11c3QgYmUgb3duZXInCgkvLyAgICAgKQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0yIC8vIG5mZEFwcElEOiB1aW50NjQKCWJ5dGVjIDkgLy8gICJpLm93bmVyLmEiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJRCkuZ2xvYmFsU3RhdGUoJ2kub3duZXIuYScpCglhc3NlcnQKCT09CgoJLy8gSWYgc3BlY2lmeWluZyBORkQsIGFjY291bnQgYWRkaW5nIHZhbGlkYXRvciBtdXN0IGJlIG93bmVyCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTI4CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5uZmRGb3JJbmZvID0gbmZkQXBwSUQKCWludGMgMjEgLy8gNzIKCWZyYW1lX2RpZyAtMiAvLyBuZmRBcHBJRDogdWludDY0CglpdG9iCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGNoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzKHVpbnQ2NCxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9jaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzczoKCS8vIGNvbW1pc3Npb25BZGRyZXNzOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyA0IC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGNvbW1pc3Npb25BZGRyZXNzKSBmb3IgY2hhbmdlVmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3MgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGNoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzKHVpbnQ2NCxhZGRyZXNzKXZvaWQKCWNhbGxzdWIgY2hhbmdlVmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3MKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGNoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIGNvbW1pc3Npb25BZGRyZXNzOiBBZGRyZXNzKTogdm9pZAovLwovLyBDaGFuZ2UgdGhlIGNvbW1pc3Npb24gYWRkcmVzcyB0aGF0IHZhbGlkYXRvciByZXdhcmRzIGFyZSBzZW50IHRvLgovLyBbIE9OTFkgT1dORVIgQ0FOIENIQU5HRSBdCmNoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUzNgoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5vd25lciwKCS8vICAgICAgICdjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyJwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWludGMgMiAvLyA4CglpbnRjIDQgLy8gMzIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCT09CgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU0MAoJLy8gYXNzZXJ0KGNvbW1pc3Npb25BZGRyZXNzICE9PSBBZGRyZXNzLnplcm9BZGRyZXNzKQoJZnJhbWVfZGlnIC0yIC8vIGNvbW1pc3Npb25BZGRyZXNzOiBBZGRyZXNzCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTQxCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy52YWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyA9IGNvbW1pc3Npb25BZGRyZXNzCglwdXNoaW50IDE3NwoJZnJhbWVfZGlnIC0yIC8vIGNvbW1pc3Npb25BZGRyZXNzOiBBZGRyZXNzCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGNoYW5nZVZhbGlkYXRvclJld2FyZEluZm8odWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2NoYW5nZVZhbGlkYXRvclJld2FyZEluZm86CgkvLyBSZXdhcmRQZXJQYXlvdXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNgoJYnRvaQoKCS8vIEdhdGluZ0Fzc2V0TWluQmFsYW5jZTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA1CglidG9pCgoJLy8gRW50cnlHYXRpbmdBc3NldHM6IHVpbnQ2NFs0XQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJZHVwCglsZW4KCWludGMgNCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAyIChFbnRyeUdhdGluZ0Fzc2V0cykgZm9yIGNoYW5nZVZhbGlkYXRvclJld2FyZEluZm8gbXVzdCBiZSBhIHVpbnQ2NFs0XQoJYXNzZXJ0CgoJLy8gRW50cnlHYXRpbmdBZGRyZXNzOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglkdXAKCWxlbgoJaW50YyA0IC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDMgKEVudHJ5R2F0aW5nQWRkcmVzcykgZm9yIGNoYW5nZVZhbGlkYXRvclJld2FyZEluZm8gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIEVudHJ5R2F0aW5nVHlwZTogdWludDgKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDEgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCA0IChFbnRyeUdhdGluZ1R5cGUpIGZvciBjaGFuZ2VWYWxpZGF0b3JSZXdhcmRJbmZvIG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbyh1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGNoYW5nZVZhbGlkYXRvclJld2FyZEluZm8KCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGNoYW5nZVZhbGlkYXRvclJld2FyZEluZm8odmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgRW50cnlHYXRpbmdUeXBlOiB1aW50OCwgRW50cnlHYXRpbmdBZGRyZXNzOiBBZGRyZXNzLCBFbnRyeUdhdGluZ0Fzc2V0czogU3RhdGljQXJyYXk8dWludDY0LCA0PiwgR2F0aW5nQXNzZXRNaW5CYWxhbmNlOiB1aW50NjQsIFJld2FyZFBlclBheW91dDogdWludDY0KTogdm9pZAovLwovLyBBbGxvdyB0aGUgYWRkaXRpb25hbCByZXdhcmRzIChnYXRpbmcgZW50cnksIGFkZGl0aW9uYWwgdG9rZW4gcmV3YXJkcykgaW5mb3JtYXRpb24gYmUgY2hhbmdlZCBhdCB3aWxsLgovLyBbIE9OTFkgT1dORVIgQ0FOIENIQU5HRSBdCmNoYW5nZVZhbGlkYXRvclJld2FyZEluZm86Cglwcm90byA2IDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTU2CgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm93bmVyLAoJLy8gICAgICAgJ2NhbiBvbmx5IGJlIGNhbGxlZCBieSB2YWxpZGF0b3Igb3duZXInCgkvLyAgICAgKQoJdHhuIFNlbmRlcgoJaW50YyAyIC8vIDgKCWludGMgNCAvLyAzMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTYxCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5lbnRyeUdhdGluZ1R5cGUgPSBFbnRyeUdhdGluZ1R5cGUKCWludGMgMzYgLy8gODAKCWZyYW1lX2RpZyAtMiAvLyBFbnRyeUdhdGluZ1R5cGU6IHVpbnQ4CglpdG9iCglleHRyYWN0IDcgMQoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1NjIKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLmVudHJ5R2F0aW5nQWRkcmVzcyA9IEVudHJ5R2F0aW5nQWRkcmVzcwoJcHVzaGludCA4MQoJZnJhbWVfZGlnIC0zIC8vIEVudHJ5R2F0aW5nQWRkcmVzczogQWRkcmVzcwoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1NjMKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLmVudHJ5R2F0aW5nQXNzZXRzID0gRW50cnlHYXRpbmdBc3NldHMKCXB1c2hpbnQgMTEzCglmcmFtZV9kaWcgLTQgLy8gRW50cnlHYXRpbmdBc3NldHM6IFN0YXRpY0FycmF5PHVpbnQ2NCwgND4KCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTY0CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5nYXRpbmdBc3NldE1pbkJhbGFuY2UgPSBHYXRpbmdBc3NldE1pbkJhbGFuY2UKCWludGMgMzcgLy8gMTQ1CglmcmFtZV9kaWcgLTUgLy8gR2F0aW5nQXNzZXRNaW5CYWxhbmNlOiB1aW50NjQKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTY1CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5yZXdhcmRQZXJQYXlvdXQgPSBSZXdhcmRQZXJQYXlvdXQKCXB1c2hpbnQgMTYxCglmcmFtZV9kaWcgLTYgLy8gUmV3YXJkUGVyUGF5b3V0OiB1aW50NjQKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCXJldHN1YgoKLy8gYWRkUG9vbChwYXksdWludDY0LHVpbnQ2NCkodWludDY0LHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfYWRkUG9vbDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gbm9kZU51bTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIG1iclBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludGMgMSAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDEgLy8gIHBheQoJPT0KCgkvLyBhcmd1bWVudCAyIChtYnJQYXltZW50KSBmb3IgYWRkUG9vbCBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGFkZFBvb2wocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KQoJY2FsbHN1YiBhZGRQb29sCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gYWRkUG9vbChtYnJQYXltZW50OiBQYXlUeG4sIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIG5vZGVOdW06IHVpbnQ2NCk6IFZhbGlkYXRvclBvb2xLZXkKLy8KLy8gQWRkcyBhIG5ldyBwb29sIHRvIGEgdmFsaWRhdG9yJ3MgcG9vbCBzZXQsIHJldHVybmluZyB0aGUgJ2tleScgdG8gcmVmZXJlbmNlIHRoZSBwb29sIGluIHRoZSBmdXR1cmUgZm9yIHN0YWtpbmcsIGV0Yy4KLy8gVGhlIGNhbGxlciBtdXN0IHBheSB0aGUgY29zdCBvZiB0aGUgdmFsaWRhdG9ycyBNQlIgaW5jcmVhc2UgYXMgd2VsbCBhcyB0aGUgTUJSIHRoYXQgd2lsbCBiZSBuZWVkZWQgZm9yIHRoZSBwb29sIGl0c2VsZi4KLy8KLy8gWyBPTkxZIE9XTkVSIE9SIE1BTkFHRVIgQ0FOIGNhbGwgXQovLyBAcGFyYW0ge1BheVR4bn0gbWJyUGF5bWVudCBwYXltZW50IGZyb20gY2FsbGVyIHdoaWNoIGNvdmVycyBtYnIgaW5jcmVhc2Ugb2YgYWRkaW5nIGEgbmV3IHBvb2wKLy8gQHBhcmFtIHt1aW50NjR9IHZhbGlkYXRvcklkIGlzIGlkIG9mIHZhbGlkYXRvciB0byBwb29sIHRvIChtdXN0IGJlIG93bmVyIG9yIG1hbmFnZXIpCi8vIEBwYXJhbSB7dWludDY0fSBub2RlTnVtIGlzIG5vZGUgbnVtYmVyIHRvIGFkZCB0bwovLyBAcmV0dXJucyB7VmFsaWRhdG9yUG9vbEtleX0gcG9vbCBrZXkgdG8gY3JlYXRlZCBwb29sCmFkZFBvb2w6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU4MQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5vd25lciB8fAoJLy8gICAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm1hbmFnZXIsCgkvLyAgICAgICAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yJwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWludGMgMiAvLyA4CglpbnRjIDQgLy8gMzIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCT09CglkdXAKCWJueiAqc2tpcF9vcjEKCXR4biBTZW5kZXIKCWludGMgMTcgLy8gNDAKCWludGMgNCAvLyAzMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCXx8Cgoqc2tpcF9vcjE6CgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3IKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1ODgKCS8vIHZlcmlmeVBheVR4bihtYnJQYXltZW50LCB7IGFtb3VudDogdGhpcy5nZXRNYnJBbW91bnRzKCkuYWRkUG9vbE1iciwgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MgfSkKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJY2FsbHN1YiBnZXRNYnJBbW91bnRzCglleHRyYWN0IDggOAoJYnRvaQoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoidGhpcy5nZXRNYnJBbW91bnRzKCkuYWRkUG9vbE1iciJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1OTAKCS8vIGFzc2VydCh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLmV4aXN0cywgInNwZWNpZmllZCB2YWxpZGF0b3IgaWQgaXNuJ3QgdmFsaWQiKQoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCgkvLyBzcGVjaWZpZWQgdmFsaWRhdG9yIGlkIGlzbid0IHZhbGlkCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTkyCgkvLyBudW1Qb29sczogdWludDY0ID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5zdGF0ZS5udW1Qb29scyBhcyB1aW50NjQKCWludGMgOCAvLyAyNDIKCWludGMgMTAgLy8gMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAwIC8vIG51bVBvb2xzOiB1aW50NjQKCgkvLyAqaWY3X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU5MwoJLy8gKG51bVBvb2xzIGFzIHVpbnQ2NCkgPj0gTUFYX1BPT0xTCglmcmFtZV9kaWcgMCAvLyBudW1Qb29sczogdWludDY0CglpbnRjIDMgLy8gMjQKCT49CglieiAqaWY3X2VuZAoKCS8vICppZjdfY29uc2VxdWVudAoJLy8gYWxyZWFkeSBhdCBtYXggcG9vbCBzaXplCgllcnIKCippZjdfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU5NgoJLy8gbnVtUG9vbHMgKz0gMQoJZnJhbWVfZGlnIDAgLy8gbnVtUG9vbHM6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBudW1Qb29sczogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU5OQoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgb25Db21wbGV0aW9uOiBPbkNvbXBsZXRpb24uTm9PcCwKCS8vICAgICAgIGFwcHJvdmFsUHJvZ3JhbTogWwoJLy8gICAgICAgICB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLmV4dHJhY3QoMCwgNDA5NiksCgkvLyAgICAgICAgIHRoaXMuc3Rha2luZ1Bvb2xBcHByb3ZhbFByb2dyYW0uZXh0cmFjdCg0MDk2LCB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLnNpemUgLSA0MDk2KSwKCS8vICAgICAgIF0sCgkvLyAgICAgICBjbGVhclN0YXRlUHJvZ3JhbTogU3Rha2luZ1Bvb2wuY2xlYXJQcm9ncmFtKCksCgkvLyAgICAgICBnbG9iYWxOdW1VaW50OiBTdGFraW5nUG9vbC5zY2hlbWEuZ2xvYmFsLm51bVVpbnQsCgkvLyAgICAgICBnbG9iYWxOdW1CeXRlU2xpY2U6IFN0YWtpbmdQb29sLnNjaGVtYS5nbG9iYWwubnVtQnl0ZVNsaWNlLAoJLy8gICAgICAgZXh0cmFQcm9ncmFtUGFnZXM6IDMsCgkvLyAgICAgICBhcHBsaWNhdGlvbkFyZ3M6IFsKCS8vICAgICAgICAgLy8gY3JlYXRpbmdDb250cmFjdElELCB2YWxpZGF0b3JJZCwgcG9vbElkLCBtaW5FbnRyeVN0YWtlCgkvLyAgICAgICAgIG1ldGhvZCgnY3JlYXRlQXBwbGljYXRpb24odWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQnKSwKCS8vICAgICAgICAgaXRvYih0aGlzLmFwcC5pZCksCgkvLyAgICAgICAgIGl0b2IodmFsaWRhdG9ySWQpLAoJLy8gICAgICAgICBpdG9iKG51bVBvb2xzIGFzIHVpbnQ2NCksCgkvLyAgICAgICAgIGl0b2IodGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubWluRW50cnlTdGFrZSksCgkvLyAgICAgICBdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDcgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjAwCgkvLyBvbkNvbXBsZXRpb246IE9uQ29tcGxldGlvbi5Ob09wCglpbnRjIDAgLy8gIE5vT3AKCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYwMQoJLy8gYXBwcm92YWxQcm9ncmFtOiBbCgkvLyAgICAgICAgIHRoaXMuc3Rha2luZ1Bvb2xBcHByb3ZhbFByb2dyYW0uZXh0cmFjdCgwLCA0MDk2KSwKCS8vICAgICAgICAgdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5leHRyYWN0KDQwOTYsIHRoaXMuc3Rha2luZ1Bvb2xBcHByb3ZhbFByb2dyYW0uc2l6ZSAtIDQwOTYpLAoJLy8gICAgICAgXQoJYnl0ZWMgNiAvLyAgInBvb2xUZW1wbGF0ZUFwcHJvdmFsQnl0ZXMiCglpbnRjIDAgLy8gMAoJaW50YyAyNSAvLyA0MDk2Cglib3hfZXh0cmFjdAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoJYnl0ZWMgNiAvLyAgInBvb2xUZW1wbGF0ZUFwcHJvdmFsQnl0ZXMiCglpbnRjIDI1IC8vIDQwOTYKCWJ5dGVjIDYgLy8gICJwb29sVGVtcGxhdGVBcHByb3ZhbEJ5dGVzIgoJYm94X2xlbgoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5zaXplCglhc3NlcnQKCWludGMgMjUgLy8gNDA5NgoJLQoJYm94X2V4dHJhY3QKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtUGFnZXMKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjA1CgkvLyBjbGVhclN0YXRlUHJvZ3JhbTogU3Rha2luZ1Bvb2wuY2xlYXJQcm9ncmFtKCkKCXB1c2hieXRlcyAweDBhCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYwNgoJLy8gZ2xvYmFsTnVtVWludDogU3Rha2luZ1Bvb2wuc2NoZW1hLmdsb2JhbC5udW1VaW50CglpbnRjIDM1IC8vIDExCglpdHhuX2ZpZWxkIEdsb2JhbE51bVVpbnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjA3CgkvLyBnbG9iYWxOdW1CeXRlU2xpY2U6IFN0YWtpbmdQb29sLnNjaGVtYS5nbG9iYWwubnVtQnl0ZVNsaWNlCglpbnRjIDkgLy8gMwoJaXR4bl9maWVsZCBHbG9iYWxOdW1CeXRlU2xpY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjA4CgkvLyBleHRyYVByb2dyYW1QYWdlczogMwoJaW50YyA5IC8vIDMKCWl0eG5fZmllbGQgRXh0cmFQcm9ncmFtUGFnZXMKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjA5CgkvLyBhcHBsaWNhdGlvbkFyZ3M6IFsKCS8vICAgICAgICAgLy8gY3JlYXRpbmdDb250cmFjdElELCB2YWxpZGF0b3JJZCwgcG9vbElkLCBtaW5FbnRyeVN0YWtlCgkvLyAgICAgICAgIG1ldGhvZCgnY3JlYXRlQXBwbGljYXRpb24odWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQnKSwKCS8vICAgICAgICAgaXRvYih0aGlzLmFwcC5pZCksCgkvLyAgICAgICAgIGl0b2IodmFsaWRhdG9ySWQpLAoJLy8gICAgICAgICBpdG9iKG51bVBvb2xzIGFzIHVpbnQ2NCksCgkvLyAgICAgICAgIGl0b2IodGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubWluRW50cnlTdGFrZSksCgkvLyAgICAgICBdCglwdXNoYnl0ZXMgMHg1OWU5MGFhNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAwIC8vIG51bVBvb2xzOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglpbnRjIDM5IC8vIDIwOQoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MTkKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUubnVtUG9vbHMgPSBudW1Qb29scyBhcyB1aW50MTYKCWludGMgOCAvLyAyNDIKCWZyYW1lX2RpZyAwIC8vIG51bVBvb2xzOiB1aW50NjQKCWl0b2IKCWR1cAoJYml0bGVuCglpbnRjIDI3IC8vIDE2Cgk8PQoKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUubnVtUG9vbHMgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYyMgoJLy8gcG9vbEFwcElkID0gdGhpcy5pdHhuLmNyZWF0ZWRBcHBsaWNhdGlvbklELmlkCglpdHhuIENyZWF0ZWRBcHBsaWNhdGlvbklECglmcmFtZV9idXJ5IDEgLy8gcG9vbEFwcElkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjIzCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzW251bVBvb2xzIC0gMV0ucG9vbEFwcElkID0gcG9vbEFwcElkCglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAwIC8vIG51bVBvb2xzOiB1aW50NjQKCWludGMgMSAvLyAxCgktCglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAwIC8vIDAKCSsKCWZyYW1lX2RpZyAxIC8vIHBvb2xBcHBJZDogdWludDY0CglpdG9iCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYyNAoJLy8gdGhpcy5hZGRQb29sVG9Ob2RlKHZhbGlkYXRvcklkLCBwb29sQXBwSWQsIG5vZGVOdW0pCglmcmFtZV9kaWcgLTMgLy8gbm9kZU51bTogdWludDY0CglmcmFtZV9kaWcgMSAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWNhbGxzdWIgYWRkUG9vbFRvTm9kZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MzIKCS8vIHJldHVybiB7IGlkOiB2YWxpZGF0b3JJZCwgcG9vbElkOiBudW1Qb29scyBhcyB1aW50NjQsIHBvb2xBcHBJZDogdGhpcy5pdHhuIS5jcmVhdGVkQXBwbGljYXRpb25JRC5pZCB9OwoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWZyYW1lX2RpZyAwIC8vIG51bVBvb2xzOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJaXR4biBDcmVhdGVkQXBwbGljYXRpb25JRAoJaXRvYgoJY29uY2F0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgovLyBhZGRTdGFrZShwYXksdWludDY0LHVpbnQ2NCkodWludDY0LHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfYWRkU3Rha2U6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIHZhbHVlVG9WZXJpZnk6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBzdGFrZWRBbW91bnRQYXltZW50OiBwYXkKCXR4biBHcm91cEluZGV4CglpbnRjIDEgLy8gMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50YyAxIC8vICBwYXkKCT09CgoJLy8gYXJndW1lbnQgMiAoc3Rha2VkQW1vdW50UGF5bWVudCkgZm9yIGFkZFN0YWtlIG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgYWRkU3Rha2UocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KQoJY2FsbHN1YiBhZGRTdGFrZQoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGFkZFN0YWtlKHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4biwgdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgdmFsdWVUb1ZlcmlmeTogdWludDY0KTogVmFsaWRhdG9yUG9vbEtleQovLwovLyBBZGRzIHN0YWtlIHRvIGEgdmFsaWRhdG9yIHBvb2wuCi8vCi8vIEBwYXJhbSB7UGF5VHhufSBzdGFrZWRBbW91bnRQYXltZW50IC0gcGF5bWVudCBjb21pbmcgZnJvbSBzdGFrZXIgdG8gcGxhY2UgaW50byBhIHBvb2wKLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7dWludDY0fSB2YWx1ZVRvVmVyaWZ5IC0gb25seSBpZiB2YWxpZGF0b3IgaGFzIGdhdGluZyB0byBlbnRlciAtIHRoaXMgaXMgYXNzZXQgaWQgb3IgbmZkIGlkIHRoYXQgY29ycmVzcG9uZHMgdG8gZ2F0aW5nLgovLyBUeG4gc2VuZGVyIGlzIGZhY3RvcmVkIGluIGFzIHdlbGwgaWYgdGhhdCBpcyBwYXJ0IG9mIGdhdGluZy4KLy8gKiBAcmV0dXJucyB7VmFsaWRhdG9yUG9vbEtleX0gLSBUaGUga2V5IG9mIHRoZSB2YWxpZGF0b3IgcG9vbC4KYWRkU3Rha2U6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiA1CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY0NQoJLy8gYXNzZXJ0KHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkuZXhpc3RzLCAic3BlY2lmaWVkIHZhbGlkYXRvciBpZCBpc24ndCB2YWxpZCIpCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWJveF9sZW4KCXN3YXAKCXBvcAoKCS8vIHNwZWNpZmllZCB2YWxpZGF0b3IgaWQgaXNuJ3QgdmFsaWQKCWFzc2VydAoKCS8vICppZjhfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjQ4CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5zdW5zZXR0aW5nT24gPiAwCglpbnRjIDI4IC8vIDIyNgoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWludGMgMCAvLyAwCgk+CglieiAqaWY4X2VuZAoKCS8vICppZjhfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY0OQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5zdW5zZXR0aW5nT24gPCBnbG9iYWxzLmxhdGVzdFRpbWVzdGFtcCwKCS8vICAgICAgICAgImNhbid0IHN0YWtlIHdpdGggYSB2YWxpZGF0b3IgdGhhdCBpcyBwYXN0IGl0cyBzdW5zZXR0aW5nIHRpbWUiCgkvLyAgICAgICApCglpbnRjIDI4IC8vIDIyNgoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWdsb2JhbCBMYXRlc3RUaW1lc3RhbXAKCTwKCgkvLyBjYW4ndCBzdGFrZSB3aXRoIGEgdmFsaWRhdG9yIHRoYXQgaXMgcGFzdCBpdHMgc3Vuc2V0dGluZyB0aW1lCglhc3NlcnQKCippZjhfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY1NQoJLy8gc3Rha2VyID0gdGhpcy50eG4uc2VuZGVyCgl0eG4gU2VuZGVyCglmcmFtZV9idXJ5IDAgLy8gc3Rha2VyOiBhZGRyZXNzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY1OQoJLy8gdmVyaWZ5UGF5VHhuKHN0YWtlZEFtb3VudFBheW1lbnQsIHsKCS8vICAgICAgIHNlbmRlcjogc3Rha2VyLAoJLy8gICAgICAgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIFNlbmRlcgoJZnJhbWVfZGlnIDAgLy8gc3Rha2VyOiBhZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoic3Rha2VkQW1vdW50UGF5bWVudCIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJzdGFrZXIifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzdGFrZWRBbW91bnRQYXltZW50IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjY2CgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnN0YXRlLnRvdGFsQWxnb1N0YWtlZCA8IHRoaXMubWF4QWxsb3dlZFN0YWtlKCksCgkvLyAgICAgICAndG90YWwgc3Rha2VkIGZvciBhbGwgb2YgYSB2YWxpZGF0b3JzIHBvb2xzIG1heSBub3QgZXhjZWVkIGhhcmQgY2FwJwoJLy8gICAgICkKCWludGMgMTIgLy8gMjUyCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJY2FsbHN1YiBtYXhBbGxvd2VkU3Rha2UKCTwKCgkvLyB0b3RhbCBzdGFrZWQgZm9yIGFsbCBvZiBhIHZhbGlkYXRvcnMgcG9vbHMgbWF5IG5vdCBleGNlZWQgaGFyZCBjYXAKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NzMKCS8vIHRoaXMuZG9lc1N0YWtlck1lZXRHYXRpbmcodmFsaWRhdG9ySWQsIHZhbHVlVG9WZXJpZnkpCglmcmFtZV9kaWcgLTMgLy8gdmFsdWVUb1ZlcmlmeTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJY2FsbHN1YiBkb2VzU3Rha2VyTWVldEdhdGluZwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NzUKCS8vIHJlYWxBbW91bnQgPSBzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglmcmFtZV9idXJ5IDEgLy8gcmVhbEFtb3VudDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY3NgoJLy8gbWJyQW10TGVmdEJlaGluZDogdWludDY0ID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMiAvLyBtYnJBbXRMZWZ0QmVoaW5kOiB1aW50NjQKCgkvLyAqaWY5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY3OAoJLy8gIXRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLmV4aXN0cwoJYnl0ZWMgMyAvLyAgInNwcyIKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCSEKCWJ6ICppZjlfZW5kCgoJLy8gKmlmOV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjgxCgkvLyBtYnJBbXRMZWZ0QmVoaW5kID0gdGhpcy5nZXRNYnJBbW91bnRzKCkuYWRkU3Rha2VyTWJyCgljYWxsc3ViIGdldE1ickFtb3VudHMKCWV4dHJhY3QgMjQgOAoJYnRvaQoJZnJhbWVfYnVyeSAyIC8vIG1ickFtdExlZnRCZWhpbmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2ODIKCS8vIHJlYWxBbW91bnQgLT0gbWJyQW10TGVmdEJlaGluZAoJZnJhbWVfZGlnIDEgLy8gcmVhbEFtb3VudDogdWludDY0CglmcmFtZV9kaWcgMiAvLyBtYnJBbXRMZWZ0QmVoaW5kOiB1aW50NjQKCS0KCWZyYW1lX2J1cnkgMSAvLyByZWFsQW1vdW50OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjgzCgkvLyB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS5jcmVhdGUoKQoJYnl0ZWMgMyAvLyAgInNwcyIKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJY29uY2F0CglwdXNoaW50IDE0NAoJYm94X2NyZWF0ZQoJcG9wCgoqaWY5X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2ODcKCS8vIGZpbmRSZXQgPSB0aGlzLmZpbmRQb29sRm9yU3Rha2VyKHZhbGlkYXRvcklkLCBzdGFrZXIsIHJlYWxBbW91bnQpCglmcmFtZV9kaWcgMSAvLyByZWFsQW1vdW50OiB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWNhbGxzdWIgZmluZFBvb2xGb3JTdGFrZXIKCWZyYW1lX2J1cnkgMyAvLyBmaW5kUmV0OiAoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY4OAoJLy8gcG9vbEtleSA9IGZpbmRSZXRbMF0KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2ODkKCS8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3IgPSBmaW5kUmV0WzFdCglmcmFtZV9kaWcgMyAvLyBmaW5kUmV0OiAoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyMiAvLyAxOTIKCWdldGJpdAoJZnJhbWVfYnVyeSA0IC8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjkwCgkvLyBpc05ld1N0YWtlclRvUHJvdG9jb2wgPSBmaW5kUmV0WzJdCglmcmFtZV9kaWcgMyAvLyBmaW5kUmV0OiAoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJcHVzaGludCAxOTMKCWdldGJpdAoJZnJhbWVfYnVyeSA1IC8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbAoKCS8vICppZjEwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY5MQoJLy8gcG9vbEtleS5wb29sSWQgPT09IDAKCWZyYW1lX2RpZyAzIC8vIGZpbmRSZXQ6ICgodWludDY0LHVpbnQ2NCx1aW50NjQpLGJvb2wsYm9vbCkKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDggOAoJYnRvaQoJaW50YyAwIC8vIDAKCT09CglieiAqaWYxMF9lbmQKCgkvLyAqaWYxMF9jb25zZXF1ZW50CgkvLyBObyBwb29sIGF2YWlsYWJsZSB3aXRoIGZyZWUgc3Rha2UuICBWYWxpZGF0b3IgbmVlZHMgdG8gYWRkIGFub3RoZXIgcG9vbAoJZXJyCgoqaWYxMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Njk2CgkvLyB0aGlzLnVwZGF0ZVN0YWtlclBvb2xTZXQoc3Rha2VyLCBwb29sS2V5KQoJZnJhbWVfZGlnIDMgLy8gZmluZFJldDogKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMCAyNAoJZnJhbWVfZGlnIDAgLy8gc3Rha2VyOiBhZGRyZXNzCgljYWxsc3ViIHVwZGF0ZVN0YWtlclBvb2xTZXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Njk5CgkvLyB0aGlzLmNhbGxQb29sQWRkU3Rha2UoCgkvLyAgICAgICBzdGFrZWRBbW91bnRQYXltZW50LAoJLy8gICAgICAgcG9vbEtleSwKCS8vICAgICAgIG1ickFtdExlZnRCZWhpbmQsCgkvLyAgICAgICBpc05ld1N0YWtlclRvVmFsaWRhdG9yLAoJLy8gICAgICAgaXNOZXdTdGFrZXJUb1Byb3RvY29sCgkvLyAgICAgKQoJZnJhbWVfZGlnIDUgLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sOiBib29sCglmcmFtZV9kaWcgNCAvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yOiBib29sCglmcmFtZV9kaWcgMiAvLyBtYnJBbXRMZWZ0QmVoaW5kOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIGZpbmRSZXQ6ICgodWludDY0LHVpbnQ2NCx1aW50NjQpLGJvb2wsYm9vbCkKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDAgMjQKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWNhbGxzdWIgY2FsbFBvb2xBZGRTdGFrZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3MTQKCS8vIHJldHVybiBwb29sS2V5OwoJZnJhbWVfZGlnIDMgLy8gZmluZFJldDogKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMCAyNAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDUKCXJldHN1YgoKLy8gc2V0VG9rZW5QYXlvdXRSYXRpbyh1aW50NjQpKHVpbnQ2NFsyNF0sdWludDY0KQoqYWJpX3JvdXRlX3NldFRva2VuUGF5b3V0UmF0aW86CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIHNldFRva2VuUGF5b3V0UmF0aW8odWludDY0KSh1aW50NjRbMjRdLHVpbnQ2NCkKCWNhbGxzdWIgc2V0VG9rZW5QYXlvdXRSYXRpbwoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIHNldFRva2VuUGF5b3V0UmF0aW8odmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSk6IFBvb2xUb2tlblBheW91dFJhdGlvCi8vCi8vIHNldFRva2VuUGF5b3V0UmF0aW8gaXMgY2FsbGVkIGJ5IFN0YWtpbmcgUG9vbCAjIDEgKE9OTFkpIHRvIGFzayB0aGUgdmFsaWRhdG9yICh1cykgdG8gY2FsY3VsYXRlIHRoZSByYXRpb3MKLy8gb2Ygc3Rha2UgaW4gdGhlIHBvb2xzIGZvciBzdWJzZXF1ZW50IHRva2VuIHBheW91dHMgKGllOiAyIHBvb2xzLCAnMTAwJyBhbGdvIHRvdGFsIHN0YWtlZCwgNjAgaW4gcG9vbCAxLCBhbmQgNDAKLy8gaW4gcG9vbCAyKSAgVGhpcyBpcyBkb25lIHNvIHdlIGhhdmUgYSBzdGFibGUgc25hcHNob3Qgb2Ygc3Rha2UgLSB0YWtlbiBvbmNlIHBlciBlcG9jaCAtIG9ubHkgdHJpZ2dlcmVkIGJ5Ci8vIHBvb2wgMSBkb2luZyBwYXlvdXQuICBwb29scyBvdGhlciB0aGFuIDEgZG9pbmcgcGF5b3V0IGNhbGwgcG9vbCAxIHRvIGFzayBpdCBkbyBpdCBmaXJzdC4KLy8gSXQgd291bGQgYmUgNjAvNDAlIGluIHRoZSBwb29sUGN0T2ZXaG9sZSB2YWx1ZXMuICBUaGUgdG9rZW4gcmV3YXJkIHBheW91dHMgdGhlbiB1c2UgdGhlc2UgdmFsdWVzIGluc3RlYWQgb2YKLy8gdGhlaXIgJ2N1cnJlbnQnIHN0YWtlIHdoaWNoIGNoYW5nZXMgYXMgcGFydCBvZiB0aGUgcGF5b3V0cyB0aGVtc2VsdmVzIChhbmQgcGVvcGxlIGNvdWxkIGJlIGNoYW5naW5nIHN0YWtlCi8vIGR1cmluZyB0aGUgZXBvY2ggdXBkYXRlcyBhY3Jvc3MgcG9vbHMpCi8vCi8vIE11bHRpcGxlIHBvb2xzIHdpbGwgY2FsbCB1cyB2aWEgcG9vbCAxIChwb29sMi0+cG9vbDEtPnZhbGlkYXRvciwgZXRjLikgc28gZG9uJ3QgYXNzZXJ0IG9uIHBvb2wxIGNhbGxpbmcgbXVsdGlwbGUKLy8gdGltZXMgaW4gc2FtZSBlcG9jaC4gIEp1c3QgcmV0dXJuLgovLwovLyBAcGFyYW0gdmFsaWRhdG9ySWQgLSB2YWxpZGF0b3IgaWQgKGFuZCB0aHVzIHBvb2wpIGNhbGxpbmcgdXMuICBWZXJpZmllZCBzbyB0aGF0IHNlbmRlciBNVVNUIGJlIHBvb2wgMSBvZiB0aGlzIHZhbGlkYXRvci4KLy8gQHJldHVybnMgUG9vbFRva2VuUGF5b3V0UmF0aW8gLSB0aGUgZmluaXNoZWQgcmF0aW8gZGF0YQpzZXRUb2tlblBheW91dFJhdGlvOgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cG4gOAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3MzQKCS8vIHBvb2wxQXBwSUQgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzWzBdLnBvb2xBcHBJZAoJaW50YyA2IC8vIDI2OAoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyBwb29sMUFwcElEOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzM1CgkvLyBhc3NlcnQocG9vbDFBcHBJRCAhPT0gMCkKCWZyYW1lX2RpZyAwIC8vIHBvb2wxQXBwSUQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCSE9Cglhc3NlcnQKCgkvLyAqaWYxMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3MzcKCS8vIHRoaXMudHhuLnNlbmRlciAhPT0gQXBwSUQuZnJvbVVpbnQ2NChwb29sMUFwcElEKS5hZGRyZXNzCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgMCAvLyBwb29sMUFwcElEOiB1aW50NjQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJIT0KCWJ6ICppZjExX2VuZAoKCS8vICppZjExX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3MzgKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW87CglpbnRjIDE0IC8vICBoZWFkT2Zmc2V0CglpbnRjIDE4IC8vIDIwMAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYiAqc2V0VG9rZW5QYXlvdXRSYXRpbypyZXR1cm4KCippZjExX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NDQKCS8vIGN1clJvdW5kID0gZ2xvYmFscy5yb3VuZAoJZ2xvYmFsIFJvdW5kCglmcmFtZV9idXJ5IDEgLy8gY3VyUm91bmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NDUKCS8vIGxhc3RQYXlvdXRVcGRhdGUgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW8udXBkYXRlZEZvclBheW91dAoJaW50YyAzMSAvLyA4OTIKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDIgLy8gbGFzdFBheW91dFVwZGF0ZTogdWludDY0CgoJLy8gKmlmMTJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzQ2CgkvLyBsYXN0UGF5b3V0VXBkYXRlICE9PSAwCglmcmFtZV9kaWcgMiAvLyBsYXN0UGF5b3V0VXBkYXRlOiB1aW50NjQKCWludGMgMCAvLyAwCgkhPQoJYnogKmlmMTJfZW5kCgoJLy8gKmlmMTJfY29uc2VxdWVudAoJLy8gKmlmMTNfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzQ4CgkvLyAoQXBwSUQuZnJvbVVpbnQ2NChwb29sMUFwcElEKS5nbG9iYWxTdGF0ZSgnbGFzdFBheW91dCcpIGFzIHVpbnQ2NCkgPT09IGxhc3RQYXlvdXRVcGRhdGUKCWZyYW1lX2RpZyAwIC8vIHBvb2wxQXBwSUQ6IHVpbnQ2NAoJcHVzaGJ5dGVzIDB4NmM2MTczNzQ1MDYxNzk2Zjc1NzQgLy8gImxhc3RQYXlvdXQiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NChwb29sMUFwcElEKS5nbG9iYWxTdGF0ZSgnbGFzdFBheW91dCcpCglhc3NlcnQKCWZyYW1lX2RpZyAyIC8vIGxhc3RQYXlvdXRVcGRhdGU6IHVpbnQ2NAoJPT0KCWJ6ICppZjEzX2VuZAoKCS8vICppZjEzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NDkKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW87CglpbnRjIDE0IC8vICBoZWFkT2Zmc2V0CglpbnRjIDE4IC8vIDIwMAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYiAqc2V0VG9rZW5QYXlvdXRSYXRpbypyZXR1cm4KCippZjEzX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NTEKCS8vIGVwb2NoUm91bmRMZW5ndGggPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5lcG9jaFJvdW5kTGVuZ3RoIGFzIHVpbnQ2NAoJcHVzaGludCAxNjkKCWludGMgMjAgLy8gNAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIGVwb2NoUm91bmRMZW5ndGg6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NTIKCS8vIHRoaXNFcG9jaEJlZ2luID0gY3VyUm91bmQgLSAoY3VyUm91bmQgJSBlcG9jaFJvdW5kTGVuZ3RoKQoJZnJhbWVfZGlnIDEgLy8gY3VyUm91bmQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gY3VyUm91bmQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0CgklCgktCglmcmFtZV9idXJ5IDQgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoKCS8vICppZjE0X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc1NAoJLy8gbGFzdFBheW91dFVwZGF0ZSAtIChsYXN0UGF5b3V0VXBkYXRlICUgZXBvY2hSb3VuZExlbmd0aCkgPT09IHRoaXNFcG9jaEJlZ2luCglmcmFtZV9kaWcgMiAvLyBsYXN0UGF5b3V0VXBkYXRlOiB1aW50NjQKCWZyYW1lX2RpZyAyIC8vIGxhc3RQYXlvdXRVcGRhdGU6IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0CgklCgktCglmcmFtZV9kaWcgNCAvLyB0aGlzRXBvY2hCZWdpbjogdWludDY0Cgk9PQoJYnogKmlmMTRfZW5kCgoJLy8gKmlmMTRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc1NQoJLy8gcmV0dXJuIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUudG9rZW5QYXlvdXRSYXRpbzsKCWludGMgMTQgLy8gIGhlYWRPZmZzZXQKCWludGMgMTggLy8gMjAwCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CgliICpzZXRUb2tlblBheW91dFJhdGlvKnJldHVybgoKKmlmMTRfZW5kOgoKKmlmMTJfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc1OAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS50b2tlblBheW91dFJhdGlvLnVwZGF0ZWRGb3JQYXlvdXQgPSBjdXJSb3VuZAoJaW50YyAzMSAvLyA4OTIKCWZyYW1lX2RpZyAxIC8vIGN1clJvdW5kOiB1aW50NjQKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzYwCgkvLyBjdXJOdW1Qb29scyA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUubnVtUG9vbHMgYXMgdWludDY0CglpbnRjIDggLy8gMjQyCglpbnRjIDEwIC8vIDIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgNSAvLyBjdXJOdW1Qb29sczogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc2MQoJLy8gdG90YWxTdGFrZUZvclZhbGlkYXRvciA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUudG90YWxBbGdvU3Rha2VkCglpbnRjIDEyIC8vIDI1MgoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgNiAvLyB0b3RhbFN0YWtlRm9yVmFsaWRhdG9yOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzYyCgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IGN1ck51bVBvb2xzOyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSA3IC8vIGk6IHVpbnQ2NAoKKmZvcl8yOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc2MgoJLy8gaSA8IGN1ck51bVBvb2xzCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWZyYW1lX2RpZyA1IC8vIGN1ck51bVBvb2xzOiB1aW50NjQKCTwKCWJ6ICpmb3JfMl9lbmQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzY3CgkvLyBvdXJQb29sUGN0T2ZXaG9sZSA9IHdpZGVSYXRpbygKCS8vICAgICAgICAgW3RoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUucG9vbHNbaV0udG90YWxBbGdvU3Rha2VkLCAxXzAwMF8wMDBdLAoJLy8gICAgICAgICBbdG90YWxTdGFrZUZvclZhbGlkYXRvcl0KCS8vICAgICAgICkKCWludGMgNiAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIDcgLy8gaTogdWludDY0CglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAxMSAvLyAgaGVhZE9mZnNldAoJKwoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCXB1c2hpbnQgMV8wMDBfMDAwCgltdWx3CglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIDYgLy8gdG90YWxTdGFrZUZvclZhbGlkYXRvcjogdWludDY0CglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJZnJhbWVfYnVyeSA4IC8vIG91clBvb2xQY3RPZldob2xlOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzcxCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW8ucG9vbFBjdE9mV2hvbGVbaV0gPSBvdXJQb29sUGN0T2ZXaG9sZQoJaW50YyAxNCAvLyA3MDAKCWZyYW1lX2RpZyA3IC8vIGk6IHVpbnQ2NAoJaW50YyAyIC8vIDgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJZnJhbWVfZGlnIDggLy8gb3VyUG9vbFBjdE9mV2hvbGU6IHVpbnQ2NAoJaXRvYgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKKmZvcl8yX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc2MgoJLy8gaSArPSAxCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDcgLy8gaTogdWludDY0CgliICpmb3JfMgoKKmZvcl8yX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NzMKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW87CglpbnRjIDE0IC8vICBoZWFkT2Zmc2V0CglpbnRjIDE4IC8vIDIwMAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoKKnNldFRva2VuUGF5b3V0UmF0aW8qcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gOAoJcmV0c3ViCgovLyBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzKCh1aW50NjQsdWludDY0LHVpbnQ2NCksdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9zdGFrZVVwZGF0ZWRWaWFSZXdhcmRzOgoJLy8gc2F0dXJhdGVkQnVyblRvRmVlU2luazogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA1CglidG9pCgoJLy8gdmFsaWRhdG9yQ29tbWlzc2lvbjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA0CglidG9pCgoJLy8gcmV3YXJkVG9rZW5BbW91bnRSZXNlcnZlZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gYWxnb1RvQWRkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBwb29sS2V5OiAodWludDY0LHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAzIC8vIDI0Cgk9PQoKCS8vIGFyZ3VtZW50IDQgKHBvb2xLZXkpIGZvciBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzIG11c3QgYmUgYSAodWludDY0LHVpbnQ2NCx1aW50NjQpCglhc3NlcnQKCgkvLyBleGVjdXRlIHN0YWtlVXBkYXRlZFZpYVJld2FyZHMoKHVpbnQ2NCx1aW50NjQsdWludDY0KSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzKHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXksIGFsZ29Ub0FkZDogdWludDY0LCByZXdhcmRUb2tlbkFtb3VudFJlc2VydmVkOiB1aW50NjQsIHZhbGlkYXRvckNvbW1pc3Npb246IHVpbnQ2NCwgc2F0dXJhdGVkQnVyblRvRmVlU2luazogdWludDY0KTogdm9pZAovLwovLyBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzIGlzIGNhbGxlZCBieSBTdGFraW5nIHBvb2xzIHRvIGluZm9ybSB0aGUgdmFsaWRhdG9yICh1cykgdGhhdCBhIHBhcnRpY3VsYXIgYW1vdW50IG9mIHRvdGFsCi8vIHN0YWtlIGhhcyBiZWVuIGFkZGVkIHRvIHRoZSBzcGVjaWZpZWQgcG9vbC4gIFRoaXMgaXMgdXNlZCB0byB1cGRhdGUgdGhlIHN0YXRzIHdlIGhhdmUgaW4gb3VyIFBvb2xJbmZvIHN0b3JhZ2UuCi8vIFRoZSBjYWxsaW5nIEFwcCBpZCBpcyB2YWxpZGF0ZWQgYWdhaW5zdCBvdXIgcG9vbCBsaXN0IGFzIHdlbGwuCi8vIEBwYXJhbSB7VmFsaWRhdG9yUG9vbEtleX0gcG9vbEtleSAtIFZhbGlkYXRvclBvb2xLZXkgdHlwZQovLyBAcGFyYW0ge3VpbnQ2NH0gYWxnb1RvQWRkIC0gYW1vdW50IHRoaXMgdmFsaWRhdG9yJ3MgdG90YWwgc3Rha2UgaW5jcmVhc2VkIHZpYSByZXdhcmRzCi8vIEBwYXJhbSB7dWludDY0fSByZXdhcmRUb2tlbkFtb3VudFJlc2VydmVkIC0gYW1vdW50IHRoaXMgdmFsaWRhdG9yJ3MgdG90YWwgc3Rha2UgaW5jcmVhc2VkIHZpYSByZXdhcmRzICh0aGF0IHNob3VsZCBiZQovLyBAcGFyYW0ge3VpbnQ2NH0gdmFsaWRhdG9yQ29tbWlzc2lvbiAtIHRoZSBjb21taXNzaW9uIGFtb3VudCB0aGUgdmFsaWRhdG9yIHdhcyBwYWlkLCBpZiBhbnkKLy8gQHBhcmFtIHt1aW50NjR9IHNhdHVyYXRlZEJ1cm5Ub0ZlZVNpbmsgLSBpZiB0aGUgcG9vbCB3YXMgaW4gc2F0dXJhdGVkIHN0YXRlLCB0aGUgYW1vdW50IHNlbnQgYmFjayB0byB0aGUgZmVlIHNpbmsuCi8vIHNlZW4gYXMgJ2FjY291bnRlZCBmb3IvcGVuZGluZyBzcGVudCcpCnN0YWtlVXBkYXRlZFZpYVJld2FyZHM6Cglwcm90byA1IDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Nzk0CgkvLyB0aGlzLnZlcmlmeVBvb2xLZXlDYWxsZXIocG9vbEtleSkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CgljYWxsc3ViIHZlcmlmeVBvb2xLZXlDYWxsZXIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Nzk3CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXS50b3RhbEFsZ29TdGFrZWQgKz0gYWxnb1RvQWRkCglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50YyAxIC8vIDEKCS0KCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDExIC8vICBoZWFkT2Zmc2V0CgkrCglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50YyAxIC8vIDEKCS0KCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDExIC8vICBoZWFkT2Zmc2V0CgkrCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMiAvLyBhbGdvVG9BZGQ6IHVpbnQ2NAoJKwoJaXRvYgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Nzk4CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUuc3RhdGUudG90YWxBbGdvU3Rha2VkICs9IGFsZ29Ub0FkZAoJaW50YyAxMiAvLyAyNTIKCWR1cAoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9kaWcgLTIgLy8gYWxnb1RvQWRkOiB1aW50NjQKCSsKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc5OQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnJld2FyZFRva2VuSGVsZEJhY2sgKz0gcmV3YXJkVG9rZW5BbW91bnRSZXNlcnZlZAoJaW50YyAxMyAvLyAyNjAKCWR1cAoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9kaWcgLTMgLy8gcmV3YXJkVG9rZW5BbW91bnRSZXNlcnZlZDogdWludDY0CgkrCglpdG9iCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4MDEKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlICs9IGFsZ29Ub0FkZAoJYnl0ZWMgNCAvLyAgInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTIgLy8gYWxnb1RvQWRkOiB1aW50NjQKCSsKCWJ5dGVjIDQgLy8gICJzdGFrZWQiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4MDQKCS8vIHRoaXMucmV2ZXJpZnlORkRPd25lcnNoaXAocG9vbEtleS5pZCkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJY2FsbHN1YiByZXZlcmlmeU5GRE93bmVyc2hpcAoJcmV0c3ViCgovLyBzdGFrZVJlbW92ZWQoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkCiphYmlfcm91dGVfc3Rha2VSZW1vdmVkOgoJLy8gc3Rha2VyUmVtb3ZlZDogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNQoJZHVwCglsZW4KCWludGMgMSAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHN0YWtlclJlbW92ZWQpIGZvciBzdGFrZVJlbW92ZWQgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAwIC8vIDAKCWdldGJpdAoKCS8vIHJld2FyZFJlbW92ZWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJYnRvaQoKCS8vIGFtb3VudFJlbW92ZWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIHN0YWtlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgNCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAzIChzdGFrZXIpIGZvciBzdGFrZVJlbW92ZWQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIHBvb2xLZXk6ICh1aW50NjQsdWludDY0LHVpbnQ2NCkKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDMgLy8gMjQKCT09CgoJLy8gYXJndW1lbnQgNCAocG9vbEtleSkgZm9yIHN0YWtlUmVtb3ZlZCBtdXN0IGJlIGEgKHVpbnQ2NCx1aW50NjQsdWludDY0KQoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzdGFrZVJlbW92ZWQoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkCgljYWxsc3ViIHN0YWtlUmVtb3ZlZAoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gc3Rha2VSZW1vdmVkKHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXksIHN0YWtlcjogQWRkcmVzcywgYW1vdW50UmVtb3ZlZDogdWludDY0LCByZXdhcmRSZW1vdmVkOiB1aW50NjQsIHN0YWtlclJlbW92ZWQ6IGJvb2xlYW4pOiB2b2lkCi8vCi8vIHN0YWtlUmVtb3ZlZCBpcyBjYWxsZWQgYnkgU3Rha2luZyBwb29scyB0byBpbmZvcm0gdGhlIHZhbGlkYXRvciAodXMpIHRoYXQgYSBwYXJ0aWN1bGFyIGFtb3VudCBvZiB0b3RhbCBzdGFrZSBoYXMgYmVlbiByZW1vdmVkCi8vIGZyb20gdGhlIHNwZWNpZmllZCBwb29sLiAgVGhpcyBpcyB1c2VkIHRvIHVwZGF0ZSB0aGUgc3RhdHMgd2UgaGF2ZSBpbiBvdXIgUG9vbEluZm8gc3RvcmFnZS4KLy8gSWYgYW55IGFtb3VudCBvZiByZXdhcmRSZW1vdmVkIGlzIHNwZWNpZmllZCwgdGhlbiB0aGF0IGFtb3VudCBvZiByZXdhcmQgaXMgc2VudCB0byB0aGUgdXNlCi8vIFRoZSBjYWxsaW5nIEFwcCBpZCBpcyB2YWxpZGF0ZWQgYWdhaW5zdCBvdXIgcG9vbCBsaXN0IGFzIHdlbGwuCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9yUG9vbEtleX0gcG9vbEtleSBjYWxsaW5nIHVzIGZyb20gd2hpY2ggc3Rha2Ugd2FzIHJlbW92ZWQKLy8gQHBhcmFtIHtBZGRyZXNzfSBzdGFrZXIKLy8gQHBhcmFtIHt1aW50NjR9IGFtb3VudFJlbW92ZWQgLSBhbGdvIGFtb3VudCByZW1vdmVkCi8vIEBwYXJhbSB7dWludDY0fSByZXdhcmRSZW1vdmVkIC0gaWYgYXBwbGljYWJsZSwgYW1vdW50IG9mIHRva2VuIHJld2FyZCByZW1vdmVkIChieSBwb29sIDEgY2FsbGVyKSBvciBUTyByZW1vdmUgYW5kIHBheSBvdXQgKHZpYSBwb29sIDEgZnJvbSBkaWZmZXJlbnQgcG9vbCBjYWxsZXIpCi8vIEBwYXJhbSB7Ym9vbGVhbn0gc3Rha2VyUmVtb3ZlZApzdGFrZVJlbW92ZWQ6Cglwcm90byA1IDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiAzCgoJLy8gKmlmMTVfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODM2CgkvLyBnbG9iYWxzLm9wY29kZUJ1ZGdldCA8IDMwMAoJZ2xvYmFsIE9wY29kZUJ1ZGdldAoJaW50YyAyOSAvLyAzMDAKCTwKCWJ6ICppZjE1X2VuZAoKCS8vICppZjE1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4MzcKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgNyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyA4IC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDI2IC8vICBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoqaWYxNV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODM5CgkvLyB0aGlzLnZlcmlmeVBvb2xLZXlDYWxsZXIocG9vbEtleSkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CgljYWxsc3ViIHZlcmlmeVBvb2xLZXlDYWxsZXIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODQzCgkvLyBhc3NlcnQoYW1vdW50UmVtb3ZlZCA+IDAgfHwgcmV3YXJkUmVtb3ZlZCA+IDAsICdzaG91bGQgb25seSBiZSBjYWxsZWQgaWYgYWxnbyBvciByZXdhcmQgd2FzIHJlbW92ZWQnKQoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudFJlbW92ZWQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT4KCWR1cAoJYm56ICpza2lwX29yMgoJZnJhbWVfZGlnIC00IC8vIHJld2FyZFJlbW92ZWQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT4KCXx8Cgoqc2tpcF9vcjI6CgkvLyBzaG91bGQgb25seSBiZSBjYWxsZWQgaWYgYWxnbyBvciByZXdhcmQgd2FzIHJlbW92ZWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NDYKCS8vIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5wb29sc1twb29sS2V5LnBvb2xJZCAtIDFdLnRvdGFsQWxnb1N0YWtlZCAtPSBhbW91bnRSZW1vdmVkCglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50YyAxIC8vIDEKCS0KCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDExIC8vICBoZWFkT2Zmc2V0CgkrCglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50YyAxIC8vIDEKCS0KCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDExIC8vICBoZWFkT2Zmc2V0CgkrCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMyAvLyBhbW91bnRSZW1vdmVkOiB1aW50NjQKCS0KCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg0NwoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnRvdGFsQWxnb1N0YWtlZCAtPSBhbW91bnRSZW1vdmVkCglpbnRjIDEyIC8vIDI1MgoJZHVwCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMyAvLyBhbW91bnRSZW1vdmVkOiB1aW50NjQKCS0KCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg0OAoJLy8gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgLT0gYW1vdW50UmVtb3ZlZAoJYnl0ZWMgNCAvLyAgInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTMgLy8gYW1vdW50UmVtb3ZlZDogdWludDY0CgktCglieXRlYyA0IC8vICAic3Rha2VkIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCgkvLyAqaWYxNl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NTAKCS8vIHJld2FyZFJlbW92ZWQgPiAwCglmcmFtZV9kaWcgLTQgLy8gcmV3YXJkUmVtb3ZlZDogdWludDY0CglpbnRjIDAgLy8gMAoJPgoJYnogKmlmMTZfZWxzZQoKCS8vICppZjE2X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NTEKCS8vIHJld2FyZFRva2VuSUQgPSB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUuY29uZmlnLnJld2FyZFRva2VuSWQKCWludGMgMzggLy8gMTUzCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyByZXdhcmRUb2tlbklEOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODUyCgkvLyBhc3NlcnQocmV3YXJkVG9rZW5JRCAhPT0gMCwgInJld2FyZFJlbW92ZWQgY2FuJ3QgYmUgc2V0IGlmIHZhbGlkYXRvciBkb2Vzbid0IGhhdmUgcmV3YXJkIHRva2VuISIpCglmcmFtZV9kaWcgMCAvLyByZXdhcmRUb2tlbklEOiB1aW50NjQKCWludGMgMCAvLyAwCgkhPQoKCS8vIHJld2FyZFJlbW92ZWQgY2FuJ3QgYmUgc2V0IGlmIHZhbGlkYXRvciBkb2Vzbid0IGhhdmUgcmV3YXJkIHRva2VuIQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg1MwoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUuc3RhdGUucmV3YXJkVG9rZW5IZWxkQmFjayA+PSByZXdhcmRSZW1vdmVkLAoJLy8gICAgICAgICAncmV3YXJkIGJlaW5nIHJlbW92ZWQgbXVzdCBiZSBjb3ZlcmVkIGJ5IGhvbGQgYmFjayBhbW91bnQnCgkvLyAgICAgICApCglpbnRjIDEzIC8vIDI2MAoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9kaWcgLTQgLy8gcmV3YXJkUmVtb3ZlZDogdWludDY0Cgk+PQoKCS8vIHJld2FyZCBiZWluZyByZW1vdmVkIG11c3QgYmUgY292ZXJlZCBieSBob2xkIGJhY2sgYW1vdW50Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODU5CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUuc3RhdGUucmV3YXJkVG9rZW5IZWxkQmFjayAtPSByZXdhcmRSZW1vdmVkCglpbnRjIDEzIC8vIDI2MAoJZHVwCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtNCAvLyByZXdhcmRSZW1vdmVkOiB1aW50NjQKCS0KCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gKmlmMTdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODY0CgkvLyBwb29sS2V5LnBvb2xJZCAhPT0gMQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnRjIDEgLy8gMQoJIT0KCWJ6ICppZjE3X2VuZAoKCS8vICppZjE3X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NjUKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBTdGFraW5nUG9vbC5wcm90b3R5cGUucGF5VG9rZW5SZXdhcmQ+KHsKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5wb29sc1swXS5wb29sQXBwSWQpLAoJLy8gICAgICAgICAgIG1ldGhvZEFyZ3M6IFtzdGFrZXIsIHJld2FyZFRva2VuSUQsIHJld2FyZFJlbW92ZWRdLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyA3IC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglieXRlYyAxNCAvLyAgbWV0aG9kICJwYXlUb2tlblJld2FyZChhZGRyZXNzLHVpbnQ2NCx1aW50NjQpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg2NgoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbMF0ucG9vbEFwcElkKQoJaW50YyA2IC8vIDI2OAoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODY3CgkvLyBtZXRob2RBcmdzOiBbc3Rha2VyLCByZXdhcmRUb2tlbklELCByZXdhcmRSZW1vdmVkXQoJZnJhbWVfZGlnIC0yIC8vIHN0YWtlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAwIC8vIHJld2FyZFRva2VuSUQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtNCAvLyByZXdhcmRSZW1vdmVkOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMTdfZW5kOgoJYiAqaWYxNl9lbmQKCippZjE2X2Vsc2U6CgoqaWYxNl9lbmQ6CgkvLyAqaWYxOF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4OTIKCS8vIHN0YWtlclJlbW92ZWQKCWZyYW1lX2RpZyAtNSAvLyBzdGFrZXJSZW1vdmVkOiBib29sZWFuCglieiAqaWYxOF9lbmQKCgkvLyAqaWYxOF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODk0CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXS50b3RhbFN0YWtlcnMgLT0gMQoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMSAvLyAxCgktCglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAyIC8vICBoZWFkT2Zmc2V0CgkrCglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50YyAxIC8vIDEKCS0KCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDIgLy8gIGhlYWRPZmZzZXQKCSsKCWludGMgMTAgLy8gMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWludGMgMSAvLyAxCgktCglpdG9iCglkdXAKCWJpdGxlbgoJaW50YyAyNyAvLyAxNgoJPD0KCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXS50b3RhbFN0YWtlcnMgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4OTYKCS8vIHJlbW92ZVJldCA9IHRoaXMucmVtb3ZlRnJvbVN0YWtlclBvb2xTZXQoc3Rha2VyLCA8VmFsaWRhdG9yUG9vbEtleT57CgkvLyAgICAgICAgIGlkOiBwb29sS2V5LmlkLAoJLy8gICAgICAgICBwb29sSWQ6IHBvb2xLZXkucG9vbElkLAoJLy8gICAgICAgICBwb29sQXBwSWQ6IHBvb2xLZXkucG9vbEFwcElkLAoJLy8gICAgICAgfSkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpdG9iCgljb25jYXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDE2IDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJZnJhbWVfZGlnIC0yIC8vIHN0YWtlcjogQWRkcmVzcwoJY2FsbHN1YiByZW1vdmVGcm9tU3Rha2VyUG9vbFNldAoJZnJhbWVfYnVyeSAxIC8vIHJlbW92ZVJldDogKGJvb2wsYm9vbCkKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTAxCgkvLyBzdGFrZXJPdXRPZlRoaXNWYWxpZGF0b3IgPSByZW1vdmVSZXRbMF0KCWZyYW1lX2RpZyAxIC8vIHJlbW92ZVJldDogKGJvb2wsYm9vbCkKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDAgLy8gMAoJZ2V0Yml0CglmcmFtZV9idXJ5IDIgLy8gc3Rha2VyT3V0T2ZUaGlzVmFsaWRhdG9yOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkwMgoJLy8gc3Rha2VyT3V0T2ZQcm90b2NvbCA9IHJlbW92ZVJldFsxXQoJZnJhbWVfZGlnIDEgLy8gcmVtb3ZlUmV0OiAoYm9vbCxib29sKQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAxCglnZXRiaXQKCWZyYW1lX2J1cnkgMyAvLyBzdGFrZXJPdXRPZlByb3RvY29sOiBib29sCgoJLy8gKmlmMTlfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTA0CgkvLyBzdGFrZXJPdXRPZlRoaXNWYWxpZGF0b3IKCWZyYW1lX2RpZyAyIC8vIHN0YWtlck91dE9mVGhpc1ZhbGlkYXRvcjogYm9vbAoJYnogKmlmMTlfZW5kCgoJLy8gKmlmMTlfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkwNQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnRvdGFsU3Rha2VycyAtPSAxCglpbnRjIDIzIC8vIDI0NAoJZHVwCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWludGMgMSAvLyAxCgktCglpdG9iCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKKmlmMTlfZW5kOgoJLy8gKmlmMjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTA4CgkvLyBzdGFrZXJPdXRPZlByb3RvY29sCglmcmFtZV9kaWcgMyAvLyBzdGFrZXJPdXRPZlByb3RvY29sOiBib29sCglieiAqaWYyMF9lbmQKCgkvLyAqaWYyMF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTA5CgkvLyB0aGlzLm51bVN0YWtlcnMudmFsdWUgLT0gMQoJYnl0ZWMgNyAvLyAgIm51bVN0YWtlcnMiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxIC8vIDEKCS0KCWJ5dGVjIDcgLy8gICJudW1TdGFrZXJzIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCippZjIwX2VuZDoKCippZjE4X2VuZDoKCXJldHN1YgoKLy8gZmluZFBvb2xGb3JTdGFrZXIodWludDY0LGFkZHJlc3MsdWludDY0KSgodWludDY0LHVpbnQ2NCx1aW50NjQpLGJvb2wsYm9vbCkKKmFiaV9yb3V0ZV9maW5kUG9vbEZvclN0YWtlcjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gYW1vdW50VG9TdGFrZTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gc3Rha2VyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyA0IC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKHN0YWtlcikgZm9yIGZpbmRQb29sRm9yU3Rha2VyIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBmaW5kUG9vbEZvclN0YWtlcih1aW50NjQsYWRkcmVzcyx1aW50NjQpKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoJY2FsbHN1YiBmaW5kUG9vbEZvclN0YWtlcgoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGZpbmRQb29sRm9yU3Rha2VyKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIHN0YWtlcjogQWRkcmVzcywgYW1vdW50VG9TdGFrZTogdWludDY0KTogW1ZhbGlkYXRvclBvb2xLZXksIGJvb2xlYW4sIGJvb2xlYW5dCi8vCi8vIEZpbmRzIHRoZSBwb29sIGZvciBhIHN0YWtlciBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgdmFsaWRhdG9yIGlkLCBzdGFrZXIgYWRkcmVzcywgYW5kIGFtb3VudCB0byBzdGFrZS4KLy8gRmlyc3QgY2hlY2tzIHRoZSBzdGFrZXJzICdhbHJlYWR5IHN0YWtlZCBsaXN0JyBmb3IgdGhlIHZhbGlkYXRvciBwcmVmZXJyaW5nIHRob3NlIChhZGRpbmcgaWYgcG9zc2libGUpIHRoZW4gYWRkcwovLyB0byBuZXcgcG9vbCBpZiBuZWNlc3NhcnkuCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yLgovLyBAcGFyYW0ge0FkZHJlc3N9IHN0YWtlciAtIFRoZSBhZGRyZXNzIG9mIHRoZSBzdGFrZXIuCi8vIEBwYXJhbSB7dWludDY0fSBhbW91bnRUb1N0YWtlIC0gVGhlIGFtb3VudCB0byBzdGFrZS4KLy8gQHJldHVybnMge1ZhbGlkYXRvclBvb2xLZXksIGJvb2xlYW4sIGJvb2xlYW59IC0gVGhlIHBvb2wgZm9yIHRoZSBzdGFrZXIsIHRydWUvZmFsc2Ugb24gd2hldGhlciB0aGUgc3Rha2VyIGlzICduZXcnCi8vIHRvIHRoaXMgVkFMSURBVE9SLCBhbmQgdHJ1ZS9mYWxzZSBpZiBzdGFrZXIgaXMgbmV3IHRvIHRoZSBwcm90b2NvbC4KZmluZFBvb2xGb3JTdGFrZXI6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiA3CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkzMAoJLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvciA9IHRydWUKCWludGMgMSAvLyAxCglmcmFtZV9idXJ5IDAgLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvcjogYm9vbAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5MzEKCS8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbCA9IHRydWUKCWludGMgMSAvLyAxCglmcmFtZV9idXJ5IDEgLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkzOQoJLy8gbWF4UGVyUG9vbCA9IHRoaXMuZ2V0Q3VyTWF4U3Rha2VQZXJQb29sKHZhbGlkYXRvcklkKQoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWNhbGxzdWIgZ2V0Q3VyTWF4U3Rha2VQZXJQb29sCglmcmFtZV9idXJ5IDIgLy8gbWF4UGVyUG9vbDogdWludDY0CgoJLy8gKmlmMjFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTQyCgkvLyB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS5leGlzdHMKCWJ5dGVjIDMgLy8gICJzcHMiCglmcmFtZV9kaWcgLTIgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWJveF9sZW4KCXN3YXAKCXBvcAoJYnogKmlmMjFfZW5kCgoJLy8gKmlmMjFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0MwoJLy8gcG9vbFNldCA9IGNsb25lKHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlKQoJYnl0ZWMgMyAvLyAgInNwcyIKCWZyYW1lX2RpZyAtMiAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUKCWFzc2VydAoJZnJhbWVfYnVyeSAzIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTQ0CgkvLyBhc3NlcnQodmFsaWRhdG9ySWQgIT09IDApCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaW50YyAwIC8vIDAKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTQ1CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHBvb2xTZXQubGVuZ3RoOyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSA0IC8vIGk6IHVpbnQ2NAoKKmZvcl8zOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0NQoJLy8gaSA8IHBvb2xTZXQubGVuZ3RoCglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludGMgNyAvLyA2Cgk8CglieiAqZm9yXzNfZW5kCgoJLy8gKmlmMjJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTQ2CgkvLyBnbG9iYWxzLm9wY29kZUJ1ZGdldCA8IDMwMAoJZ2xvYmFsIE9wY29kZUJ1ZGdldAoJaW50YyAyOSAvLyAzMDAKCTwKCWJ6ICppZjIyX2VuZAoKCS8vICppZjIyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NDcKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgNyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyA4IC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDI2IC8vICBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoqaWYyMl9lbmQ6CgkvLyAqaWYyM19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NDkKCS8vIHBvb2xTZXRbaV0uaWQgPT09IDAKCWZyYW1lX2RpZyAzIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMCAvLyAwCgkrCglpbnRjIDIgLy8gOAoJZXh0cmFjdDMKCWJ0b2kKCWludGMgMCAvLyAwCgk9PQoJYnogKmlmMjNfZW5kCgoJLy8gKmlmMjNfY29uc2VxdWVudAoJYiAqZm9yXzNfY29udGludWUKCippZjIzX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NTIKCS8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbCA9IGZhbHNlCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbAoKCS8vICppZjI0X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk1MwoJLy8gcG9vbFNldFtpXS5pZCA9PT0gdmFsaWRhdG9ySWQKCWZyYW1lX2RpZyAzIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMCAvLyAwCgkrCglpbnRjIDIgLy8gOAoJZXh0cmFjdDMKCWJ0b2kKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCgk9PQoJYnogKmlmMjRfZW5kCgoJLy8gKmlmMjRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk1NQoJLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvciA9IGZhbHNlCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAwIC8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2wKCgkvLyAqaWYyNV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NTcKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUucG9vbHNbcG9vbFNldFtpXS5wb29sSWQgLSAxXS50b3RhbEFsZ29TdGFrZWQgKyBhbW91bnRUb1N0YWtlIDw9CgkvLyAgICAgICAgICAgICBtYXhQZXJQb29sCglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAzIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMiAvLyAgaGVhZE9mZnNldAoJKwoJaW50YyAyIC8vIDgKCWV4dHJhY3QzCglidG9pCglpbnRjIDEgLy8gMQoJLQoJaW50YyA1IC8vIDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgMTEgLy8gIGhlYWRPZmZzZXQKCSsKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9kaWcgLTMgLy8gYW1vdW50VG9TdGFrZTogdWludDY0CgkrCglmcmFtZV9kaWcgMiAvLyBtYXhQZXJQb29sOiB1aW50NjQKCTw9CglieiAqaWYyNV9lbmQKCgkvLyAqaWYyNV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTYwCgkvLyByZXR1cm4gW3Bvb2xTZXRbaV0sIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3IsIGlzTmV3U3Rha2VyVG9Qcm90b2NvbF07CglmcmFtZV9kaWcgMyAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDMgLy8gMjQKCWV4dHJhY3QzCglieXRlYyA1IC8vIDB4MDAKCWludGMgMCAvLyAwCglmcmFtZV9kaWcgMCAvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yOiBib29sCglzZXRiaXQKCWludGMgMSAvLyAxCglmcmFtZV9kaWcgMSAvLyBpc05ld1N0YWtlclRvUHJvdG9jb2w6IGJvb2wKCXNldGJpdAoJY29uY2F0CgliICpmaW5kUG9vbEZvclN0YWtlcipyZXR1cm4KCippZjI1X2VuZDoKCippZjI0X2VuZDoKCipmb3JfM19jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NDUKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSA0IC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzMKCipmb3JfM19lbmQ6CgoqaWYyMV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTY3CgkvLyBhc3NlcnQoCgkvLyAgICAgICBhbW91bnRUb1N0YWtlID49IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm1pbkVudHJ5U3Rha2UsCgkvLyAgICAgICAnbXVzdCBzdGFrZSBhdCBsZWFzdCB0aGUgbWluaW11bSBmb3IgdGhpcyBwb29sJwoJLy8gICAgICkKCWZyYW1lX2RpZyAtMyAvLyBhbW91bnRUb1N0YWtlOiB1aW50NjQKCWludGMgMzkgLy8gMjA5CglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJPj0KCgkvLyBtdXN0IHN0YWtlIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGZvciB0aGlzIHBvb2wKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NzMKCS8vIHBvb2xzID0gY2xvbmUodGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5wb29scykKCWludGMgNiAvLyAgaGVhZE9mZnNldAoJaW50YyAzMCAvLyA0MzIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2J1cnkgNSAvLyBwb29sczogKHVpbnQ2NCx1aW50MTYsdWludDY0KVsyNF0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTc0CgkvLyBjdXJOdW1Qb29scyA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUubnVtUG9vbHMgYXMgdWludDY0CglpbnRjIDggLy8gMjQyCglpbnRjIDEwIC8vIDIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgNiAvLyBjdXJOdW1Qb29sczogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk3NQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBjdXJOdW1Qb29sczsgaSArPSAxKQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgNyAvLyBpOiB1aW50NjQKCipmb3JfNDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NzUKCS8vIGkgPCBjdXJOdW1Qb29scwoJZnJhbWVfZGlnIDcgLy8gaTogdWludDY0CglmcmFtZV9kaWcgNiAvLyBjdXJOdW1Qb29sczogdWludDY0Cgk8CglieiAqZm9yXzRfZW5kCgoJLy8gKmlmMjZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTc2CgkvLyBwb29sc1tpXS50b3RhbEFsZ29TdGFrZWQgKyBhbW91bnRUb1N0YWtlIDw9IG1heFBlclBvb2wKCWZyYW1lX2RpZyA1IC8vIHBvb2xzOiAodWludDY0LHVpbnQxNix1aW50NjQpWzI0XQoJZnJhbWVfZGlnIDcgLy8gaTogdWludDY0CglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAxMSAvLyAgaGVhZE9mZnNldAoJKwoJaW50YyAyIC8vIDgKCWV4dHJhY3QzCglidG9pCglmcmFtZV9kaWcgLTMgLy8gYW1vdW50VG9TdGFrZTogdWludDY0CgkrCglmcmFtZV9kaWcgMiAvLyBtYXhQZXJQb29sOiB1aW50NjQKCTw9CglieiAqaWYyNl9lbmQKCgkvLyAqaWYyNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTc3CgkvLyByZXR1cm4gWwoJLy8gICAgICAgICAgIHsgaWQ6IHZhbGlkYXRvcklkLCBwb29sSWQ6IGkgKyAxLCBwb29sQXBwSWQ6IHBvb2xzW2ldLnBvb2xBcHBJZCB9LAoJLy8gICAgICAgICAgIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3IsCgkvLyAgICAgICAgICAgaXNOZXdTdGFrZXJUb1Byb3RvY29sLAoJLy8gICAgICAgICBdOwoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWZyYW1lX2RpZyA3IC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWl0b2IKCWNvbmNhdAoJZnJhbWVfZGlnIDUgLy8gcG9vbHM6ICh1aW50NjQsdWludDE2LHVpbnQ2NClbMjRdCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDAgLy8gMAoJKwoJaW50YyAyIC8vIDgKCWV4dHJhY3QzCglidG9pCglpdG9iCgljb25jYXQKCWJ5dGVjIDUgLy8gMHgwMAoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyAwIC8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2wKCXNldGJpdAoJaW50YyAxIC8vIDEKCWZyYW1lX2RpZyAxIC8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbAoJc2V0Yml0Cgljb25jYXQKCWIgKmZpbmRQb29sRm9yU3Rha2VyKnJldHVybgoKKmlmMjZfZW5kOgoKKmZvcl80X2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk3NQoJLy8gaSArPSAxCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDcgLy8gaTogdWludDY0CgliICpmb3JfNAoKKmZvcl80X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5ODUKCS8vIHJldHVybiBbeyBpZDogdmFsaWRhdG9ySWQsIHBvb2xJZDogMCwgcG9vbEFwcElkOiAwIH0sIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3IsIGlzTmV3U3Rha2VyVG9Qcm90b2NvbF07CglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJYnl0ZWMgMTAgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCgljb25jYXQKCWJ5dGVjIDEwIC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJY29uY2F0CglieXRlYyA1IC8vIDB4MDAKCWludGMgMCAvLyAwCglmcmFtZV9kaWcgMCAvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yOiBib29sCglzZXRiaXQKCWludGMgMSAvLyAxCglmcmFtZV9kaWcgMSAvLyBpc05ld1N0YWtlclRvUHJvdG9jb2w6IGJvb2wKCXNldGJpdAoJY29uY2F0CgoqZmluZFBvb2xGb3JTdGFrZXIqcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNwoJcmV0c3ViCgovLyBtb3ZlUG9vbFRvTm9kZSh1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfbW92ZVBvb2xUb05vZGU6CgkvLyBub2RlTnVtOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCgkvLyBwb29sQXBwSWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIG1vdmVQb29sVG9Ob2RlKHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgbW92ZVBvb2xUb05vZGUKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIG1vdmVQb29sVG9Ob2RlKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIHBvb2xBcHBJZDogdWludDY0LCBub2RlTnVtOiB1aW50NjQpOiB2b2lkCi8vCi8vIEZpbmQgdGhlIHNwZWNpZmllZCBwb29sIChpbiBhbnkgbm9kZSBudW1iZXIpIGFuZCBtb3ZlIGl0IHRvIHRoZSBzcGVjaWZpZWQgbm9kZS4KLy8gVGhlIHBvb2wgYWNjb3VudCBpcyBmb3JjZWQgb2ZmbGluZSBpZiBtb3ZlZCBzbyBwcmlvciBub2RlIHdpbGwgc3RpbGwgcnVuIGZvciAzMjAgcm91bmRzIGJ1dAovLyBuZXcga2V5IGdvZXMgb25saW5lIG9uIG5ldyBub2RlIHNvb24gYWZ0ZXIgKDMyMCByb3VuZHMgYWZ0ZXIgaXQgZ29lcyBvbmxpbmUpCi8vIE5vLW9wIGlmIHN1Y2Nlc3MsIGFzc2VydHMgaWYgbm90IGZvdW5kIG9yIGNhbid0IG1vdmUgIChubyBzcGFjZSBpbiB0YXJnZXQpCi8vIFsgT05MWSBPV05FUiBPUiBNQU5BR0VSIENBTiBDSEFOR0UgXQovLwovLyBAcGFyYW0ge1ZhbGlkYXRvcklkVHlwZX0gdmFsaWRhdG9ySWQgLSBUaGUgaWQgb2YgdGhlIHZhbGlkYXRvci4KLy8gQHBhcmFtIHt1aW50NjR9IHBvb2xBcHBJZAovLyBAcGFyYW0ge3VpbnQ2NH0gbm9kZU51bQptb3ZlUG9vbFRvTm9kZToKCXByb3RvIDMgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CglkdXBuIDIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTAwMQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5vd25lciB8fAoJLy8gICAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm1hbmFnZXIsCgkvLyAgICAgICAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yJwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWludGMgMiAvLyA4CglpbnRjIDQgLy8gMzIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCT09CglkdXAKCWJueiAqc2tpcF9vcjMKCXR4biBTZW5kZXIKCWludGMgMTcgLy8gNDAKCWludGMgNCAvLyAzMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCXx8Cgoqc2tpcF9vcjM6CgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3IKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDA3CgkvLyBub2RlUG9vbEFzc2lnbm1lbnRzID0gY2xvbmUodGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5ub2RlUG9vbEFzc2lnbm1lbnRzKQoJaW50YyAxNiAvLyAgaGVhZE9mZnNldAoJaW50YyAyMiAvLyAxOTIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2J1cnkgMCAvLyBub2RlUG9vbEFzc2lnbm1lbnRzOiAoKHVpbnQ2NFszXSlbOF0pCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMDgKCS8vIGFzc2VydChub2RlTnVtID49IDEgJiYgbm9kZU51bSA8PSBNQVhfTk9ERVMsICdub2RlIG51bWJlciBvdXQgb2YgYWxsb3dhYmxlIHJhbmdlJykKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWludGMgMSAvLyAxCgk+PQoJZHVwCglieiAqc2tpcF9hbmQxCglmcmFtZV9kaWcgLTMgLy8gbm9kZU51bTogdWludDY0CglpbnRjIDIgLy8gOAoJPD0KCSYmCgoqc2tpcF9hbmQxOgoJLy8gbm9kZSBudW1iZXIgb3V0IG9mIGFsbG93YWJsZSByYW5nZQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTAKCS8vIGZvciAobGV0IHNyY05vZGVJZHggPSAwOyBzcmNOb2RlSWR4IDwgTUFYX05PREVTOyBzcmNOb2RlSWR4ICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIHNyY05vZGVJZHg6IHVpbnQ2NAoKKmZvcl81OgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTAKCS8vIHNyY05vZGVJZHggPCBNQVhfTk9ERVMKCWZyYW1lX2RpZyAxIC8vIHNyY05vZGVJZHg6IHVpbnQ2NAoJaW50YyAyIC8vIDgKCTwKCWJ6ICpmb3JfNV9lbmQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTAxMQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBNQVhfUE9PTFNfUEVSX05PREU7IGkgKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDIgLy8gaTogdWludDY0CgoqZm9yXzY6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTAxMQoJLy8gaSA8IE1BWF9QT09MU19QRVJfTk9ERQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDkgLy8gMwoJPAoJYnogKmZvcl82X2VuZAoKCS8vICppZjI3X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTIKCS8vIG5vZGVQb29sQXNzaWdubWVudHMubm9kZXNbc3JjTm9kZUlkeF0ucG9vbEFwcElkc1tpXSA9PT0gcG9vbEFwcElkCglmcmFtZV9kaWcgMCAvLyBub2RlUG9vbEFzc2lnbm1lbnRzOiAoKHVpbnQ2NFszXSlbOF0pCglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIDEgLy8gc3JjTm9kZUlkeDogdWludDY0CglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAwIC8vIDAKCSsKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyAyIC8vIDgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAyIC8vIDgKCWV4dHJhY3QzCglidG9pCglmcmFtZV9kaWcgLTIgLy8gcG9vbEFwcElkOiB1aW50NjQKCT09CglieiAqaWYyN19lbmQKCgkvLyAqaWYyN19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTAxMwoJLy8gYXNzZXJ0KG5vZGVOdW0gLSAxICE9PSBzcmNOb2RlSWR4LCAiY2FuJ3QgbW92ZSB0byBzYW1lIG5vZGUiKQoJZnJhbWVfZGlnIC0zIC8vIG5vZGVOdW06IHVpbnQ2NAoJaW50YyAxIC8vIDEKCS0KCWZyYW1lX2RpZyAxIC8vIHNyY05vZGVJZHg6IHVpbnQ2NAoJIT0KCgkvLyBjYW4ndCBtb3ZlIHRvIHNhbWUgbm9kZQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTUKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUubm9kZVBvb2xBc3NpZ25tZW50cy5ub2Rlc1tzcmNOb2RlSWR4XS5wb29sQXBwSWRzW2ldID0gMAoJaW50YyAxNiAvLyA5MDAKCWZyYW1lX2RpZyAxIC8vIHNyY05vZGVJZHg6IHVpbnQ2NAoJaW50YyAzIC8vIDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgMCAvLyAwCgkrCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMiAvLyA4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWJ5dGVjIDEwIC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDE4CgkvLyBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgU3Rha2luZ1Bvb2wucHJvdG90eXBlLmdvT2ZmbGluZT4oewoJLy8gICAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpLAoJLy8gICAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDcgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweDUxZWYzYjIxIC8vIG1ldGhvZCAiZ29PZmZsaW5lKCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTAxOQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpCglmcmFtZV9kaWcgLTIgLy8gcG9vbEFwcElkOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTAyMwoJLy8gdGhpcy5hZGRQb29sVG9Ob2RlKHZhbGlkYXRvcklkLCBwb29sQXBwSWQsIG5vZGVOdW0pCglmcmFtZV9kaWcgLTMgLy8gbm9kZU51bTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gcG9vbEFwcElkOiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCgljYWxsc3ViIGFkZFBvb2xUb05vZGUKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTAyNAoJLy8gcmV0dXJuOwoJcmV0c3ViCgoqaWYyN19lbmQ6CgoqZm9yXzZfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTAxMQoJLy8gaSArPSAxCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDIgLy8gaTogdWludDY0CgliICpmb3JfNgoKKmZvcl82X2VuZDoKCipmb3JfNV9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDEwCgkvLyBzcmNOb2RlSWR4ICs9IDEKCWZyYW1lX2RpZyAxIC8vIHNyY05vZGVJZHg6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMSAvLyBzcmNOb2RlSWR4OiB1aW50NjQKCWIgKmZvcl81CgoqZm9yXzVfZW5kOgoJLy8gY291bGRuJ3QgZmluZCBwb29sIGFwcCBpZCBpbiBub2RlcyB0byBtb3ZlCgllcnIKCXJldHN1YgoKLy8gZW1wdHlUb2tlblJld2FyZHModWludDY0LGFkZHJlc3MpdWludDY0CiphYmlfcm91dGVfZW1wdHlUb2tlblJld2FyZHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIHJlY2VpdmVyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyA0IC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHJlY2VpdmVyKSBmb3IgZW1wdHlUb2tlblJld2FyZHMgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGVtcHR5VG9rZW5SZXdhcmRzKHVpbnQ2NCxhZGRyZXNzKXVpbnQ2NAoJY2FsbHN1YiBlbXB0eVRva2VuUmV3YXJkcwoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGVtcHR5VG9rZW5SZXdhcmRzKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIHJlY2VpdmVyOiBBZGRyZXNzKTogdWludDY0Ci8vCi8vIFNlbmRzIHRoZSByZXdhcmQgdG9rZW5zIGhlbGQgaW4gcG9vbCAxIHRvIHNwZWNpZmllZCByZWNlaXZlci4KLy8gVGhpcyBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIGJ5IHRoZSBvd25lciB3aGVuIHRoZXkgd2FudCB0byBnZXQgcmV3YXJkIHRva2VucyAnYmFjaycgd2hpY2ggdGhleSBzZW50IHRvCi8vIHRoZSBmaXJzdCBwb29sIChsaWtlbHkgYmVjYXVzZSB2YWxpZGF0b3IgaXMgc3Vuc2V0dGluZy4gIEFueSB0b2tlbnMgY3VycmVudGx5ICdyZXNlcnZlZCcgZm9yIHN0YWtlcnMgdG8gY2xhaW0gd2lsbAovLyBOT1QgYmUgc2VudCBhcyB0aGV5IG11c3QgYmUgaGVsZCBiYWNrIGZvciBzdGFrZXJzIHRvIGxhdGVyIGNsYWltLgovLyBbIE9OTFkgT1dORVIgQ0FOIENBTExdCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yLgovLyBAcGFyYW0ge0FkZHJlc3N9IHJlY2VpdmVyIC0gdGhlIGFjY291bnQgdG8gc2VuZCB0aGUgdG9rZW5zIHRvIChtdXN0IGFscmVhZHkgYmUgb3B0ZWQtaW4gdG8gdGhlIHJld2FyZCB0b2tlbikKLy8gQHJldHVybnMge3VpbnQ2NH0gdGhlIGFtb3VudCBvZiByZXdhcmQgdG9rZW4gc2VudAplbXB0eVRva2VuUmV3YXJkczoKCXByb3RvIDIgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CglkdXBuIDMKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTA0MwoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5vd25lciwKCS8vICAgICAgICdjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyJwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWludGMgMiAvLyA4CglpbnRjIDQgLy8gMzIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCT09CgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwNDcKCS8vIHJld2FyZFRva2VuSWQgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5yZXdhcmRUb2tlbklkCglpbnRjIDM4IC8vIDE1MwoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyByZXdhcmRUb2tlbklkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTA0OAoJLy8gcmV3YXJkVG9rZW5IZWxkQmFjayA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUucmV3YXJkVG9rZW5IZWxkQmFjawoJaW50YyAxMyAvLyAyNjAKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDEgLy8gcmV3YXJkVG9rZW5IZWxkQmFjazogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwNDkKCS8vIGFzc2VydChyZXdhcmRUb2tlbklkICE9PSAwLCAidGhpcyB2YWxpZGF0b3IgZG9lc24ndCBoYXZlIGEgcmV3YXJkIHRva2VuIGRlZmluZWQiKQoJZnJhbWVfZGlnIDAgLy8gcmV3YXJkVG9rZW5JZDogdWludDY0CglpbnRjIDAgLy8gMAoJIT0KCgkvLyB0aGlzIHZhbGlkYXRvciBkb2Vzbid0IGhhdmUgYSByZXdhcmQgdG9rZW4gZGVmaW5lZAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwNTAKCS8vIHBvb2xPbmVBcHBJZCA9IEFwcElELmZyb21VaW50NjQodGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5wb29sc1swXS5wb29sQXBwSWQpCglpbnRjIDYgLy8gMjY4CglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAyIC8vIHBvb2xPbmVBcHBJZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwNTIKCS8vIHRva2VuUmV3YXJkQmFsID0gcG9vbE9uZUFwcElkLmFkZHJlc3MuYXNzZXRCYWxhbmNlKEFzc2V0SUQuZnJvbVVpbnQ2NChyZXdhcmRUb2tlbklkKSkgLSByZXdhcmRUb2tlbkhlbGRCYWNrCglmcmFtZV9kaWcgMiAvLyBwb29sT25lQXBwSWQ6IHVpbnQ2NAoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCglmcmFtZV9kaWcgMCAvLyByZXdhcmRUb2tlbklkOiB1aW50NjQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgMSAvLyByZXdhcmRUb2tlbkhlbGRCYWNrOiB1aW50NjQKCS0KCWZyYW1lX2J1cnkgMyAvLyB0b2tlblJld2FyZEJhbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwNTUKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBTdGFraW5nUG9vbC5wcm90b3R5cGUucGF5VG9rZW5SZXdhcmQ+KHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IHBvb2xPbmVBcHBJZCwKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFtyZWNlaXZlciwgcmV3YXJkVG9rZW5JZCwgdG9rZW5SZXdhcmRCYWxdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDcgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWJ5dGVjIDE0IC8vICBtZXRob2QgInBheVRva2VuUmV3YXJkKGFkZHJlc3MsdWludDY0LHVpbnQ2NCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTA1NgoJLy8gYXBwbGljYXRpb25JRDogcG9vbE9uZUFwcElkCglmcmFtZV9kaWcgMiAvLyBwb29sT25lQXBwSWQ6IHVpbnQ2NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwNTcKCS8vIG1ldGhvZEFyZ3M6IFtyZWNlaXZlciwgcmV3YXJkVG9rZW5JZCwgdG9rZW5SZXdhcmRCYWxdCglmcmFtZV9kaWcgLTIgLy8gcmVjZWl2ZXI6IEFkZHJlc3MKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMCAvLyByZXdhcmRUb2tlbklkOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMyAvLyB0b2tlblJld2FyZEJhbDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTA1OQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgcG9vbE9uZUFwcElkLmFkZHJlc3MuYXNzZXRCYWxhbmNlKEFzc2V0SUQuZnJvbVVpbnQ2NChyZXdhcmRUb2tlbklkKSkgPT09IHJld2FyZFRva2VuSGVsZEJhY2ssCgkvLyAgICAgICAnYmFsYW5jZSBvZiByZW1haW5pbmcgcmV3YXJkIHRva2VucyBzaG91bGQgbWF0Y2ggdGhlIGhlbGQgYmFjayBhbW91bnQnCgkvLyAgICAgKQoJZnJhbWVfZGlnIDIgLy8gcG9vbE9uZUFwcElkOiB1aW50NjQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJZnJhbWVfZGlnIDAgLy8gcmV3YXJkVG9rZW5JZDogdWludDY0Cglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIDEgLy8gcmV3YXJkVG9rZW5IZWxkQmFjazogdWludDY0Cgk9PQoKCS8vIGJhbGFuY2Ugb2YgcmVtYWluaW5nIHJld2FyZCB0b2tlbnMgc2hvdWxkIG1hdGNoIHRoZSBoZWxkIGJhY2sgYW1vdW50Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTA2MwoJLy8gcmV0dXJuIHRva2VuUmV3YXJkQmFsOwoJZnJhbWVfZGlnIDMgLy8gdG9rZW5SZXdhcmRCYWw6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDMKCXJldHN1YgoKLy8gdmVyaWZ5UG9vbEtleUNhbGxlcihwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5KTogdm9pZAovLwovLyBMb2dzIHRoZSBhZGRpdGlvbiBvZiBhIG5ldyB2YWxpZGF0b3IgdG8gdGhlIHN5c3RlbSwgaXRzIGluaXRpYWwgb3duZXIgYW5kIG1hbmFnZXIKLy8KLy8KLy8gdmVyaWZ5UG9vbEtleUNhbGxlciB2ZXJpZmllcyB0aGUgcGFzc2VkIGluIGtleSAoZnJvbSBhIHN0YWtpbmcgcG9vbCBjYWxsaW5nIHVzIHRvIHVwZGF0ZSBtZXRyaWNzKSBpcyB2YWxpZAovLyBhbmQgbWF0Y2hlcyB0aGUgaW5mb3JtYXRpb24gd2UgaGF2ZSBpbiBvdXIgc3RhdGUuICAnRmFrZScgcG9vbHMgY291bGQgY2FsbCB1cyB0byB1cGRhdGUgb3VyIGRhdGEsIGJ1dCB0aGV5Ci8vIGNhbid0IGZha2UgdGhlIGlkcyBhbmQgbW9zdCBpbXBvcnRhbnRseSBhcHBsaWNhdGlvbiBpZCghKSBvZiB0aGUgY2FsbGVyIHRoYXQgaGFzIHRvIG1hdGNoLgp2ZXJpZnlQb29sS2V5Q2FsbGVyOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjExNjEKCS8vIGFzc2VydCh0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkuZXhpc3RzLCAidGhlIHNwZWNpZmllZCB2YWxpZGF0b3IgaWQgaXNuJ3QgdmFsaWQiKQoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgoJLy8gdGhlIHNwZWNpZmllZCB2YWxpZGF0b3IgaWQgaXNuJ3QgdmFsaWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTYyCgkvLyBhc3NlcnQocG9vbEtleS5wb29sSWQgPD0gTUFYX1BPT0xTLCAncG9vbCBpZCBub3QgaW4gdmFsaWQgcmFuZ2UnKQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnRjIDMgLy8gMjQKCTw9CgoJLy8gcG9vbCBpZCBub3QgaW4gdmFsaWQgcmFuZ2UKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTYzCgkvLyBhc3NlcnQoCgkvLyAgICAgICBwb29sS2V5LnBvb2xJZCA+IDAgJiYgKHBvb2xLZXkucG9vbElkIGFzIHVpbnQxNikgPD0gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLm51bVBvb2xzLAoJLy8gICAgICAgJ3Bvb2wgaWQgb3V0c2lkZSBvZiByYW5nZSBvZiBwb29scyBjcmVhdGVkIGZvciB0aGlzIHZhbGlkYXRvcicKCS8vICAgICApCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMCAvLyAwCgk+CglkdXAKCWJ6ICpza2lwX2FuZDIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50YyA4IC8vIDI0MgoJaW50YyAxMCAvLyAyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJPD0KCSYmCgoqc2tpcF9hbmQyOgoJLy8gcG9vbCBpZCBvdXRzaWRlIG9mIHJhbmdlIG9mIHBvb2xzIGNyZWF0ZWQgZm9yIHRoaXMgdmFsaWRhdG9yCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE2OQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgcG9vbEtleS5wb29sQXBwSWQgPT09IHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5wb29sc1twb29sS2V5LnBvb2xJZCAtIDFdLnBvb2xBcHBJZCwKCS8vICAgICAgICJUaGUgcGFzc2VkIGluIGFwcCBpZCBkb2Vzbid0IG1hdGNoIHRoZSBwYXNzZWQgaW4gaWRzIgoJLy8gICAgICkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDE2IDgKCWJ0b2kKCWludGMgNiAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnRjIDEgLy8gMQoJLQoJaW50YyA1IC8vIDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgMCAvLyAwCgkrCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCT09CgoJLy8gVGhlIHBhc3NlZCBpbiBhcHAgaWQgZG9lc24ndCBtYXRjaCB0aGUgcGFzc2VkIGluIGlkcwoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjExNzQKCS8vIGFzc2VydCh0aGlzLnR4bi5zZW5kZXIgPT09IEFwcElELmZyb21VaW50NjQocG9vbEtleS5wb29sQXBwSWQpLmFkZHJlc3MpCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAxNiA4CglidG9pCglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE3NgoJLy8gYXNzZXJ0KHBvb2xLZXkuaWQgPT09IChBcHBJRC5mcm9tVWludDY0KHBvb2xLZXkucG9vbEFwcElkKS5nbG9iYWxTdGF0ZSgndmFsaWRhdG9ySWQnKSBhcyB1aW50NjQpKQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAxNiA4CglidG9pCglwdXNoYnl0ZXMgMHg3NjYxNmM2OTY0NjE3NDZmNzI0OTY0IC8vICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KHBvb2xLZXkucG9vbEFwcElkKS5nbG9iYWxTdGF0ZSgndmFsaWRhdG9ySWQnKQoJYXNzZXJ0Cgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjExNzcKCS8vIGFzc2VydChwb29sS2V5LnBvb2xJZCA9PT0gKEFwcElELmZyb21VaW50NjQocG9vbEtleS5wb29sQXBwSWQpLmdsb2JhbFN0YXRlKCdwb29sSWQnKSBhcyB1aW50NjQpKQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAxNiA4CglidG9pCglwdXNoYnl0ZXMgMHg3MDZmNmY2YzQ5NjQgLy8gInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KHBvb2xLZXkucG9vbEFwcElkKS5nbG9iYWxTdGF0ZSgncG9vbElkJykKCWFzc2VydAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyByZXZlcmlmeU5GRE93bmVyc2hpcCh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlKTogdm9pZAovLwovLyBUaGlzIG1ldGhvZCB2ZXJpZmllcyB0aGUgb3duZXJzaGlwIG9mIE5GRCAoTmFtZWQgRnVuY3Rpb24gRGF0YSkgYnkgYSB2YWxpZGF0b3IuCi8vIElmIHRoZSBvd25lcnNoaXAgaXMgbm8gbG9uZ2VyIHZhbGlkLCBpdCByZW1vdmVzIHRoZSBORkQgZnJvbSB0aGUgdmFsaWRhdG9yJ3MgY29uZmlndXJhdGlvbi4KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3Igd2hvc2UgZGF0YSBzaG91bGQgYmUgcmUtZXZhbHVhdGVkLgpyZXZlcmlmeU5GRE93bmVyc2hpcDoKCXByb3RvIDEgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CglkdXAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE4NwoJLy8gdmFsaWRhdG9yQ29uZmlnID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIHN0b3JhZ2Uga2V5Ly92YWxpZGF0b3JDb25maWcKCgkvLyAqaWYyOF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTg4CgkvLyB2YWxpZGF0b3JDb25maWcubmZkRm9ySW5mbyAhPT0gMAoJaW50YyAyMSAvLyA3MgoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWludGMgMCAvLyAwCgkhPQoJYnogKmlmMjhfZW5kCgoJLy8gKmlmMjhfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjExOTEKCS8vIG5mZE93bmVyID0gQXBwSUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcubmZkRm9ySW5mbykuZ2xvYmFsU3RhdGUoJ2kub3duZXIuYScpIGFzIEFkZHJlc3MKCWludGMgMjEgLy8gNzIKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglieXRlYyA5IC8vICAiaS5vd25lci5hIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQodmFsaWRhdG9yQ29uZmlnLm5mZEZvckluZm8pLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKQoJYXNzZXJ0CglmcmFtZV9idXJ5IDEgLy8gbmZkT3duZXI6IGFkZHJlc3MKCgkvLyAqaWYyOV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTkzCgkvLyB2YWxpZGF0b3JDb25maWcub3duZXIgIT09IG5mZE93bmVyICYmIHZhbGlkYXRvckNvbmZpZy5tYW5hZ2VyICE9PSBuZmRPd25lcgoJaW50YyAyIC8vIDgKCWludGMgNCAvLyAzMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfZGlnIDEgLy8gbmZkT3duZXI6IGFkZHJlc3MKCSE9CglkdXAKCWJ6ICpza2lwX2FuZDMKCWludGMgMTcgLy8gNDAKCWludGMgNCAvLyAzMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfZGlnIDEgLy8gbmZkT3duZXI6IGFkZHJlc3MKCSE9CgkmJgoKKnNraXBfYW5kMzoKCWJ6ICppZjI5X2VuZAoKCS8vICppZjI5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTk1CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5uZmRGb3JJbmZvID0gMAoJaW50YyAyMSAvLyA3MgoJYnl0ZWMgMTAgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoqaWYyOV9lbmQ6CgoqaWYyOF9lbmQ6CglyZXRzdWIKCi8vIHZhbGlkYXRlQ29uZmlnKGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnKTogdm9pZAp2YWxpZGF0ZUNvbmZpZzoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjAyCgkvLyBhc3NlcnQoCgkvLyAgICAgICBjb25maWcuZW50cnlHYXRpbmdUeXBlID49IEdBVElOR19UWVBFX05PTkUgJiYgY29uZmlnLmVudHJ5R2F0aW5nVHlwZSA8PSBHQVRJTkdfVFlQRV9DT05TVF9NQVgsCgkvLyAgICAgICAnZ2F0aW5nIHR5cGUgbm90IHZhbGlkJwoJLy8gICAgICkKCWZyYW1lX2RpZyAtMSAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCA4MCAxCglidG9pCglpbnRjIDAgLy8gMAoJPj0KCWR1cAoJYnogKnNraXBfYW5kNAoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDgwIDEKCWJ0b2kKCWludGMgMjAgLy8gNAoJPD0KCSYmCgoqc2tpcF9hbmQ0OgoJLy8gZ2F0aW5nIHR5cGUgbm90IHZhbGlkCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTIwNgoJLy8gYXNzZXJ0KAoJLy8gICAgICAgY29uZmlnLmVwb2NoUm91bmRMZW5ndGggPj0gTUlOX0VQT0NIX0xFTkdUSCAmJiBjb25maWcuZXBvY2hSb3VuZExlbmd0aCA8PSBNQVhfRVBPQ0hfTEVOR1RILAoJLy8gICAgICAgJ2Vwb2NoIGxlbmd0aCBub3QgaW4gYWxsb3dhYmxlIHJhbmdlJwoJLy8gICAgICkKCWZyYW1lX2RpZyAtMSAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCAxNjkgNAoJYnRvaQoJaW50YyAxIC8vIDEKCT49CglkdXAKCWJ6ICpza2lwX2FuZDUKCWZyYW1lX2RpZyAtMSAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCAxNjkgNAoJYnRvaQoJaW50YyAyNCAvLyAxMDAwMDAwCgk8PQoJJiYKCipza2lwX2FuZDU6CgkvLyBlcG9jaCBsZW5ndGggbm90IGluIGFsbG93YWJsZSByYW5nZQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyMTAKCS8vIGFzc2VydCgKCS8vICAgICAgIGNvbmZpZy5wZXJjZW50VG9WYWxpZGF0b3IgPj0gTUlOX1BDVF9UT19WQUxJREFUT1IgJiYgY29uZmlnLnBlcmNlbnRUb1ZhbGlkYXRvciA8PSBNQVhfUENUX1RPX1ZBTElEQVRPUiwKCS8vICAgICAgICdjb21taXNzaW9uIHBlcmNlbnRhZ2Ugbm90IHZhbGlkJwoJLy8gICAgICkKCWZyYW1lX2RpZyAtMSAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCAxNzMgNAoJYnRvaQoJaW50YyAwIC8vIDAKCT49CglkdXAKCWJ6ICpza2lwX2FuZDYKCWZyYW1lX2RpZyAtMSAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCAxNzMgNAoJYnRvaQoJaW50YyAyNCAvLyAxMDAwMDAwCgk8PQoJJiYKCipza2lwX2FuZDY6CgkvLyBjb21taXNzaW9uIHBlcmNlbnRhZ2Ugbm90IHZhbGlkCglhc3NlcnQKCgkvLyAqaWYzMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjE0CgkvLyBjb25maWcucGVyY2VudFRvVmFsaWRhdG9yICE9PSAwCglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMTczIDQKCWJ0b2kKCWludGMgMCAvLyAwCgkhPQoJYnogKmlmMzBfZW5kCgoJLy8gKmlmMzBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyMTUKCS8vIGFzc2VydCgKCS8vICAgICAgICAgY29uZmlnLnZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzICE9PSBBZGRyZXNzLnplcm9BZGRyZXNzLAoJLy8gICAgICAgICAndmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3MgbXVzdCBiZSBzZXQgaWYgcGVyY2VudCB0byB2YWxpZGF0b3IgaXMgbm90IDAnCgkvLyAgICAgICApCglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMTc3IDMyCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9CgoJLy8gdmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3MgbXVzdCBiZSBzZXQgaWYgcGVyY2VudCB0byB2YWxpZGF0b3IgaXMgbm90IDAKCWFzc2VydAoKKmlmMzBfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyMjAKCS8vIGFzc2VydChjb25maWcubWluRW50cnlTdGFrZSA+PSBNSU5fQUxHT19TVEFLRV9QRVJfUE9PTCwgJ3N0YWtpbmcgcG9vbCBtdXN0IGhhdmUgbWluaW11bSBlbnRyeSBvZiAxIGFsZ28nKQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDIwOSA4CglidG9pCglpbnRjIDI0IC8vIDEwMDAwMDAKCT49CgoJLy8gc3Rha2luZyBwb29sIG11c3QgaGF2ZSBtaW5pbXVtIGVudHJ5IG9mIDEgYWxnbwoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyMjIKCS8vIGFzc2VydCgKCS8vICAgICAgIGNvbmZpZy5wb29sc1Blck5vZGUgPiAwICYmIGNvbmZpZy5wb29sc1Blck5vZGUgPD0gTUFYX1BPT0xTX1BFUl9OT0RFLAoJLy8gICAgICAgJ251bWJlciBvZiBwb29scyBwZXIgbm9kZSBleGNlZWRzIGFsbG93ZWQgbnVtYmVyJwoJLy8gICAgICkKCWZyYW1lX2RpZyAtMSAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCAyMjUgMQoJYnRvaQoJaW50YyAwIC8vIDAKCT4KCWR1cAoJYnogKnNraXBfYW5kNwoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDIyNSAxCglidG9pCglpbnRjIDkgLy8gMwoJPD0KCSYmCgoqc2tpcF9hbmQ3OgoJLy8gbnVtYmVyIG9mIHBvb2xzIHBlciBub2RlIGV4Y2VlZHMgYWxsb3dlZCBudW1iZXIKCWFzc2VydAoKCS8vICppZjMxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyMjYKCS8vIGNvbmZpZy5zdW5zZXR0aW5nT24gIT09IDAKCWZyYW1lX2RpZyAtMSAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCAyMjYgOAoJYnRvaQoJaW50YyAwIC8vIDAKCSE9CglieiAqaWYzMV9lbmQKCgkvLyAqaWYzMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTIyNwoJLy8gYXNzZXJ0KGNvbmZpZy5zdW5zZXR0aW5nT24gPiBnbG9iYWxzLmxhdGVzdFRpbWVzdGFtcCwgJ3N1bnNldHRpbmdPbiBtdXN0IGJlIGxhdGVyIHRoYW4gbm93IGlmIHNldCcpCglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMjI2IDgKCWJ0b2kKCWdsb2JhbCBMYXRlc3RUaW1lc3RhbXAKCT4KCgkvLyBzdW5zZXR0aW5nT24gbXVzdCBiZSBsYXRlciB0aGFuIG5vdyBpZiBzZXQKCWFzc2VydAoKKmlmMzFfZW5kOgoJcmV0c3ViCgovLyBjYWxsUG9vbEFkZFN0YWtlKHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4biwgcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleSwgbWJyQW10UGFpZDogdWludDY0LCBpc05ld1N0YWtlclRvVmFsaWRhdG9yOiBib29sZWFuLCBpc05ld1N0YWtlclRvUHJvdG9jb2w6IGJvb2xlYW4pOiB2b2lkCi8vCi8vIEFkZHMgYSBzdGFrZXJzIGFtb3VudCBvZiBhbGdvIHRvIGEgdmFsaWRhdG9yIHBvb2wsIHRyYW5zZmVycmluZyB0aGUgYWxnbyB3ZSByZWNlaXZlZCBmcm9tIHRoZW0gKGFscmVhZHkgdmVyaWZpZWQKLy8gYnkgb3VyIGNhbGxlcikgdG8gdGhlIHN0YWtpbmcgcG9vbCBhY2NvdW50LCBhbmQgdGhlbiB0ZWxsaW5nIGl0IGFib3V0IHRoZSBhbW91bnQgYmVpbmcgYWRkZWQgZm9yIHRoZSBzcGVjaWZpZWQKLy8gc3Rha2VyLgovLwovLyBAcGFyYW0ge1BheVR4bn0gc3Rha2VkQW1vdW50UGF5bWVudCAtIHBheW1lbnQgY29taW5nIGZyb20gc3Rha2VyIHRvIHBsYWNlIGludG8gYSBwb29sCi8vIEBwYXJhbSB7VmFsaWRhdG9yUG9vbEtleX0gcG9vbEtleSAtIFRoZSBrZXkgb2YgdGhlIHZhbGlkYXRvciBwb29sLgovLyBAcGFyYW0ge3VpbnQ2NH0gbWJyQW10UGFpZCAtIEFtb3VudCB0aGUgdXNlciBpcyBsZWF2aW5nIGJlaGluZCBpbiB0aGUgdmFsaWRhdG9yIHRvIHBheSBmb3IgdGhlaXIgc3Rha2VyIE1CUiBjb3N0Ci8vIEBwYXJhbSB7Ym9vbGVhbn0gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvciAtIGlmIHRoaXMgaXMgYSBuZXcsIGZpcnN0LXRpbWUgc3Rha2VyIHRvIHRoZSB2YWxpZGF0b3IKLy8gQHBhcmFtIHtib29sZWFufSBpc05ld1N0YWtlclRvUHJvdG9jb2wgLSBpZiB0aGlzIGlzIGEgbmV3LCBmaXJzdC10aW1lIHN0YWtlciB0byB0aGUgcHJvdG9jb2wKY2FsbFBvb2xBZGRTdGFrZToKCXByb3RvIDUgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CglkdXBuIDIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI0OQoJLy8gcG9vbEFwcElkID0gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnBvb2xzW3Bvb2xLZXkucG9vbElkIC0gMV0ucG9vbEFwcElkCglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50YyAxIC8vIDEKCS0KCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDAgLy8gMAoJKwoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDAgLy8gcG9vbEFwcElkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI1MwoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFN0YWtpbmdQb29sLnByb3RvdHlwZS5hZGRTdGFrZSwgdWludDY0Pih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgIC8vID09PT09PT0KCS8vICAgICAgICAgLy8gVEhJUyBJUyBBIFNFTkQgb2YgdGhlIGFtb3VudCByZWNlaXZlZCByaWdodCBiYWNrIG91dCBhbmQgaW50byB0aGUgc3Rha2luZyBwb29sIGNvbnRyYWN0IGFjY291bnQuCgkvLyAgICAgICAgIHsgYW1vdW50OiBzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCAtIG1ickFtdFBhaWQsIHJlY2VpdmVyOiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkuYWRkcmVzcyB9LAoJLy8gICAgICAgICAvLyA9PT09PT09CgkvLyAgICAgICAgIHN0YWtlZEFtb3VudFBheW1lbnQuc2VuZGVyLAoJLy8gICAgICAgXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI1OAoJLy8gYW1vdW50OiBzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCAtIG1ickFtdFBhaWQKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJZnJhbWVfZGlnIC0zIC8vIG1ickFtdFBhaWQ6IHVpbnQ2NAoJLQoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI1OAoJLy8gcmVjZWl2ZXI6IEFwcElELmZyb21VaW50NjQocG9vbEFwcElkKS5hZGRyZXNzCglmcmFtZV9kaWcgMCAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCglpdHhuX25leHQKCWludGMgNyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJcHVzaGJ5dGVzIDB4ZjljNzBjYmQgLy8gbWV0aG9kICJhZGRTdGFrZShwYXksYWRkcmVzcyl1aW50NjQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjU0CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkKCWZyYW1lX2RpZyAwIC8vIHBvb2xBcHBJZDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI1NQoJLy8gbWV0aG9kQXJnczogWwoJLy8gICAgICAgICAvLyA9PT09PT09CgkvLyAgICAgICAgIC8vIFRISVMgSVMgQSBTRU5EIG9mIHRoZSBhbW91bnQgcmVjZWl2ZWQgcmlnaHQgYmFjayBvdXQgYW5kIGludG8gdGhlIHN0YWtpbmcgcG9vbCBjb250cmFjdCBhY2NvdW50LgoJLy8gICAgICAgICB7IGFtb3VudDogc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQgLSBtYnJBbXRQYWlkLCByZWNlaXZlcjogQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpLmFkZHJlc3MgfSwKCS8vICAgICAgICAgLy8gPT09PT09PQoJLy8gICAgICAgICBzdGFrZWRBbW91bnRQYXltZW50LnNlbmRlciwKCS8vICAgICAgIF0KCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIFNlbmRlcgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludGMgMSAvLyAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWJ0b2kKCgkvLyAqaWYzMl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjYzCgkvLyBnbG9iYWxzLm9wY29kZUJ1ZGdldCA8IDUwMAoJZ2xvYmFsIE9wY29kZUJ1ZGdldAoJcHVzaGludCA1MDAKCTwKCWJ6ICppZjMyX2VuZAoKCS8vICppZjMyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjY0CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnRjIDcgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZWMgOCAvLyAgI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50YyAyNiAvLyAgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMzJfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNjgKCS8vIHBvb2xOdW1TdGFrZXJzID0gQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpLmdsb2JhbFN0YXRlKCdudW1TdGFrZXJzJykgYXMgdWludDY0CglmcmFtZV9kaWcgMCAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoJYnl0ZWMgNyAvLyAgIm51bVN0YWtlcnMiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpLmdsb2JhbFN0YXRlKCdudW1TdGFrZXJzJykKCWFzc2VydAoJZnJhbWVfYnVyeSAxIC8vIHBvb2xOdW1TdGFrZXJzOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI2OQoJLy8gcG9vbEFsZ29TdGFrZWQgPSBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ3N0YWtlZCcpIGFzIHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gcG9vbEFwcElkOiB1aW50NjQKCWJ5dGVjIDQgLy8gICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpLmdsb2JhbFN0YXRlKCdzdGFrZWQnKQoJYXNzZXJ0CglmcmFtZV9idXJ5IDIgLy8gcG9vbEFsZ29TdGFrZWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjcwCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXS50b3RhbFN0YWtlcnMgPSBwb29sTnVtU3Rha2VycyBhcyB1aW50MTYKCWludGMgNiAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnRjIDEgLy8gMQoJLQoJaW50YyA1IC8vIDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgMiAvLyAgaGVhZE9mZnNldAoJKwoJZnJhbWVfZGlnIDEgLy8gcG9vbE51bVN0YWtlcnM6IHVpbnQ2NAoJaXRvYgoJZHVwCgliaXRsZW4KCWludGMgMjcgLy8gMTYKCTw9CgoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnBvb2xzW3Bvb2xLZXkucG9vbElkIC0gMV0udG90YWxTdGFrZXJzIG92ZXJmbG93ZWQgMTYgYml0cwoJYXNzZXJ0CglleHRyYWN0IDYgMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI3MQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnBvb2xzW3Bvb2xLZXkucG9vbElkIC0gMV0udG90YWxBbGdvU3Rha2VkID0gcG9vbEFsZ29TdGFrZWQKCWludGMgNiAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnRjIDEgLy8gMQoJLQoJaW50YyA1IC8vIDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgMTEgLy8gIGhlYWRPZmZzZXQKCSsKCWZyYW1lX2RpZyAyIC8vIHBvb2xBbGdvU3Rha2VkOiB1aW50NjQKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gKmlmMzNfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI3NAoJLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvcgoJZnJhbWVfZGlnIC00IC8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2xlYW4KCWJ6ICppZjMzX2VuZAoKCS8vICppZjMzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjc1CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUuc3RhdGUudG90YWxTdGFrZXJzICs9IDEKCWludGMgMjMgLy8gMjQ0CglkdXAKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJaW50YyAxIC8vIDEKCSsKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoqaWYzM19lbmQ6CgkvLyAqaWYzNF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjc3CgkvLyBpc05ld1N0YWtlclRvUHJvdG9jb2wKCWZyYW1lX2RpZyAtNSAvLyBpc05ld1N0YWtlclRvUHJvdG9jb2w6IGJvb2xlYW4KCWJ6ICppZjM0X2VuZAoKCS8vICppZjM0X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjc4CgkvLyB0aGlzLm51bVN0YWtlcnMudmFsdWUgKz0gMQoJYnl0ZWMgNyAvLyAgIm51bVN0YWtlcnMiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxIC8vIDEKCSsKCWJ5dGVjIDcgLy8gICJudW1TdGFrZXJzIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCippZjM0X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjgwCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUuc3RhdGUudG90YWxBbGdvU3Rha2VkICs9IHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50IC0gbWJyQW10UGFpZAoJaW50YyAxMiAvLyAyNTIKCWR1cAoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWZyYW1lX2RpZyAtMyAvLyBtYnJBbXRQYWlkOiB1aW50NjQKCS0KCSsKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyODEKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlICs9IHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50IC0gbWJyQW10UGFpZAoJYnl0ZWMgNCAvLyAgInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWZyYW1lX2RpZyAtMyAvLyBtYnJBbXRQYWlkOiB1aW50NjQKCS0KCSsKCWJ5dGVjIDQgLy8gICJzdGFrZWQiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyB1cGRhdGVTdGFrZXJQb29sU2V0KHN0YWtlcjogQWRkcmVzcywgcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleSk6IHZvaWQKdXBkYXRlU3Rha2VyUG9vbFNldDoKCXByb3RvIDIgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CglkdXBuIDIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4NQoJLy8gYXNzZXJ0KHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLmV4aXN0cykKCWJ5dGVjIDMgLy8gICJzcHMiCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWJveF9sZW4KCXN3YXAKCXBvcAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyODcKCS8vIHBvb2xTZXQgPSBjbG9uZSh0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZSkKCWJ5dGVjIDMgLy8gICJzcHMiCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlCglhc3NlcnQKCWZyYW1lX2J1cnkgMCAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyODgKCS8vIGZpcnN0RW1wdHkgPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjg5CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlLmxlbmd0aDsgaSArPSAxKQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCipmb3JfNzoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjg5CgkvLyBpIDwgdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUubGVuZ3RoCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgNyAvLyA2Cgk8CglieiAqZm9yXzdfZW5kCgoJLy8gKmlmMzVfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI5MAoJLy8gcG9vbFNldFtpXSA9PT0gcG9vbEtleQoJZnJhbWVfZGlnIDAgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAzIC8vIDI0CglleHRyYWN0MwoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCT09CglieiAqaWYzNV9lbmQKCgkvLyAqaWYzNV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI5MgoJLy8gcmV0dXJuOwoJcmV0c3ViCgoqaWYzNV9lbmQ6CgkvLyAqaWYzNl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjk0CgkvLyBmaXJzdEVtcHR5ID09PSAwICYmIHBvb2xTZXRbaV0uaWQgPT09IDAKCWZyYW1lX2RpZyAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglkdXAKCWJ6ICpza2lwX2FuZDgKCWZyYW1lX2RpZyAwIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMCAvLyAwCgkrCglpbnRjIDIgLy8gOAoJZXh0cmFjdDMKCWJ0b2kKCWludGMgMCAvLyAwCgk9PQoJJiYKCipza2lwX2FuZDg6CglieiAqaWYzNl9lbmQKCgkvLyAqaWYzNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI5NQoJLy8gZmlyc3RFbXB0eSA9IGkgKyAxCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDEgLy8gZmlyc3RFbXB0eTogdWludDY0CgoqaWYzNl9lbmQ6CgoqZm9yXzdfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4OQoJLy8gaSArPSAxCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDIgLy8gaTogdWludDY0CgliICpmb3JfNwoKKmZvcl83X2VuZDoKCS8vICppZjM3X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyOTgKCS8vIGZpcnN0RW1wdHkgPT09IDAKCWZyYW1lX2RpZyAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglieiAqaWYzN19lbmQKCgkvLyAqaWYzN19jb25zZXF1ZW50CgkvLyBObyBlbXB0eSBzbG90IGF2YWlsYWJsZSBpbiB0aGUgc3Rha2VyIHBvb2wgc2V0CgllcnIKCippZjM3X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzAxCgkvLyB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZVtmaXJzdEVtcHR5IC0gMV0gPSBwb29sS2V5CglmcmFtZV9kaWcgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCWludGMgMSAvLyAxCgktCglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWJ5dGVjIDMgLy8gICJzcHMiCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIHJlbW92ZUZyb21TdGFrZXJQb29sU2V0KHN0YWtlcjogQWRkcmVzcywgcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleSk6IFtib29sZWFuLCBib29sZWFuXQovLwovLyBSZW1vdmVzIGEgcG9vbCBrZXkgZnJvbSB0aGUgc3Rha2VyJ3MgYWN0aXZlIHBvb2wgc2V0IC0gZmFpbHMgaWYgbm90IGZvdW5kICghKQovLwovLyBAcGFyYW0ge0FkZHJlc3N9IHN0YWtlciAtIFRoZSBhZGRyZXNzIG9mIHRoZSBzdGFrZXIuCi8vIEBwYXJhbSB7VmFsaWRhdG9yUG9vbEtleX0gcG9vbEtleSAtIFRoZSBwb29sIGtleSB0aGV5IHNob3VsZCBiZSBzdG9yZWQgaW4KLy8KLy8gQHJldHVybiBbYm9vbGVhbiwgYm9vbGVhbl0gW2lzIHRoZSBzdGFrZXIgZ29uZSBmcm9tIEFMTCBwb29scyBvZiB0aGUgZ2l2ZW4gVkFMSURBVE9SLCBhbmQgaXMgc3Rha2VyIGdvbmUgZnJvbSBBTEwgcG9vbHNdCnJlbW92ZUZyb21TdGFrZXJQb29sU2V0OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cG4gNAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzE0CgkvLyBpblNhbWVWYWxpZGF0b3JQb29sQ291bnQgPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAwIC8vIGluU2FtZVZhbGlkYXRvclBvb2xDb3VudDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMTUKCS8vIGluQW55UG9vbENvdW50ID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMSAvLyBpbkFueVBvb2xDb3VudDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMTYKCS8vIGZvdW5kID0gZmFsc2UKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDIgLy8gZm91bmQ6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMxOAoJLy8gcG9vbFNldCA9IGNsb25lKHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlKQoJYnl0ZWMgMyAvLyAgInNwcyIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUKCWFzc2VydAoJZnJhbWVfYnVyeSAzIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMxOQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZS5sZW5ndGg7IGkgKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDQgLy8gaTogdWludDY0CgoqZm9yXzg6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMxOQoJLy8gaSA8IHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlLmxlbmd0aAoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnRjIDcgLy8gNgoJPAoJYnogKmZvcl84X2VuZAoKCS8vICppZjM4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMjAKCS8vIHBvb2xTZXRbaV0uaWQgPT09IDAKCWZyYW1lX2RpZyAzIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMCAvLyAwCgkrCglpbnRjIDIgLy8gOAoJZXh0cmFjdDMKCWJ0b2kKCWludGMgMCAvLyAwCgk9PQoJYnogKmlmMzhfZW5kCgoJLy8gKmlmMzhfY29uc2VxdWVudAoJYiAqZm9yXzhfY29udGludWUKCippZjM4X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzIzCgkvLyBpbkFueVBvb2xDb3VudCArPSAxCglmcmFtZV9kaWcgMSAvLyBpbkFueVBvb2xDb3VudDogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSAxIC8vIGluQW55UG9vbENvdW50OiB1aW50NjQKCgkvLyAqaWYzOV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzI0CgkvLyBwb29sU2V0W2ldLmlkID09PSBwb29sS2V5LmlkCglmcmFtZV9kaWcgMyAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDAgLy8gMAoJKwoJaW50YyAyIC8vIDgKCWV4dHJhY3QzCglidG9pCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCT09CglieiAqaWYzOV9lbmQKCgkvLyAqaWYzOV9jb25zZXF1ZW50CgkvLyAqaWY0MF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzI1CgkvLyBwb29sU2V0W2ldID09PSBwb29sS2V5CglmcmFtZV9kaWcgMyAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDMgLy8gMjQKCWV4dHJhY3QzCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJPT0KCWJ6ICppZjQwX2Vsc2UKCgkvLyAqaWY0MF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMyNgoJLy8gZm91bmQgPSB0cnVlCglpbnRjIDEgLy8gMQoJZnJhbWVfYnVyeSAyIC8vIGZvdW5kOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMjgKCS8vIHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlW2ldID0geyBpZDogMCwgcG9vbElkOiAwLCBwb29sQXBwSWQ6IDAgfQoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglieXRlYyAzIC8vICAic3BzIgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoJYiAqaWY0MF9lbmQKCippZjQwX2Vsc2U6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMzMAoJLy8gaW5TYW1lVmFsaWRhdG9yUG9vbENvdW50ICs9IDEKCWZyYW1lX2RpZyAwIC8vIGluU2FtZVZhbGlkYXRvclBvb2xDb3VudDogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGluU2FtZVZhbGlkYXRvclBvb2xDb3VudDogdWludDY0CgoqaWY0MF9lbmQ6CgoqaWYzOV9lbmQ6CgoqZm9yXzhfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMxOQoJLy8gaSArPSAxCglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDQgLy8gaTogdWludDY0CgliICpmb3JfOAoKKmZvcl84X2VuZDoKCS8vICppZjQxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMzQKCS8vICFmb3VuZAoJZnJhbWVfZGlnIDIgLy8gZm91bmQ6IGJvb2wKCSEKCWJ6ICppZjQxX2VuZAoKCS8vICppZjQxX2NvbnNlcXVlbnQKCS8vIE5vIG1hdGNoaW5nIHNsb3QgZm91bmQgd2hlbiB0b2xkIHRvIHJlbW92ZSBhIHBvb2wgZnJvbSB0aGUgc3Rha2VycyBzZXQKCWVycgoKKmlmNDFfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMzgKCS8vIHJldHVybiBbaW5TYW1lVmFsaWRhdG9yUG9vbENvdW50ID09PSAwLCBpbkFueVBvb2xDb3VudCA9PT0gMF07CglieXRlYyA1IC8vIDB4MDAKCWludGMgMCAvLyAwCglmcmFtZV9kaWcgMCAvLyBpblNhbWVWYWxpZGF0b3JQb29sQ291bnQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglzZXRiaXQKCWludGMgMSAvLyAxCglmcmFtZV9kaWcgMSAvLyBpbkFueVBvb2xDb3VudDogdWludDY0CglpbnRjIDAgLy8gMAoJPT0KCXNldGJpdAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDQKCXJldHN1YgoKLy8gYWRkUG9vbFRvTm9kZSh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCBwb29sQXBwSWQ6IHVpbnQ2NCwgbm9kZU51bTogdWludDY0KTogdm9pZAphZGRQb29sVG9Ob2RlOgoJcHJvdG8gMyAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzQyCgkvLyBub2RlUG9vbEFzc2lnbm1lbnRzID0gY2xvbmUodGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5ub2RlUG9vbEFzc2lnbm1lbnRzKQoJaW50YyAxNiAvLyAgaGVhZE9mZnNldAoJaW50YyAyMiAvLyAxOTIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2J1cnkgMCAvLyBub2RlUG9vbEFzc2lnbm1lbnRzOiAoKHVpbnQ2NFszXSlbOF0pCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNDMKCS8vIG1heFBvb2xzUGVyTm9kZUZvclRoaXNWYWxpZGF0b3IgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5wb29sc1Blck5vZGUgYXMgdWludDY0CglwdXNoaW50IDIyNQoJaW50YyAxIC8vIDEKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMSAvLyBtYXhQb29sc1Blck5vZGVGb3JUaGlzVmFsaWRhdG9yOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM0NQoJLy8gYXNzZXJ0KG5vZGVOdW0gPj0gMSAmJiBub2RlTnVtIDw9IE1BWF9OT0RFUywgJ25vZGUgbnVtYmVyIG5vdCBpbiB2YWxpZCByYW5nZScpCglmcmFtZV9kaWcgLTMgLy8gbm9kZU51bTogdWludDY0CglpbnRjIDEgLy8gMQoJPj0KCWR1cAoJYnogKnNraXBfYW5kOQoJZnJhbWVfZGlnIC0zIC8vIG5vZGVOdW06IHVpbnQ2NAoJaW50YyAyIC8vIDgKCTw9CgkmJgoKKnNraXBfYW5kOToKCS8vIG5vZGUgbnVtYmVyIG5vdCBpbiB2YWxpZCByYW5nZQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNDcKCS8vIGZvciAobGV0IGkgPSAwOyBpIDwgbWF4UG9vbHNQZXJOb2RlRm9yVGhpc1ZhbGlkYXRvcjsgaSArPSAxKQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCipmb3JfOToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzQ3CgkvLyBpIDwgbWF4UG9vbHNQZXJOb2RlRm9yVGhpc1ZhbGlkYXRvcgoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglmcmFtZV9kaWcgMSAvLyBtYXhQb29sc1Blck5vZGVGb3JUaGlzVmFsaWRhdG9yOiB1aW50NjQKCTwKCWJ6ICpmb3JfOV9lbmQKCgkvLyAqaWY0Ml9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzQ4CgkvLyBub2RlUG9vbEFzc2lnbm1lbnRzLm5vZGVzW25vZGVOdW0gLSAxXS5wb29sQXBwSWRzW2ldID09PSAwCglmcmFtZV9kaWcgMCAvLyBub2RlUG9vbEFzc2lnbm1lbnRzOiAoKHVpbnQ2NFszXSlbOF0pCglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIC0zIC8vIG5vZGVOdW06IHVpbnQ2NAoJaW50YyAxIC8vIDEKCS0KCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDAgLy8gMAoJKwoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDIgLy8gOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDIgLy8gOAoJZXh0cmFjdDMKCWJ0b2kKCWludGMgMCAvLyAwCgk9PQoJYnogKmlmNDJfZW5kCgoJLy8gKmlmNDJfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNTAKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUubm9kZVBvb2xBc3NpZ25tZW50cy5ub2Rlc1tub2RlTnVtIC0gMV0ucG9vbEFwcElkc1tpXSA9IHBvb2xBcHBJZAoJaW50YyAxNiAvLyA5MDAKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWludGMgMSAvLyAxCgktCglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAwIC8vIDAKCSsKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyAyIC8vIDgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBcHBJZDogdWludDY0CglpdG9iCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNTEKCS8vIHJldHVybjsKCXJldHN1YgoKKmlmNDJfZW5kOgoKKmZvcl85X2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNDcKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzkKCipmb3JfOV9lbmQ6CgkvLyBubyBhdmFpbGFibGUgc3BhY2UgaW4gc3BlY2lmaWVkIG5vZGUgZm9yIHRoaXMgcG9vbAoJZXJyCglyZXRzdWIKCi8vIGRvZXNTdGFrZXJNZWV0R2F0aW5nKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIHZhbHVlVG9WZXJpZnk6IHVpbnQ2NCk6IHZvaWQKLy8KLy8gQ2hlY2tzIGlmIGEgc3Rha2VyIG1lZXRzIHRoZSBnYXRpbmcgcmVxdWlyZW1lbnRzIHNwZWNpZmllZCBieSB0aGUgdmFsaWRhdG9yLgovLwovLyBAcGFyYW0ge1ZhbGlkYXRvcklkVHlwZX0gdmFsaWRhdG9ySWQgLSBUaGUgaWQgb2YgdGhlIHZhbGlkYXRvci4KLy8gQHBhcmFtIHt1aW50NjR9IHZhbHVlVG9WZXJpZnkgLSBUaGUgdmFsdWUgdG8gdmVyaWZ5IGFnYWluc3QgdGhlIGdhdGluZyByZXF1aXJlbWVudHMuCi8vIEByZXR1cm5zIHt2b2lkfSBvciBhc3NlcnRzIGlmIHJlcXVpcmVtZW50cyBub3QgbWV0Lgpkb2VzU3Rha2VyTWVldEdhdGluZzoKCXByb3RvIDIgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CglkdXBuIDgKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM2NQoJLy8gdHlwZSA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLmVudHJ5R2F0aW5nVHlwZQoJaW50YyAzNiAvLyA4MAoJaW50YyAxIC8vIDEKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyB0eXBlOiB1aW50OAoKCS8vICppZjQzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNjYKCS8vIHR5cGUgPT09IEdBVElOR19UWVBFX05PTkUKCWZyYW1lX2RpZyAwIC8vIHR5cGU6IHVpbnQ4CglpbnRjIDAgLy8gMAoJPT0KCWJ6ICppZjQzX2VuZAoKCS8vICppZjQzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzY3CgkvLyByZXR1cm47CglyZXRzdWIKCippZjQzX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzY5CgkvLyBzdGFrZXIgPSB0aGlzLnR4bi5zZW5kZXIKCXR4biBTZW5kZXIKCWZyYW1lX2J1cnkgMSAvLyBzdGFrZXI6IGFkZHJlc3MKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM3MAoJLy8gY29uZmlnID0gY2xvbmUodGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcpCglpbnRjIDAgLy8gMAoJaW50YyA4IC8vIDI0MgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSAyIC8vIGNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCgoJLy8gKmlmNDRfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM3NAoJLy8gdHlwZSA9PT0gR0FUSU5HX1RZUEVfQVNTRVRTX0NSRUFURURfQlkgfHwKCS8vICAgICAgIHR5cGUgPT09IEdBVElOR19UWVBFX0FTU0VUX0lEIHx8CgkvLyAgICAgICB0eXBlID09PSBHQVRJTkdfVFlQRV9DUkVBVEVEX0JZX05GRF9BRERSRVNTRVMKCWZyYW1lX2RpZyAwIC8vIHR5cGU6IHVpbnQ4CglpbnRjIDEgLy8gMQoJPT0KCWR1cAoJYm56ICpza2lwX29yNAoJZnJhbWVfZGlnIDAgLy8gdHlwZTogdWludDgKCWludGMgMTAgLy8gMgoJPT0KCXx8Cgoqc2tpcF9vcjQ6CglkdXAKCWJueiAqc2tpcF9vcjUKCWZyYW1lX2RpZyAwIC8vIHR5cGU6IHVpbnQ4CglpbnRjIDkgLy8gMwoJPT0KCXx8Cgoqc2tpcF9vcjU6CglieiAqaWY0NF9lbmQKCgkvLyAqaWY0NF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM3OAoJLy8gYXNzZXJ0KHZhbHVlVG9WZXJpZnkgIT09IDApCglmcmFtZV9kaWcgLTIgLy8gdmFsdWVUb1ZlcmlmeTogdWludDY0CglpbnRjIDAgLy8gMAoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzc5CgkvLyBiYWxSZXF1aXJlZCA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLmdhdGluZ0Fzc2V0TWluQmFsYW5jZQoJaW50YyAzNyAvLyAxNDUKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDMgLy8gYmFsUmVxdWlyZWQ6IHVpbnQ2NAoKCS8vICppZjQ1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzODAKCS8vIGJhbFJlcXVpcmVkID09PSAwCglmcmFtZV9kaWcgMyAvLyBiYWxSZXF1aXJlZDogdWludDY0CglpbnRjIDAgLy8gMAoJPT0KCWJ6ICppZjQ1X2VuZAoKCS8vICppZjQ1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzgxCgkvLyBiYWxSZXF1aXJlZCA9IDEKCWludGMgMSAvLyAxCglmcmFtZV9idXJ5IDMgLy8gYmFsUmVxdWlyZWQ6IHVpbnQ2NAoKKmlmNDVfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzODMKCS8vIGFzc2VydCgKCS8vICAgICAgICAgc3Rha2VyLmFzc2V0QmFsYW5jZShBc3NldElELmZyb21VaW50NjQodmFsdWVUb1ZlcmlmeSkpID49IGJhbFJlcXVpcmVkLAoJLy8gICAgICAgICAnbXVzdCBoYXZlIHJlcXVpcmVkIG1pbmltdW0gYmFsYW5jZSBvZiB2YWxpZGF0b3IgZGVmaW5lZCB0b2tlbiB0byBhZGQgc3Rha2UnCgkvLyAgICAgICApCglmcmFtZV9kaWcgMSAvLyBzdGFrZXI6IGFkZHJlc3MKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgMyAvLyBiYWxSZXF1aXJlZDogdWludDY0Cgk+PQoKCS8vIG11c3QgaGF2ZSByZXF1aXJlZCBtaW5pbXVtIGJhbGFuY2Ugb2YgdmFsaWRhdG9yIGRlZmluZWQgdG9rZW4gdG8gYWRkIHN0YWtlCglhc3NlcnQKCippZjQ0X2VuZDoKCS8vICppZjQ2X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzODgKCS8vIHR5cGUgPT09IEdBVElOR19UWVBFX0FTU0VUU19DUkVBVEVEX0JZCglmcmFtZV9kaWcgMCAvLyB0eXBlOiB1aW50OAoJaW50YyAxIC8vIDEKCT09CglieiAqaWY0Nl9lbmQKCgkvLyAqaWY0Nl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM4OQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICBBc3NldElELmZyb21VaW50NjQodmFsdWVUb1ZlcmlmeSkuY3JlYXRvciA9PT0gY29uZmlnLmVudHJ5R2F0aW5nQWRkcmVzcywKCS8vICAgICAgICAgJ3NwZWNpZmllZCBhc3NldCBtdXN0IGJlIGNyZWF0ZWQgYnkgY3JlYXRvciB0aGF0IHRoZSB2YWxpZGF0b3IgZGVmaW5lZCBhcyBhIHJlcXVpcmVtZW50IHRvIHN0YWtlJwoJLy8gICAgICAgKQoJZnJhbWVfZGlnIC0yIC8vIHZhbHVlVG9WZXJpZnk6IHVpbnQ2NAoJYXNzZXRfcGFyYW1zX2dldCBBc3NldENyZWF0b3IKCXBvcAoJZnJhbWVfZGlnIDIgLy8gY29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgODEgMzIKCT09CgoJLy8gc3BlY2lmaWVkIGFzc2V0IG11c3QgYmUgY3JlYXRlZCBieSBjcmVhdG9yIHRoYXQgdGhlIHZhbGlkYXRvciBkZWZpbmVkIGFzIGEgcmVxdWlyZW1lbnQgdG8gc3Rha2UKCWFzc2VydAoKKmlmNDZfZW5kOgoJLy8gKmlmNDdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM5NAoJLy8gdHlwZSA9PT0gR0FUSU5HX1RZUEVfQVNTRVRfSUQKCWZyYW1lX2RpZyAwIC8vIHR5cGU6IHVpbnQ4CglpbnRjIDEwIC8vIDIKCT09CglieiAqaWY0N19lbmQKCgkvLyAqaWY0N19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM5NQoJLy8gYXNzZXJ0KHZhbHVlVG9WZXJpZnkgIT09IDApCglmcmFtZV9kaWcgLTIgLy8gdmFsdWVUb1ZlcmlmeTogdWludDY0CglpbnRjIDAgLy8gMAoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzk2CgkvLyBmb3VuZCA9IGZhbHNlCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSA0IC8vIGZvdW5kOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzOTcKCS8vIGNvbmZpZy5lbnRyeUdhdGluZ0Fzc2V0cwoJZnJhbWVfZGlnIDIgLy8gY29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTEzIDMyCglkdXAKCWZyYW1lX2J1cnkgNSAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9idXJ5IDYgLy8gYXNzZXRJZDogdWludDY0CglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSA3IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgoqZm9yT2ZfMDoKCS8vICppZjQ4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzOTgKCS8vIHZhbHVlVG9WZXJpZnkgPT09IGFzc2V0SWQKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCWZyYW1lX2RpZyA2IC8vIGFzc2V0SWQ6IHVpbnQ2NAoJPT0KCWJ6ICppZjQ4X2VuZAoKCS8vICppZjQ4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzk5CgkvLyBmb3VuZCA9IHRydWUKCWludGMgMSAvLyAxCglmcmFtZV9idXJ5IDQgLy8gZm91bmQ6IGJvb2wKCWIgKmZvck9mXzBfZW5kCgoqaWY0OF9lbmQ6CgoqZm9yT2ZfMF9jb250aW51ZToKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyA3IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDIgLy8gOAoJKwoJZHVwCglpbnRjIDQgLy8gIG9mZnNldCBvZiBsYXN0IGVsZW1lbnQKCTwKCWJ6ICpmb3JPZl8wX2VuZAoJZnJhbWVfYnVyeSA3IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglmcmFtZV9kaWcgNSAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyA3IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDIgLy8gOAoJZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSA2IC8vIGFzc2V0SWQ6IHVpbnQ2NAoJYiAqZm9yT2ZfMAoKKmZvck9mXzBfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0MDMKCS8vIGFzc2VydChmb3VuZCwgJ3NwZWNpZmllZCBhc3NldCBtdXN0IGJlIGlkZW50aWNhbCB0byB0aGUgYXNzZXQgaWQgZGVmaW5lZCBhcyBhIHJlcXVpcmVtZW50IHRvIHN0YWtlJykKCWZyYW1lX2RpZyA0IC8vIGZvdW5kOiBib29sCgoJLy8gc3BlY2lmaWVkIGFzc2V0IG11c3QgYmUgaWRlbnRpY2FsIHRvIHRoZSBhc3NldCBpZCBkZWZpbmVkIGFzIGEgcmVxdWlyZW1lbnQgdG8gc3Rha2UKCWFzc2VydAoKKmlmNDdfZW5kOgoJLy8gKmlmNDlfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQwNQoJLy8gdHlwZSA9PT0gR0FUSU5HX1RZUEVfQ1JFQVRFRF9CWV9ORkRfQUREUkVTU0VTCglmcmFtZV9kaWcgMCAvLyB0eXBlOiB1aW50OAoJaW50YyA5IC8vIDMKCT09CglieiAqaWY0OV9lbmQKCgkvLyAqaWY0OV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQwOAoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICB0aGlzLmlzQWRkcmVzc0luTkZEQ0FBbGdvTGlzdChjb25maWcuZW50cnlHYXRpbmdBc3NldHNbMF0sIEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWx1ZVRvVmVyaWZ5KS5jcmVhdG9yKSwKCS8vICAgICAgICAgJ3NwZWNpZmllZCBhc3NldCBtdXN0IGJlIGNyZWF0ZWQgYnkgY3JlYXRvciB0aGF0IGlzIG9uZSBvZiB0aGUgbGlua2VkIGFkZHJlc3NlcyBpbiBhbiBuZmQnCgkvLyAgICAgICApCglmcmFtZV9kaWcgLTIgLy8gdmFsdWVUb1ZlcmlmeTogdWludDY0Cglhc3NldF9wYXJhbXNfZ2V0IEFzc2V0Q3JlYXRvcgoJcG9wCglmcmFtZV9kaWcgMiAvLyBjb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxMTMgOAoJYnRvaQoJY2FsbHN1YiBpc0FkZHJlc3NJbk5GRENBQWxnb0xpc3QKCgkvLyBzcGVjaWZpZWQgYXNzZXQgbXVzdCBiZSBjcmVhdGVkIGJ5IGNyZWF0b3IgdGhhdCBpcyBvbmUgb2YgdGhlIGxpbmtlZCBhZGRyZXNzZXMgaW4gYW4gbmZkCglhc3NlcnQKCippZjQ5X2VuZDoKCS8vICppZjUwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0MTMKCS8vIHR5cGUgPT09IEdBVElOR19UWVBFX1NFR01FTlRfT0ZfTkZECglmcmFtZV9kaWcgMCAvLyB0eXBlOiB1aW50OAoJaW50YyAyMCAvLyA0Cgk9PQoJYnogKmlmNTBfZW5kCgoJLy8gKmlmNTBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0MTUKCS8vIHVzZXJPZmZlcmVkTkZEQXBwSUQgPSB2YWx1ZVRvVmVyaWZ5CglmcmFtZV9kaWcgLTIgLy8gdmFsdWVUb1ZlcmlmeTogdWludDY0CglmcmFtZV9idXJ5IDggLy8gdXNlck9mZmVyZWRORkRBcHBJRDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0MTYKCS8vIGFzc2VydCh0aGlzLmlzTkZEQXBwSURWYWxpZCh1c2VyT2ZmZXJlZE5GREFwcElEKSwgJ3Byb3ZpZGVkIE5GRCBtdXN0IGJlIHZhbGlkJykKCWZyYW1lX2RpZyA4IC8vIHVzZXJPZmZlcmVkTkZEQXBwSUQ6IHVpbnQ2NAoJY2FsbHN1YiBpc05GREFwcElEVmFsaWQKCgkvLyBwcm92aWRlZCBORkQgbXVzdCBiZSB2YWxpZAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0MTkKCS8vIGFzc2VydCgKCS8vICAgICAgICAgcmF3Qnl0ZXMoQXBwSUQuZnJvbVVpbnQ2NCh1c2VyT2ZmZXJlZE5GREFwcElEKS5nbG9iYWxTdGF0ZSgnaS5vd25lci5hJykgYXMgQWRkcmVzcykgPT09IHJhd0J5dGVzKHN0YWtlcikgfHwKCS8vICAgICAgICAgICB0aGlzLmlzQWRkcmVzc0luTkZEQ0FBbGdvTGlzdCh1c2VyT2ZmZXJlZE5GREFwcElELCBzdGFrZXIpLAoJLy8gICAgICAgICAicHJvdmlkZWQgbmZkIGZvciBlbnRyeSBpc24ndCBvd25lZCBvciBsaW5rZWQgdG8gdGhlIHN0YWtlciIKCS8vICAgICAgICkKCWZyYW1lX2RpZyA4IC8vIHVzZXJPZmZlcmVkTkZEQXBwSUQ6IHVpbnQ2NAoJYnl0ZWMgOSAvLyAgImkub3duZXIuYSIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KHVzZXJPZmZlcmVkTkZEQXBwSUQpLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKQoJYXNzZXJ0CglmcmFtZV9kaWcgMSAvLyBzdGFrZXI6IGFkZHJlc3MKCT09CglkdXAKCWJueiAqc2tpcF9vcjYKCWZyYW1lX2RpZyAxIC8vIHN0YWtlcjogYWRkcmVzcwoJZnJhbWVfZGlnIDggLy8gdXNlck9mZmVyZWRORkRBcHBJRDogdWludDY0CgljYWxsc3ViIGlzQWRkcmVzc0luTkZEQ0FBbGdvTGlzdAoJfHwKCipza2lwX29yNjoKCS8vIHByb3ZpZGVkIG5mZCBmb3IgZW50cnkgaXNuJ3Qgb3duZWQgb3IgbGlua2VkIHRvIHRoZSBzdGFrZXIKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDI2CgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIGJ0b2koQXBwSUQuZnJvbVVpbnQ2NCh1c2VyT2ZmZXJlZE5GREFwcElEKS5nbG9iYWxTdGF0ZSgnaS5wYXJlbnRBcHBJRCcpIGFzIGJ5dGVzKSA9PT0KCS8vICAgICAgICAgICBjb25maWcuZW50cnlHYXRpbmdBc3NldHNbMF0sCgkvLyAgICAgICAgICdzcGVjaWZpZWQgbmZkIG11c3QgYmUgYSBzZWdtZW50IG9mIHRoZSBuZmQgdGhlIHZhbGlkYXRvciBzcGVjaWZpZWQgYXMgYSByZXF1aXJlbWVudCcKCS8vICAgICAgICkKCWZyYW1lX2RpZyA4IC8vIHVzZXJPZmZlcmVkTkZEQXBwSUQ6IHVpbnQ2NAoJcHVzaGJ5dGVzIDB4NjkyZTcwNjE3MjY1NmU3NDQxNzA3MDQ5NDQgLy8gImkucGFyZW50QXBwSUQiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NCh1c2VyT2ZmZXJlZE5GREFwcElEKS5nbG9iYWxTdGF0ZSgnaS5wYXJlbnRBcHBJRCcpCglhc3NlcnQKCWJ0b2kKCWZyYW1lX2RpZyAyIC8vIGNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDExMyA4CglidG9pCgk9PQoKCS8vIHNwZWNpZmllZCBuZmQgbXVzdCBiZSBhIHNlZ21lbnQgb2YgdGhlIG5mZCB0aGUgdmFsaWRhdG9yIHNwZWNpZmllZCBhcyBhIHJlcXVpcmVtZW50Cglhc3NlcnQKCippZjUwX2VuZDoKCXJldHN1YgoKLy8gaXNORkRBcHBJRFZhbGlkKG5mZEFwcElEOiB1aW50NjQpOiBib29sZWFuCi8vCi8vIENoZWNrcyBpZiB0aGUgZ2l2ZW4gTkZEIEFwcCBpZCBpcyB2YWxpZC4gIFVzaW5nIG9ubHkgdGhlIEFwcCBpZCB0aGVyZSdzIG5vIHZhbGlkYXRpb24gYWdhaW5zdCB0aGUgbmFtZSAoaWU6IHRoYXQgbmZkIFggaXMgbmFtZSBZKQovLyBTbyBpdCdzIGFzc3VtZWQgZm9yIHRoZSBjYWxsZXIsIHRoZSBhcHAgaWQgYWxvbmUgaXMgZmluZS4gIFRoZSBuYW1lIGlzIGZldGNoZWQgZnJvbSB0aGUgc3BlY2lmaWVkIGFwcCBpZCBhbmQgdGhlIHR3bwovLyB0b2dldGhlciBhcmUgdXNlZCBmb3IgdmFsaWRpdHkgY2hlY2sgY2FsbCB0byB0aGUgbmZkIHJlZ2lzdHJ5LgovLwovLyBAcGFyYW0ge3VpbnQ2NH0gbmZkQXBwSUQgLSBUaGUgTkZEIEFwcCBpZCB0byB2ZXJpZnkuCi8vCi8vIEByZXR1cm5zIHtib29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgTkZEIEFwcCBpZCBpcyB2YWxpZCwgb3RoZXJ3aXNlIGZhbHNlLgppc05GREFwcElEVmFsaWQ6Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDQ1CgkvLyB1c2VyT2ZmZXJlZE5GRE5hbWUgPSBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKS5nbG9iYWxTdGF0ZSgnaS5uYW1lJykgYXMgc3RyaW5nCglmcmFtZV9kaWcgLTEgLy8gbmZkQXBwSUQ6IHVpbnQ2NAoJcHVzaGJ5dGVzIDB4NjkyZTZlNjE2ZDY1IC8vICJpLm5hbWUiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJRCkuZ2xvYmFsU3RhdGUoJ2kubmFtZScpCglhc3NlcnQKCWZyYW1lX2J1cnkgMCAvLyB1c2VyT2ZmZXJlZE5GRE5hbWU6IHN0cmluZwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDQ3CgkvLyBzZW5kQXBwQ2FsbCh7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMubmZkUmVnaXN0cnlBcHBJZCksCgkvLyAgICAgICBhcHBsaWNhdGlvbkFyZ3M6IFsnaXNfdmFsaWRfbmZkX2FwcGlkJywgdXNlck9mZmVyZWRORkROYW1lLCBpdG9iKG5mZEFwcElEKV0sCgkvLyAgICAgICBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgNyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDQ4CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMubmZkUmVnaXN0cnlBcHBJZCkKCWludGMgMTkgLy8gVE1QTF9uZmRSZWdpc3RyeUFwcElkCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ0OQoJLy8gYXBwbGljYXRpb25BcmdzOiBbJ2lzX3ZhbGlkX25mZF9hcHBpZCcsIHVzZXJPZmZlcmVkTkZETmFtZSwgaXRvYihuZmRBcHBJRCldCglieXRlYyAxMyAvLyAgImlzX3ZhbGlkX25mZF9hcHBpZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMCAvLyB1c2VyT2ZmZXJlZE5GRE5hbWU6IHN0cmluZwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMSAvLyBuZmRBcHBJRDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDUwCgkvLyBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKV0KCWZyYW1lX2RpZyAtMSAvLyBuZmRBcHBJRDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9ucwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ1MgoJLy8gcmV0dXJuIGJ0b2kodGhpcy5pdHhuLmxhc3RMb2cpID09PSAxOwoJaXR4biBMYXN0TG9nCglidG9pCglpbnRjIDEgLy8gMQoJPT0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gaXNBZGRyZXNzSW5ORkRDQUFsZ29MaXN0KG5mZEFwcElEOiB1aW50NjQsIGFkZHJUb0ZpbmQ6IEFkZHJlc3MpOiBib29sZWFuCi8vCi8vIENoZWNrcyBpZiB0aGUgc3BlY2lmaWVkIGFkZHJlc3MgaXMgcHJlc2VudCBpbiBhbiBORkRzIGxpc3Qgb2YgdmVyaWZpZWQgYWRkcmVzc2VzLgovLyBUaGUgTkZEIGlzIGFzc3VtZWQgdG8gaGF2ZSBhbHJlYWR5IGJlZW4gdmFsaWRhdGVkIGFzIG9mZmljaWFsLgovLwovLyBAcGFyYW0ge3VpbnQ2NH0gbmZkQXBwSUQgLSBUaGUgTkZEIGFwcGxpY2F0aW9uIGlkLgovLyBAcGFyYW0ge0FkZHJlc3N9IGFkZHJUb0ZpbmQgLSBUaGUgYWRkcmVzcyB0byBmaW5kIGluIHRoZSB2LmNhQWxnby4wLmFzIHByb3BlcnR5Ci8vIEByZXR1cm4ge2Jvb2xlYW59IC0gYHRydWVgIGlmIHRoZSBhZGRyZXNzIGlzIHByZXNlbnQsIGBmYWxzZWAgb3RoZXJ3aXNlLgppc0FkZHJlc3NJbk5GRENBQWxnb0xpc3Q6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiAyCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NjQKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQobmZkQXBwSUQpLAoJLy8gICAgICAgYXBwbGljYXRpb25BcmdzOiBbJ3JlYWRfcHJvcGVydHknLCAndi5jYUFsZ28uMC5hcyddLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDcgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ2NQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJRCkKCWZyYW1lX2RpZyAtMSAvLyBuZmRBcHBJRDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ2NgoJLy8gYXBwbGljYXRpb25BcmdzOiBbJ3JlYWRfcHJvcGVydHknLCAndi5jYUFsZ28uMC5hcyddCglwdXNoYnl0ZXMgMHg3MjY1NjE2NDVmNzA3MjZmNzA2NTcyNzQ3OSAvLyAicmVhZF9wcm9wZXJ0eSIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglwdXNoYnl0ZXMgMHg3NjJlNjM2MTQxNmM2NzZmMmUzMDJlNjE3MyAvLyAidi5jYUFsZ28uMC5hcyIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDY4CgkvLyBjYUFsZ29EYXRhID0gdGhpcy5pdHhuLmxhc3RMb2cKCWl0eG4gTGFzdExvZwoJZnJhbWVfYnVyeSAwIC8vIGNhQWxnb0RhdGE6IGJ5dGVbXQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDY5CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IGNhQWxnb0RhdGEubGVuZ3RoOyBpICs9IDMyKQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCipmb3JfMTA6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ2OQoJLy8gaSA8IGNhQWxnb0RhdGEubGVuZ3RoCglmcmFtZV9kaWcgMSAvLyBpOiB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIGNhQWxnb0RhdGE6IGJ5dGVbXQoJbGVuCgk8CglieiAqZm9yXzEwX2VuZAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDcwCgkvLyBhZGRyID0gZXh0cmFjdDMoY2FBbGdvRGF0YSwgaSwgMzIpCglmcmFtZV9kaWcgMCAvLyBjYUFsZ29EYXRhOiBieXRlW10KCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50YyA0IC8vIDMyCglleHRyYWN0MwoJZnJhbWVfYnVyeSAyIC8vIGFkZHI6IGJ5dGVbXQoKCS8vICppZjUxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NzEKCS8vIGFkZHIgIT09IHJhd0J5dGVzKGdsb2JhbHMuemVyb0FkZHJlc3MpICYmIGFkZHIgPT09IHJhd0J5dGVzKGFkZHJUb0ZpbmQpCglmcmFtZV9kaWcgMiAvLyBhZGRyOiBieXRlW10KCWdsb2JhbCBaZXJvQWRkcmVzcwoJIT0KCWR1cAoJYnogKnNraXBfYW5kMTAKCWZyYW1lX2RpZyAyIC8vIGFkZHI6IGJ5dGVbXQoJZnJhbWVfZGlnIC0yIC8vIGFkZHJUb0ZpbmQ6IEFkZHJlc3MKCT09CgkmJgoKKnNraXBfYW5kMTA6CglieiAqaWY1MV9lbmQKCgkvLyAqaWY1MV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ3MgoJLy8gcmV0dXJuIHRydWU7CglpbnRjIDEgLy8gMQoJYiAqaXNBZGRyZXNzSW5ORkRDQUFsZ29MaXN0KnJldHVybgoKKmlmNTFfZW5kOgoKKmZvcl8xMF9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDY5CgkvLyBpICs9IDMyCglmcmFtZV9kaWcgMSAvLyBpOiB1aW50NjQKCWludGMgNCAvLyAzMgoJKwoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzEwCgoqZm9yXzEwX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDc1CgkvLyByZXR1cm4gZmFsc2U7CglpbnRjIDAgLy8gMAoKKmlzQWRkcmVzc0luTkZEQ0FBbGdvTGlzdCpyZXR1cm46CgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCi8vIGFsZ29TYXR1cmF0aW9uTGV2ZWwoKTogdWludDY0Ci8vCi8vIFJldHVybnMgdGhlIG1heGltdW0gYWxsb3dlZCBzdGFrZSBwZXIgdmFsaWRhdG9yIGJhc2VkIG9uIGEgcGVyY2VudGFnZSBvZiBhbGwgY3VycmVudCBvbmxpbmUgc3Rha2UgYmVmb3JlCi8vIHRoZSB2YWxpZGF0b3IgaXMgY29uc2lkZXJlZCBzYXR1cmF0ZWQgLSB3aGVyZSByZXdhcmRzIGFyZSBkaW1pbmlzaGVkLgovLyBOT1RFOiB0aGlzIGZ1bmN0aW9uIGlzIGRlZmluZWQgdHdpY2UgLSBoZXJlIGFuZCBpbiBzdGFraW5nIHBvb2wgY29udHJhY3QuICBCb3RoIG11c3QgYmUgaWRlbnRpY2FsLgphbGdvU2F0dXJhdGlvbkxldmVsOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ4NAoJLy8gb25saW5lID0gdGhpcy5nZXRDdXJyZW50T25saW5lU3Rha2UoKQoJY2FsbHN1YiBnZXRDdXJyZW50T25saW5lU3Rha2UKCWZyYW1lX2J1cnkgMCAvLyBvbmxpbmU6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDg2CgkvLyByZXR1cm4gd2lkZVJhdGlvKFtvbmxpbmUsIE1BWF9WQUxJREFUT1JfU09GVF9QQ1RfT0ZfT05MSU5FXzFERUNJTUFMXSwgWzEwMDBdKTsKCWZyYW1lX2RpZyAwIC8vIG9ubGluZTogdWludDY0CglwdXNoaW50IDEwMAoJbXVsdwoJaW50YyAwIC8vIDAKCWludGMgMzIgLy8gMTAwMAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gbWF4QWxsb3dlZFN0YWtlKCk6IHVpbnQ2NAovLwovLyBSZXR1cm5zIHRoZSBNQVhJTVVNIGFsbG93ZWQgc3Rha2UgcGVyIHZhbGlkYXRvciBiYXNlZCBvbiBhIHBlcmNlbnRhZ2Ugb2YgYWxsIGN1cnJlbnQgb25saW5lIHN0YWtlLgovLyBBZGRpbmcgc3Rha2UgaXMgY29tcGxldGVseSBibG9ja2VkIGF0IHRoaXMgYW1vdW50LgptYXhBbGxvd2VkU3Rha2U6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDk0CgkvLyBvbmxpbmUgPSB0aGlzLmdldEN1cnJlbnRPbmxpbmVTdGFrZSgpCgljYWxsc3ViIGdldEN1cnJlbnRPbmxpbmVTdGFrZQoJZnJhbWVfYnVyeSAwIC8vIG9ubGluZTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0OTYKCS8vIHJldHVybiB3aWRlUmF0aW8oW29ubGluZSwgTUFYX1ZBTElEQVRPUl9IQVJEX1BDVF9PRl9PTkxJTkVfMURFQ0lNQUxdLCBbMTAwMF0pOwoJZnJhbWVfZGlnIDAgLy8gb25saW5lOiB1aW50NjQKCXB1c2hpbnQgMTUwCgltdWx3CglpbnRjIDAgLy8gMAoJaW50YyAzMiAvLyAxMDAwCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBtYXhBbGdvQWxsb3dlZFBlclBvb2woKTogdWludDY0Ci8vCi8vIFJldHVybnMgdGhlIE1BWElNVU0gYWxsb3dlZCBzdGFrZSBwZXIgcG9vbCBhbmQgc3RpbGwgcmVjZWl2ZSBpbmNlbnRpdmVzIC0gd2UnbGwgdHJlYXQgdGhpcyBhcyB0aGUgJ21heCBwZXIgcG9vbCcKbWF4QWxnb0FsbG93ZWRQZXJQb29sOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MDQKCS8vIHJldHVybiA3MF8wMDBfMDAwXzAwMF8wMDA7CglwdXNoaW50IDcwXzAwMF8wMDBfMDAwXzAwMAoJcmV0c3ViCgovLyBnZXRDdXJyZW50T25saW5lU3Rha2UoKTogdWludDY0CmdldEN1cnJlbnRPbmxpbmVTdGFrZToKCXByb3RvIDAgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTA5CgkvLyByZXR1cm4gMl8wMDBfMDAwXzAwMF8wMDBfMDAwOwoJcHVzaGludCAyXzAwMF8wMDBfMDAwXzAwMF8wMDAKCXJldHN1YgoKLy8gbWluQmFsYW5jZUZvckFjY291bnQoY29udHJhY3RzOiB1aW50NjQsIGV4dHJhUGFnZXM6IHVpbnQ2NCwgYXNzZXRzOiB1aW50NjQsIGxvY2FsSW50czogdWludDY0LCBsb2NhbEJ5dGVzOiB1aW50NjQsIGdsb2JhbEludHM6IHVpbnQ2NCwgZ2xvYmFsQnl0ZXM6IHVpbnQ2NCk6IHVpbnQ2NAptaW5CYWxhbmNlRm9yQWNjb3VudDoKCXByb3RvIDcgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MjEKCS8vIG1pbkJhbCA9IEFMR09SQU5EX0FDQ09VTlRfTUlOX0JBTEFOQ0UKCWludGMgMTUgLy8gMTAwMDAwCglmcmFtZV9idXJ5IDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTUyMgoJLy8gbWluQmFsICs9IGNvbnRyYWN0cyAqIEFQUExJQ0FUSU9OX0JBU0VfRkVFCglmcmFtZV9kaWcgMCAvLyBtaW5CYWw6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGNvbnRyYWN0czogdWludDY0CglpbnRjIDE1IC8vIDEwMDAwMAoJKgoJKwoJZnJhbWVfYnVyeSAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MjMKCS8vIG1pbkJhbCArPSBleHRyYVBhZ2VzICogQVBQTElDQVRJT05fQkFTRV9GRUUKCWZyYW1lX2RpZyAwIC8vIG1pbkJhbDogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gZXh0cmFQYWdlczogdWludDY0CglpbnRjIDE1IC8vIDEwMDAwMAoJKgoJKwoJZnJhbWVfYnVyeSAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MjQKCS8vIG1pbkJhbCArPSBhc3NldHMgKiBBU1NFVF9IT0xESU5HX0ZFRQoJZnJhbWVfZGlnIDAgLy8gbWluQmFsOiB1aW50NjQKCWZyYW1lX2RpZyAtMyAvLyBhc3NldHM6IHVpbnQ2NAoJaW50YyAxNSAvLyAxMDAwMDAKCSoKCSsKCWZyYW1lX2J1cnkgMCAvLyBtaW5CYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTI1CgkvLyBtaW5CYWwgKz0gbG9jYWxJbnRzICogU1NDX1ZBTFVFX1VJTlQKCWZyYW1lX2RpZyAwIC8vIG1pbkJhbDogdWludDY0CglmcmFtZV9kaWcgLTQgLy8gbG9jYWxJbnRzOiB1aW50NjQKCWludGMgMzMgLy8gMjg1MDAKCSoKCSsKCWZyYW1lX2J1cnkgMCAvLyBtaW5CYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTI2CgkvLyBtaW5CYWwgKz0gZ2xvYmFsSW50cyAqIFNTQ19WQUxVRV9VSU5UCglmcmFtZV9kaWcgMCAvLyBtaW5CYWw6IHVpbnQ2NAoJZnJhbWVfZGlnIC02IC8vIGdsb2JhbEludHM6IHVpbnQ2NAoJaW50YyAzMyAvLyAyODUwMAoJKgoJKwoJZnJhbWVfYnVyeSAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MjcKCS8vIG1pbkJhbCArPSBsb2NhbEJ5dGVzICogU1NDX1ZBTFVFX0JZVEVTCglmcmFtZV9kaWcgMCAvLyBtaW5CYWw6IHVpbnQ2NAoJZnJhbWVfZGlnIC01IC8vIGxvY2FsQnl0ZXM6IHVpbnQ2NAoJaW50YyAzNCAvLyA1MDAwMAoJKgoJKwoJZnJhbWVfYnVyeSAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MjgKCS8vIG1pbkJhbCArPSBnbG9iYWxCeXRlcyAqIFNTQ19WQUxVRV9CWVRFUwoJZnJhbWVfZGlnIDAgLy8gbWluQmFsOiB1aW50NjQKCWZyYW1lX2RpZyAtNyAvLyBnbG9iYWxCeXRlczogdWludDY0CglpbnRjIDM0IC8vIDUwMDAwCgkqCgkrCglmcmFtZV9idXJ5IDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTUyOQoJLy8gcmV0dXJuIG1pbkJhbDsKCWZyYW1lX2RpZyAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGNvc3RGb3JCb3hTdG9yYWdlKHRvdGFsTnVtQnl0ZXM6IHVpbnQ2NCk6IHVpbnQ2NApjb3N0Rm9yQm94U3RvcmFnZToKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTM2CgkvLyByZXR1cm4gU0NCT1hfUEVSQk9YICsgdG90YWxOdW1CeXRlcyAqIFNDQk9YX1BFUkJZVEU7CglwdXNoaW50IDI1MDAKCWZyYW1lX2RpZyAtMSAvLyB0b3RhbE51bUJ5dGVzOiB1aW50NjQKCXB1c2hpbnQgNDAwCgkqCgkrCglyZXRzdWIKCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgxYjVlODJjNiAvLyBtZXRob2QgImluaXRTdGFraW5nQ29udHJhY3QodWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHg3OTQ3MmQ4MyAvLyBtZXRob2QgImxvYWRTdGFraW5nQ29udHJhY3REYXRhKHVpbnQ2NCxieXRlW10pdm9pZCIKCXB1c2hieXRlcyAweDVmN2FjZmQ5IC8vIG1ldGhvZCAiZmluYWxpemVTdGFraW5nQ29udHJhY3QoKXZvaWQiCglwdXNoYnl0ZXMgMHgzMTcyY2E5ZCAvLyBtZXRob2QgImdhcygpdm9pZCIKCXB1c2hieXRlcyAweDhhODcxNDJkIC8vIG1ldGhvZCAiZ2V0TWJyQW1vdW50cygpKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkiCglwdXNoYnl0ZXMgMHhkMTM2NmNjMyAvLyBtZXRob2QgImdldFByb3RvY29sQ29uc3RyYWludHMoKSh1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KSIKCXB1c2hieXRlcyAweDNiMDQ1YzVjIC8vIG1ldGhvZCAiZ2V0TnVtVmFsaWRhdG9ycygpdWludDY0IgoJcHVzaGJ5dGVzIDB4NzVhZmY2MWQgLy8gbWV0aG9kICJnZXRWYWxpZGF0b3JDb25maWcodWludDY0KSh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KSIKCXB1c2hieXRlcyAweDFmMmYwMTA5IC8vIG1ldGhvZCAiZ2V0VmFsaWRhdG9yU3RhdGUodWludDY0KSh1aW50MTYsdWludDY0LHVpbnQ2NCx1aW50NjQpIgoJcHVzaGJ5dGVzIDB4MmZhMjJjNGIgLy8gbWV0aG9kICJnZXRWYWxpZGF0b3JPd25lckFuZE1hbmFnZXIodWludDY0KShhZGRyZXNzLGFkZHJlc3MpIgoJcHVzaGJ5dGVzIDB4OTEwZTk0YWMgLy8gbWV0aG9kICJnZXRQb29scyh1aW50NjQpKHVpbnQ2NCx1aW50MTYsdWludDY0KVtdIgoJcHVzaGJ5dGVzIDB4NTcyNzY3ZDEgLy8gbWV0aG9kICJnZXRQb29sQXBwSWQodWludDY0LHVpbnQ2NCl1aW50NjQiCglwdXNoYnl0ZXMgMHg5YjUwNGFhZiAvLyBtZXRob2QgImdldFBvb2xJbmZvKCh1aW50NjQsdWludDY0LHVpbnQ2NCkpKHVpbnQ2NCx1aW50MTYsdWludDY0KSIKCXB1c2hieXRlcyAweGZiYzYzMTc4IC8vIG1ldGhvZCAiZ2V0Q3VyTWF4U3Rha2VQZXJQb29sKHVpbnQ2NCl1aW50NjQiCglwdXNoYnl0ZXMgMHgyNDQ5OGNmNCAvLyBtZXRob2QgImRvZXNTdGFrZXJOZWVkVG9QYXlNQlIoYWRkcmVzcylib29sIgoJcHVzaGJ5dGVzIDB4Zjg0NmRkN2EgLy8gbWV0aG9kICJnZXRTdGFrZWRQb29sc0ZvckFjY291bnQoYWRkcmVzcykodWludDY0LHVpbnQ2NCx1aW50NjQpW10iCglwdXNoYnl0ZXMgMHg4MzA1MDUwMSAvLyBtZXRob2QgImdldFRva2VuUGF5b3V0UmF0aW8odWludDY0KSh1aW50NjRbMjRdLHVpbnQ2NCkiCglwdXNoYnl0ZXMgMHg3YmJiNmM4ZCAvLyBtZXRob2QgImdldE5vZGVQb29sQXNzaWdubWVudHModWludDY0KSgodWludDY0WzNdKVs4XSkiCglwdXNoYnl0ZXMgMHhmODM5NDE0YSAvLyBtZXRob2QgImdldE5GRFJlZ2lzdHJ5SUQoKXVpbnQ2NCIKCXB1c2hieXRlcyAweDBjMzE3Y2ZiIC8vIG1ldGhvZCAiYWRkVmFsaWRhdG9yKHBheSxzdHJpbmcsKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpKXVpbnQ2NCIKCXB1c2hieXRlcyAweDNlMjg4OTcyIC8vIG1ldGhvZCAiY2hhbmdlVmFsaWRhdG9yTWFuYWdlcih1aW50NjQsYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4ZGQ1ZmFhZGEgLy8gbWV0aG9kICJjaGFuZ2VWYWxpZGF0b3JTdW5zZXRJbmZvKHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHgxOGFhYzdhNyAvLyBtZXRob2QgImNoYW5nZVZhbGlkYXRvck5GRCh1aW50NjQsdWludDY0LHN0cmluZyl2b2lkIgoJcHVzaGJ5dGVzIDB4Zjk5ZWY1NGQgLy8gbWV0aG9kICJjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyh1aW50NjQsYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4MTA4MDlkNGQgLy8gbWV0aG9kICJjaGFuZ2VWYWxpZGF0b3JSZXdhcmRJbmZvKHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHhlNzc4ZGQ1YSAvLyBtZXRob2QgImFkZFBvb2wocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KSIKCXB1c2hieXRlcyAweGJmNTI1OWQwIC8vIG1ldGhvZCAiYWRkU3Rha2UocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KSIKCXB1c2hieXRlcyAweDRkZjhkODZlIC8vIG1ldGhvZCAic2V0VG9rZW5QYXlvdXRSYXRpbyh1aW50NjQpKHVpbnQ2NFsyNF0sdWludDY0KSIKCXB1c2hieXRlcyAweDQxOGZjZWZjIC8vIG1ldGhvZCAic3Rha2VVcGRhdGVkVmlhUmV3YXJkcygodWludDY0LHVpbnQ2NCx1aW50NjQpLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkIgoJcHVzaGJ5dGVzIDB4YTJkYzUxYjUgLy8gbWV0aG9kICJzdGFrZVJlbW92ZWQoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkIgoJcHVzaGJ5dGVzIDB4Mjg3M2Y1MDQgLy8gbWV0aG9kICJmaW5kUG9vbEZvclN0YWtlcih1aW50NjQsYWRkcmVzcyx1aW50NjQpKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKSIKCXB1c2hieXRlcyAweDA1NDdmNGZlIC8vIG1ldGhvZCAibW92ZVBvb2xUb05vZGUodWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweGNiNjY4MzU4IC8vIG1ldGhvZCAiZW1wdHlUb2tlblJld2FyZHModWludDY0LGFkZHJlc3MpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9pbml0U3Rha2luZ0NvbnRyYWN0ICphYmlfcm91dGVfbG9hZFN0YWtpbmdDb250cmFjdERhdGEgKmFiaV9yb3V0ZV9maW5hbGl6ZVN0YWtpbmdDb250cmFjdCAqYWJpX3JvdXRlX2dhcyAqYWJpX3JvdXRlX2dldE1ickFtb3VudHMgKmFiaV9yb3V0ZV9nZXRQcm90b2NvbENvbnN0cmFpbnRzICphYmlfcm91dGVfZ2V0TnVtVmFsaWRhdG9ycyAqYWJpX3JvdXRlX2dldFZhbGlkYXRvckNvbmZpZyAqYWJpX3JvdXRlX2dldFZhbGlkYXRvclN0YXRlICphYmlfcm91dGVfZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyICphYmlfcm91dGVfZ2V0UG9vbHMgKmFiaV9yb3V0ZV9nZXRQb29sQXBwSWQgKmFiaV9yb3V0ZV9nZXRQb29sSW5mbyAqYWJpX3JvdXRlX2dldEN1ck1heFN0YWtlUGVyUG9vbCAqYWJpX3JvdXRlX2RvZXNTdGFrZXJOZWVkVG9QYXlNQlIgKmFiaV9yb3V0ZV9nZXRTdGFrZWRQb29sc0ZvckFjY291bnQgKmFiaV9yb3V0ZV9nZXRUb2tlblBheW91dFJhdGlvICphYmlfcm91dGVfZ2V0Tm9kZVBvb2xBc3NpZ25tZW50cyAqYWJpX3JvdXRlX2dldE5GRFJlZ2lzdHJ5SUQgKmFiaV9yb3V0ZV9hZGRWYWxpZGF0b3IgKmFiaV9yb3V0ZV9jaGFuZ2VWYWxpZGF0b3JNYW5hZ2VyICphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yU3Vuc2V0SW5mbyAqYWJpX3JvdXRlX2NoYW5nZVZhbGlkYXRvck5GRCAqYWJpX3JvdXRlX2NoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzICphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbyAqYWJpX3JvdXRlX2FkZFBvb2wgKmFiaV9yb3V0ZV9hZGRTdGFrZSAqYWJpX3JvdXRlX3NldFRva2VuUGF5b3V0UmF0aW8gKmFiaV9yb3V0ZV9zdGFrZVVwZGF0ZWRWaWFSZXdhcmRzICphYmlfcm91dGVfc3Rha2VSZW1vdmVkICphYmlfcm91dGVfZmluZFBvb2xGb3JTdGFrZXIgKmFiaV9yb3V0ZV9tb3ZlUG9vbFRvTm9kZSAqYWJpX3JvdXRlX2VtcHR5VG9rZW5SZXdhcmRzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbjoKCXB1c2hieXRlcyAweDQ2Zjc2NTMzIC8vIG1ldGhvZCAidXBkYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgVXBkYXRlQXBwbGljYXRpb24KCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "templateVariables": { "nfdRegistryAppId": { "type": "uint64" } }, "scratchVariables": { "nfdRegistryAppId": { "type": "uint64", "slot": 200 } }, "compilerInfo": { "compiler": "algod", "compilerVersion": { "major": 4, "minor": 4, "patch": 1, "commitHash": "7b607ce4" } } }