@perp/voting-escrow
Version:
Perpetual Protocol voting escrow contracts
479 lines (478 loc) • 36.2 kB
JSON
{
"_format": "hh-vyper-artifact-1",
"contractName": "FeeDistributor",
"sourceName": "contracts/FeeDistributor.vy",
"abi": [
{
"name": "CommitAdmin",
"inputs": [
{
"name": "admin",
"type": "address",
"indexed": false
}
],
"anonymous": false,
"type": "event"
},
{
"name": "ApplyAdmin",
"inputs": [
{
"name": "admin",
"type": "address",
"indexed": false
}
],
"anonymous": false,
"type": "event"
},
{
"name": "ToggleAllowCheckpointToken",
"inputs": [
{
"name": "toggle_flag",
"type": "bool",
"indexed": false
}
],
"anonymous": false,
"type": "event"
},
{
"name": "CheckpointToken",
"inputs": [
{
"name": "time",
"type": "uint256",
"indexed": false
},
{
"name": "tokens",
"type": "uint256",
"indexed": false
}
],
"anonymous": false,
"type": "event"
},
{
"name": "Claimed",
"inputs": [
{
"name": "recipient",
"type": "address",
"indexed": true
},
{
"name": "amount",
"type": "uint256",
"indexed": false
},
{
"name": "claim_epoch",
"type": "uint256",
"indexed": false
},
{
"name": "max_epoch",
"type": "uint256",
"indexed": false
}
],
"anonymous": false,
"type": "event"
},
{
"stateMutability": "nonpayable",
"type": "constructor",
"inputs": [
{
"name": "_voting_escrow",
"type": "address"
},
{
"name": "_start_time",
"type": "uint256"
},
{
"name": "_token",
"type": "address"
},
{
"name": "_admin",
"type": "address"
},
{
"name": "_emergency_return",
"type": "address"
}
],
"outputs": []
},
{
"stateMutability": "nonpayable",
"type": "function",
"name": "checkpoint_token",
"inputs": [],
"outputs": []
},
{
"stateMutability": "view",
"type": "function",
"name": "ve_for_at",
"inputs": [
{
"name": "_user",
"type": "address"
},
{
"name": "_timestamp",
"type": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256"
}
]
},
{
"stateMutability": "nonpayable",
"type": "function",
"name": "checkpoint_total_supply",
"inputs": [],
"outputs": []
},
{
"stateMutability": "nonpayable",
"type": "function",
"name": "claim",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
]
},
{
"stateMutability": "nonpayable",
"type": "function",
"name": "claim",
"inputs": [
{
"name": "_addr",
"type": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256"
}
]
},
{
"stateMutability": "nonpayable",
"type": "function",
"name": "claim_many",
"inputs": [
{
"name": "_receivers",
"type": "address[20]"
}
],
"outputs": [
{
"name": "",
"type": "bool"
}
]
},
{
"stateMutability": "nonpayable",
"type": "function",
"name": "burn",
"inputs": [
{
"name": "_coin",
"type": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool"
}
]
},
{
"stateMutability": "nonpayable",
"type": "function",
"name": "commit_admin",
"inputs": [
{
"name": "_addr",
"type": "address"
}
],
"outputs": []
},
{
"stateMutability": "nonpayable",
"type": "function",
"name": "apply_admin",
"inputs": [],
"outputs": []
},
{
"stateMutability": "nonpayable",
"type": "function",
"name": "toggle_allow_checkpoint_token",
"inputs": [],
"outputs": []
},
{
"stateMutability": "nonpayable",
"type": "function",
"name": "kill_me",
"inputs": [],
"outputs": []
},
{
"stateMutability": "nonpayable",
"type": "function",
"name": "recover_balance",
"inputs": [
{
"name": "_coin",
"type": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool"
}
]
},
{
"stateMutability": "view",
"type": "function",
"name": "start_time",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
]
},
{
"stateMutability": "view",
"type": "function",
"name": "time_cursor",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
]
},
{
"stateMutability": "view",
"type": "function",
"name": "time_cursor_of",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256"
}
]
},
{
"stateMutability": "view",
"type": "function",
"name": "user_epoch_of",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256"
}
]
},
{
"stateMutability": "view",
"type": "function",
"name": "last_token_time",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
]
},
{
"stateMutability": "view",
"type": "function",
"name": "tokens_per_week",
"inputs": [
{
"name": "arg0",
"type": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256"
}
]
},
{
"stateMutability": "view",
"type": "function",
"name": "voting_escrow",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address"
}
]
},
{
"stateMutability": "view",
"type": "function",
"name": "token",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address"
}
]
},
{
"stateMutability": "view",
"type": "function",
"name": "total_received",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
]
},
{
"stateMutability": "view",
"type": "function",
"name": "token_last_balance",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
]
},
{
"stateMutability": "view",
"type": "function",
"name": "ve_supply",
"inputs": [
{
"name": "arg0",
"type": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256"
}
]
},
{
"stateMutability": "view",
"type": "function",
"name": "admin",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address"
}
]
},
{
"stateMutability": "view",
"type": "function",
"name": "future_admin",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address"
}
]
},
{
"stateMutability": "view",
"type": "function",
"name": "can_checkpoint_token",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bool"
}
]
},
{
"stateMutability": "view",
"type": "function",
"name": "emergency_return",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address"
}
]
},
{
"stateMutability": "view",
"type": "function",
"name": "is_killed",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bool"
}
]
}
],
"bytecode": "0x6020611b006000396000518060a01c611afb576040526020611b406000396000518060a01c611afb576060526020611b606000396000518060a01c611afb576080526020611b806000396000518060a01c611afb5760a05234611afb576020611b2060003960005162093a808104905062093a8081028162093a80820418611afb57905060c05260c05160015560c05160055560c05160025560605166038d7ea4c680075560405166038d7ea4c680065560805166071afd498d000a5560a05166071afd498d000d55611a206100da61000039611a20610000f36003361161000c57610e19565b60003560e01c34611a0e5763811a40fe81186100785760043618611a0e5766071afd498d000a543318610040576001610069565b66071afd498d000c54610054576000610069565b600554620151808101818110611a0e57905042115b15611a0e57610076610e1f565b005b63ace296fb811861021b5760443618611a0e576004358060a01c611a0e576102e05266038d7ea4c6800654610300526103005163010ae757610340526102e051610360526020610340602461035c845afa6100d8573d600060003e3d6000fd5b60203d10611a0e5761034090505161032052610300516040526102e0516060526024356080526103205160a0526101106103606111f3565b6103605161034052610300516328d09d476103e0526102e05161040052610340516104205260806103e060446103fc845afa610151573d600060003e3d6000fd5b60803d10611a0e576103e05180600f0b8118611a0e57610480526104005180600f0b8118611a0e576104a052610420516104c052610440516104e052610480905080516103605260208101516103805260408101516103a05260608101516103c0525061036051610380516024356103a051808203828111611a0e579050905080607f1c611a0e5780820280600f0b8118611a0e579050905080820380600f0b8118611a0e57905090506000818118600083130218905060008112611a0e576103e05260206103e0f35b63b21ed50281186102385760043618611a0e57610236611321565b005b634e71d92d81186102555760043618611a0e573361062052610278565b631e83409a81186103e25760243618611a0e576004358060a01c611a0e57610620525b600054600214611a0e57600260005566071afd498d000e54611a0e5760025442106102a5576102a5611321565b6005546106405266071afd498d000c546102c05760006102d6565b61064051620151808101818110611a0e57905042115b156102e9576102e3610e1f565b42610640525b6106405162093a808104905062093a8081028162093a80820418611a0e57905061064052610620516102e05266038d7ea4c6800654610300526106405161032052610335610680611522565b610680516106605261066051156103d65766038d7ea4c6800754610680526106805163a9059cbb6106a052610620516106c052610660516106e05260206106a060446106bc6000855af161038e573d600060003e3d6000fd5b60203d10611a0e576106a0518060011c611a0e576107005261070090505115611a0e5766038d7ea4c680095461066051808203828111611a0e579050905066038d7ea4c68009555b60206106606003600055f35b637b935a2381186106fd576102843618611a0e576004358060a01c611a0e57610620526024358060a01c611a0e57610640526044358060a01c611a0e57610660526064358060a01c611a0e57610680526084358060a01c611a0e576106a05260a4358060a01c611a0e576106c05260c4358060a01c611a0e576106e05260e4358060a01c611a0e5761070052610104358060a01c611a0e5761072052610124358060a01c611a0e5761074052610144358060a01c611a0e5761076052610164358060a01c611a0e5761078052610184358060a01c611a0e576107a0526101a4358060a01c611a0e576107c0526101c4358060a01c611a0e576107e0526101e4358060a01c611a0e5761080052610204358060a01c611a0e5761082052610224358060a01c611a0e5761084052610244358060a01c611a0e5761086052610264358060a01c611a0e5761088052600054600214611a0e57600260005566071afd498d000e54611a0e57600254421061055b5761055b611321565b6005546108a05266071afd498d000c5461057657600061058c565b6108a051620151808101818110611a0e57905042115b1561059f57610599610e1f565b426108a0525b6108a05162093a808104905062093a8081028162093a80820418611a0e5790506108a05266038d7ea4c68006546108c05266038d7ea4c68007546108e05260006109005260006014905b8060051b61062001516109205261092051610603576106bb565b610920516102e0526108c051610300526108a05161032052610626610960611522565b610960516109405261094051156106b0576108e05163a9059cbb610960526109205161098052610940516109a0526020610960604461097c6000855af1610672573d600060003e3d6000fd5b60203d10611a0e57610960518060011c611a0e576109c0526109c090505115611a0e576109005161094051808201828110611a0e5790509050610900525b6001018181186105e9575b505061090051156106eb5766038d7ea4c680095461090051808203828111611a0e579050905066038d7ea4c68009555b60016109205260206109206003600055f35b6389afcb4481186108245760243618611a0e576004358060a01c611a0e576101405266038d7ea4c68007546101405118611a0e5766071afd498d000e54611a0e57610140516370a0823161018052336101a0526020610180602461019c845afa61076c573d600060003e3d6000fd5b60203d10611a0e5761018090505161016052610160511561081757610140516323b872dd61018052336101a052306101c052610160516101e0526020610180606461019c6000855af16107c4573d600060003e3d6000fd5b60203d10611a0e57610180518060011c611a0e5761020052610200505066071afd498d000c546107f557600061080a565b600554620151808101818110611a0e57905042115b1561081757610817610e1f565b6001610180526020610180f35b63b1d3db75811861088e5760243618611a0e576004358060a01c611a0e5760405266071afd498d000a543318611a0e5760405166071afd498d000b557f59a407284ae6e2986675fa1400d6498af928ed01f4fd2dd6be4a2a8b4fc35b3460405160605260206060a1005b63c0e991a681186109045760043618611a0e5766071afd498d000a543318611a0e5766071afd498d000b5415611a0e5766071afd498d000b5460405260405166071afd498d000a557f756f845176805c8ebf249854e909627308157f63c96e470e44a9e8549ba6fb1e60405160605260206060a1005b632121bfc3811861096d5760043618611a0e5766071afd498d000a543318611a0e5766071afd498d000c541560405260405166071afd498d000c557fdbe6ac1081ebd8e648718341126659456f4009fcadfe1c23f66f5e61522610b260405160605260206060a1005b63e36988538118610a365760043618611a0e5766071afd498d000a543318611a0e57600166071afd498d000e5566038d7ea4c680075460405260405163a9059cbb60a05266071afd498d000d5460c0526040516370a0823160605230608052602060606024607c845afa6109e6573d600060003e3d6000fd5b60203d10611a0e57606090505160e052602060a0604460bc6000855af1610a12573d600060003e3d6000fd5b60203d10611a0e5760a0518060011c611a0e576101005261010090505115611a0e57005b63db2f5f798118610b8f5760243618611a0e576004358060a01c611a0e5760405266071afd498d000a543318611a0e5766038d7ea4c680075460405114611a0e576040516370a082316080523060a052602060806024609c845afa610aa0573d600060003e3d6000fd5b60203d10611a0e5760809050516060526000600460c0527fa9059cbb0000000000000000000000000000000000000000000000000000000060e05260c080516020820183610120018151815250508083019250505066071afd498d000d548161012001526020810190506060518161012001526020810190508061010052610100505060206101a06101005161012060006040515af1610b45573d600060003e3d6000fd5b3d602081183d60201002186101805261018080518060805260208201805160a05250505060805115610b845760a05160805160200360031b1c15611a0e575b600160c052602060c0f35b63834ee4178118610bae5760043618611a0e5760015460405260206040f35b63127dcbd38118610bcd5760043618611a0e5760025460405260206040f35b632a2a314b8118610c085760243618611a0e576004358060a01c611a0e57604052600360405160205260005260406000205460605260206060f35b63d5d46e888118610c435760243618611a0e576004358060a01c611a0e57604052600460405160205260005260406000205460605260206060f35b637f58e8f88118610c625760043618611a0e5760055460405260206040f35b63edf599978118610c935760243618611a0e5760043566038d7ea4c67fff8111611a0e576006015460405260206040f35b63dfe050318118610cb85760043618611a0e5766038d7ea4c680065460405260206040f35b63fc0c546a8118610cdd5760043618611a0e5766038d7ea4c680075460405260206040f35b632f0c222e8118610d025760043618611a0e5766038d7ea4c680085460405260206040f35b6322b04bfc8118610d275760043618611a0e5766038d7ea4c680095460405260206040f35b63d4dafba88118610d5e5760243618611a0e5760043566038d7ea4c67fff8111611a0e5766038d7ea4c6800a015460405260206040f35b63f851a4408118610d835760043618611a0e5766071afd498d000a5460405260206040f35b6317f7182a8118610da85760043618611a0e5766071afd498d000b5460405260206040f35b63aeba47378118610dcd5760043618611a0e5766071afd498d000c5460405260206040f35b632c3f531e8118610df25760043618611a0e5766071afd498d000d5460405260206040f35b639c868ac08118610e175760043618611a0e5766071afd498d000e5460405260206040f35b505b60006000fd5b66038d7ea4c68007546370a0823160605230608052602060606024607c845afa610e4e573d600060003e3d6000fd5b60203d10611a0e57606090505160405260405166038d7ea4c6800954808203828111611a0e579050905060605260405166038d7ea4c680095560055460805242608051808203828111611a0e579050905060a0524260055560805162093a808104905062093a8081028162093a80820418611a0e57905060c052600060e05260006014905b806101005260c05162093a808101818110611a0e57905060e05260e0514210610fa75760a051610f0a5760805160e0511815610f0d565b60005b610f785760c05166038d7ea4c67fff8111611a0e57600601805460605160e051608051808203828111611a0e5790509050808202811583838304141715611a0e579050905060a0518015611a0e5780820490509050808201828110611a0e5790509050815550611054565b60c05166038d7ea4c67fff8111611a0e576006018054606051808201828110611a0e5790509050815550611054565b60a051610fb957608051421815610fbc565b60005b6110255760c05166038d7ea4c67fff8111611a0e57600601805460605142608051808203828111611a0e5790509050808202811583838304141715611a0e579050905060a0518015611a0e5780820490509050808201828110611a0e579050905081555061106b565b60c05166038d7ea4c67fff8111611a0e576006018054606051808201828110611a0e579050905081555061106b565b60e05160805260e05160c052600101818118610ed3575b50507fce749457b74e10f393f2c6b1ce4261b78791376db5a3f501477a809f03f500d64261010052606051610120526040610100a1565b600060805260405163900cf0cf60c052602060c0600460dc845afa6110cc573d600060003e3d6000fd5b60203d10611a0e5760c090505160a05260006080905b8060c05260a051608051106110f6576111e9565b60805160a051808201828110611a0e579050905060028101818110611a0e5790508060011c905060e05260405163d1febfb96101805260e0516101a0526080610180602461019c845afa61114f573d600060003e3d6000fd5b60803d10611a0e576101805180600f0b8118611a0e57610220526101a05180600f0b8118611a0e57610240526101c051610260526101e051610280526102209050805161010052602081015161012052604081015161014052606081015161016052506060516101405111156111d75760e05160018103818111611a0e57905060a0526111de565b60e0516080525b6001018181186110e2575b5050608051815250565b600060c05260a05160e05260006080905b806101005260e05160c0511061121957611317565b60c05160e051808201828110611a0e579050905060028101818110611a0e5790508060011c9050610120526040516328d09d476101c0526060516101e052610120516102005260806101c060446101dc845afa61127b573d600060003e3d6000fd5b60803d10611a0e576101c05180600f0b8118611a0e57610260526101e05180600f0b8118611a0e5761028052610200516102a052610220516102c052610260905080516101405260208101516101605260408101516101805260608101516101a05250608051610180511115611304576101205160018103818111611a0e57905060e05261130c565b6101205160c0525b600101818118611204575b505060c051815250565b66038d7ea4c68006546102a0526002546102c0524262093a808104905062093a8081028162093a80820418611a0e5790506102e0526102a05163c2c4c5c161030052803b15611a0e576000610300600461031c6000855af1611388573d600060003e3d6000fd5b5060006014905b80610300526102e0516102c05111611517576102a0516040526102c0516060526113ba6103406110a2565b61034051610320526102a05163d1febfb96103c052610320516103e05260806103c060246103dc845afa6113f3573d600060003e3d6000fd5b60803d10611a0e576103c05180600f0b8118611a0e57610460526103e05180600f0b8118611a0e5761048052610400516104a052610420516104c052610460905080516103405260208101516103605260408101516103805260608101516103a0525060006103c052610380516102c051111561148d576102c05161038051808203828111611a0e579050905080607f1c611a0e576103c0525b61034051610360516103c05180820280600f0b8118611a0e579050905080820380600f0b8118611a0e57905090506000818118600083130218905060008112611a0e576102c05166038d7ea4c67fff8111611a0e5766038d7ea4c6800a01556114f556611517565b6102c05162093a808101818110611a0e5790506102c05260010181811861138f575b50506102c051600255565b604036610340376103005163010ae7576103a0526102e0516103c05260206103a060246103bc845afa61155a573d600060003e3d6000fd5b60203d10611a0e576103a0905051610380526001546103a05261038051611585576000815250611a0c565b60036102e0516020526000526040600020546103c0526103c0516115d757610300516040526102e0516060526103a0516080526103805160a0526115ca6103e06111f3565b6103e051610340526115ee565b60046102e051602052600052604060002054610340525b610340516115fd576001610340525b610300516328d09d47610460526102e05161048052610340516104a0526080610460604461047c845afa611636573d600060003e3d6000fd5b60803d10611a0e576104605180600f0b8118611a0e57610500526104805180600f0b8118611a0e57610520526104a051610540526104c05161056052610500905080516103e052602081015161040052604081015161042052606081015161044052506103c0516116e2576104205162093a808101818110611a0e57905060018103818111611a0e57905062093a808104905062093a8081028162093a80820418611a0e5790506103c0525b610320516103c051106116f9576000815250611a0c565b6103a0516103c0511015611710576103a0516103c0525b6080366104603760006032905b806104e052610320516103c051106117345761196d565b610420516103c0511015611749576000611754565b610380516103405111155b611877576103c0516104a051808203828111611a0e579050905080607f1c611a0e576105005261046051610500516104805180820280600f0b8118611a0e579050905080820380600f0b8118611a0e57905090506000818118600083130218905060008112611a0e5761052052610520516117d7576103805161034051116117da565b60005b156117e45761196d565b610520511561185b5761036051610520516103c05166038d7ea4c67fff8111611a0e5760060154808202811583838304141715611a0e57905090506103c05166038d7ea4c67fff8111611a0e5766038d7ea4c6800a01548015611a0e5780820490509050808201828110611a0e5790509050610360525b6103c05162093a808101818110611a0e5790506103c052611962565b6103405160018101818110611a0e579050610340526103e051610460526104005161048052610420516104a052610440516104c05261038051610340511161195a57610300516328d09d47610500526102e0516105205261034051610540526080610500604461051c845afa6118f2573d600060003e3d6000fd5b60803d10611a0e576105005180600f0b8118611a0e576105a0526105205180600f0b8118611a0e576105c052610540516105e05261056051610600526105a0905080516103e05260208101516104005260408101516104205260608101516104405250611962565b6080366103e0375b60010181811861171d575b5050610380516103405160018103818111611a0e57905080828118828410021890509050610340526103405160046102e0516020526000526040600020556103c05160036102e0516020526000526040600020556102e0517f9cdcf2f7714cca3508c7f0110b04a90a80a3a8dd0e35de99689db74d28c5383e610360516104e0526103405161050052610380516105205260606104e0a2610360518152505b565b600080fda165767970657283000306000b005b600080fd",
"deployedBytecode": "0x6003361161000c57610e19565b60003560e01c34611a0e5763811a40fe81186100785760043618611a0e5766071afd498d000a543318610040576001610069565b66071afd498d000c54610054576000610069565b600554620151808101818110611a0e57905042115b15611a0e57610076610e1f565b005b63ace296fb811861021b5760443618611a0e576004358060a01c611a0e576102e05266038d7ea4c6800654610300526103005163010ae757610340526102e051610360526020610340602461035c845afa6100d8573d600060003e3d6000fd5b60203d10611a0e5761034090505161032052610300516040526102e0516060526024356080526103205160a0526101106103606111f3565b6103605161034052610300516328d09d476103e0526102e05161040052610340516104205260806103e060446103fc845afa610151573d600060003e3d6000fd5b60803d10611a0e576103e05180600f0b8118611a0e57610480526104005180600f0b8118611a0e576104a052610420516104c052610440516104e052610480905080516103605260208101516103805260408101516103a05260608101516103c0525061036051610380516024356103a051808203828111611a0e579050905080607f1c611a0e5780820280600f0b8118611a0e579050905080820380600f0b8118611a0e57905090506000818118600083130218905060008112611a0e576103e05260206103e0f35b63b21ed50281186102385760043618611a0e57610236611321565b005b634e71d92d81186102555760043618611a0e573361062052610278565b631e83409a81186103e25760243618611a0e576004358060a01c611a0e57610620525b600054600214611a0e57600260005566071afd498d000e54611a0e5760025442106102a5576102a5611321565b6005546106405266071afd498d000c546102c05760006102d6565b61064051620151808101818110611a0e57905042115b156102e9576102e3610e1f565b42610640525b6106405162093a808104905062093a8081028162093a80820418611a0e57905061064052610620516102e05266038d7ea4c6800654610300526106405161032052610335610680611522565b610680516106605261066051156103d65766038d7ea4c6800754610680526106805163a9059cbb6106a052610620516106c052610660516106e05260206106a060446106bc6000855af161038e573d600060003e3d6000fd5b60203d10611a0e576106a0518060011c611a0e576107005261070090505115611a0e5766038d7ea4c680095461066051808203828111611a0e579050905066038d7ea4c68009555b60206106606003600055f35b637b935a2381186106fd576102843618611a0e576004358060a01c611a0e57610620526024358060a01c611a0e57610640526044358060a01c611a0e57610660526064358060a01c611a0e57610680526084358060a01c611a0e576106a05260a4358060a01c611a0e576106c05260c4358060a01c611a0e576106e05260e4358060a01c611a0e5761070052610104358060a01c611a0e5761072052610124358060a01c611a0e5761074052610144358060a01c611a0e5761076052610164358060a01c611a0e5761078052610184358060a01c611a0e576107a0526101a4358060a01c611a0e576107c0526101c4358060a01c611a0e576107e0526101e4358060a01c611a0e5761080052610204358060a01c611a0e5761082052610224358060a01c611a0e5761084052610244358060a01c611a0e5761086052610264358060a01c611a0e5761088052600054600214611a0e57600260005566071afd498d000e54611a0e57600254421061055b5761055b611321565b6005546108a05266071afd498d000c5461057657600061058c565b6108a051620151808101818110611a0e57905042115b1561059f57610599610e1f565b426108a0525b6108a05162093a808104905062093a8081028162093a80820418611a0e5790506108a05266038d7ea4c68006546108c05266038d7ea4c68007546108e05260006109005260006014905b8060051b61062001516109205261092051610603576106bb565b610920516102e0526108c051610300526108a05161032052610626610960611522565b610960516109405261094051156106b0576108e05163a9059cbb610960526109205161098052610940516109a0526020610960604461097c6000855af1610672573d600060003e3d6000fd5b60203d10611a0e57610960518060011c611a0e576109c0526109c090505115611a0e576109005161094051808201828110611a0e5790509050610900525b6001018181186105e9575b505061090051156106eb5766038d7ea4c680095461090051808203828111611a0e579050905066038d7ea4c68009555b60016109205260206109206003600055f35b6389afcb4481186108245760243618611a0e576004358060a01c611a0e576101405266038d7ea4c68007546101405118611a0e5766071afd498d000e54611a0e57610140516370a0823161018052336101a0526020610180602461019c845afa61076c573d600060003e3d6000fd5b60203d10611a0e5761018090505161016052610160511561081757610140516323b872dd61018052336101a052306101c052610160516101e0526020610180606461019c6000855af16107c4573d600060003e3d6000fd5b60203d10611a0e57610180518060011c611a0e5761020052610200505066071afd498d000c546107f557600061080a565b600554620151808101818110611a0e57905042115b1561081757610817610e1f565b6001610180526020610180f35b63b1d3db75811861088e5760243618611a0e576004358060a01c611a0e5760405266071afd498d000a543318611a0e5760405166071afd498d000b557f59a407284ae6e2986675fa1400d6498af928ed01f4fd2dd6be4a2a8b4fc35b3460405160605260206060a1005b63c0e991a681186109045760043618611a0e5766071afd498d000a543318611a0e5766071afd498d000b5415611a0e5766071afd498d000b5460405260405166071afd498d000a557f756f845176805c8ebf249854e909627308157f63c96e470e44a9e8549ba6fb1e60405160605260206060a1005b632121bfc3811861096d5760043618611a0e5766071afd498d000a543318611a0e5766071afd498d000c541560405260405166071afd498d000c557fdbe6ac1081ebd8e648718341126659456f4009fcadfe1c23f66f5e61522610b260405160605260206060a1005b63e36988538118610a365760043618611a0e5766071afd498d000a543318611a0e57600166071afd498d000e5566038d7ea4c680075460405260405163a9059cbb60a05266071afd498d000d5460c0526040516370a0823160605230608052602060606024607c845afa6109e6573d600060003e3d6000fd5b60203d10611a0e57606090505160e052602060a0604460bc6000855af1610a12573d600060003e3d6000fd5b60203d10611a0e5760a0518060011c611a0e576101005261010090505115611a0e57005b63db2f5f798118610b8f5760243618611a0e576004358060a01c611a0e5760405266071afd498d000a543318611a0e5766038d7ea4c680075460405114611a0e576040516370a082316080523060a052602060806024609c845afa610aa0573d600060003e3d6000fd5b60203d10611a0e5760809050516060526000600460c0527fa9059cbb0000000000000000000000000000000000000000000000000000000060e05260c080516020820183610120018151815250508083019250505066071afd498d000d548161012001526020810190506060518161012001526020810190508061010052610100505060206101a06101005161012060006040515af1610b45573d600060003e3d6000fd5b3d602081183d60201002186101805261018080518060805260208201805160a05250505060805115610b845760a05160805160200360031b1c15611a0e575b600160c052602060c0f35b63834ee4178118610bae5760043618611a0e5760015460405260206040f35b63127dcbd38118610bcd5760043618611a0e5760025460405260206040f35b632a2a314b8118610c085760243618611a0e576004358060a01c611a0e57604052600360405160205260005260406000205460605260206060f35b63d5d46e888118610c435760243618611a0e576004358060a01c611a0e57604052600460405160205260005260406000205460605260206060f35b637f58e8f88118610c625760043618611a0e5760055460405260206040f35b63edf599978118610c935760243618611a0e5760043566038d7ea4c67fff8111611a0e576006015460405260206040f35b63dfe050318118610cb85760043618611a0e5766038d7ea4c680065460405260206040f35b63fc0c546a8118610cdd5760043618611a0e5766038d7ea4c680075460405260206040f35b632f0c222e8118610d025760043618611a0e5766038d7ea4c680085460405260206040f35b6322b04bfc8118610d275760043618611a0e5766038d7ea4c680095460405260206040f35b63d4dafba88118610d5e5760243618611a0e5760043566038d7ea4c67fff8111611a0e5766038d7ea4c6800a015460405260206040f35b63f851a4408118610d835760043618611a0e5766071afd498d000a5460405260206040f35b6317f7182a8118610da85760043618611a0e5766071afd498d000b5460405260206040f35b63aeba47378118610dcd5760043618611a0e5766071afd498d000c5460405260206040f35b632c3f531e8118610df25760043618611a0e5766071afd498d000d5460405260206040f35b639c868ac08118610e175760043618611a0e5766071afd498d000e5460405260206040f35b505b60006000fd5b66038d7ea4c68007546370a0823160605230608052602060606024607c845afa610e4e573d600060003e3d6000fd5b60203d10611a0e57606090505160405260405166038d7ea4c6800954808203828111611a0e579050905060605260405166038d7ea4c680095560055460805242608051808203828111611a0e579050905060a0524260055560805162093a808104905062093a8081028162093a80820418611a0e57905060c052600060e05260006014905b806101005260c05162093a808101818110611a0e57905060e05260e0514210610fa75760a051610f0a5760805160e0511815610f0d565b60005b610f785760c05166038d7ea4c67fff8111611a0e57600601805460605160e051608051808203828111611a0e5790509050808202811583838304141715611a0e579050905060a0518015611a0e5780820490509050808201828110611a0e5790509050815550611054565b60c05166038d7ea4c67fff8111611a0e576006018054606051808201828110611a0e5790509050815550611054565b60a051610fb957608051421815610fbc565b60005b6110255760c05166038d7ea4c67fff8111611a0e57600601805460605142608051808203828111611a0e5790509050808202811583838304141715611a0e579050905060a0518015611a0e5780820490509050808201828110611a0e579050905081555061106b565b60c05166038d7ea4c67fff8111611a0e576006018054606051808201828110611a0e579050905081555061106b565b60e05160805260e05160c052600101818118610ed3575b50507fce749457b74e10f393f2c6b1ce4261b78791376db5a3f501477a809f03f500d64261010052606051610120526040610100a1565b600060805260405163900cf0cf60c052602060c0600460dc845afa6110cc573d600060003e3d6000fd5b60203d10611a0e5760c090505160a05260006080905b8060c05260a051608051106110f6576111e9565b60805160a051808201828110611a0e579050905060028101818110611a0e5790508060011c905060e05260405163d1febfb96101805260e0516101a0526080610180602461019c845afa61114f573d600060003e3d6000fd5b60803d10611a0e576101805180600f0b8118611a0e57610220526101a05180600f0b8118611a0e57610240526101c051610260526101e051610280526102209050805161010052602081015161012052604081015161014052606081015161016052506060516101405111156111d75760e05160018103818111611a0e57905060a0526111de565b60e0516080525b6001018181186110e2575b5050608051815250565b600060c05260a05160e05260006080905b806101005260e05160c0511061121957611317565b60c05160e051808201828110611a0e579050905060028101818110611a0e5790508060011c9050610120526040516328d09d476101c0526060516101e052610120516102005260806101c060446101dc845afa61127b573d600060003e3d6000fd5b60803d10611a0e576101c05180600f0b8118611a0e57610260526101e05180600f0b8118611a0e5761028052610200516102a052610220516102c052610260905080516101405260208101516101605260408101516101805260608101516101a05250608051610180511115611304576101205160018103818111611a0e57905060e05261130c565b6101205160c0525b600101818118611204575b505060c051815250565b66038d7ea4c68006546102a0526002546102c0524262093a808104905062093a8081028162093a80820418611a0e5790506102e0526102a05163c2c4c5c161030052803b15611a0e576000610300600461031c6000855af1611388573d600060003e3d6000fd5b5060006014905b80610300526102e0516102c05111611517576102a0516040526102c0516060526113ba6103406110a2565b61034051610320526102a05163d1febfb96103c052610320516103e05260806103c060246103dc845afa6113f3573d600060003e3d6000fd5b60803d10611a0e576103c05180600f0b8118611a0e57610460526103e05180600f0b8118611a0e5761048052610400516104a052610420516104c052610460905080516103405260208101516103605260408101516103805260608101516103a0525060006103c052610380516102c051111561148d576102c05161038051808203828111611a0e579050905080607f1c611a0e576103c0525b61034051610360516103c05180820280600f0b8118611a0e579050905080820380600f0b8118611a0e57905090506000818118600083130218905060008112611a0e576102c05166038d7ea4c67fff8111611a0e5766038d7ea4c6800a01556114f556611517565b6102c05162093a808101818110611a0e5790506102c05260010181811861138f575b50506102c051600255565b604036610340376103005163010ae7576103a0526102e0516103c05260206103a060246103bc845afa61155a573d600060003e3d6000fd5b60203d10611a0e576103a0905051610380526001546103a05261038051611585576000815250611a0c565b60036102e0516020526000526040600020546103c0526103c0516115d757610300516040526102e0516060526103a0516080526103805160a0526115ca6103e06111f3565b6103e051610340526115ee565b60046102e051602052600052604060002054610340525b610340516115fd576001610340525b610300516328d09d47610460526102e05161048052610340516104a0526080610460604461047c845afa611636573d600060003e3d6000fd5b60803d10611a0e576104605180600f0b8118611a0e57610500526104805180600f0b8118611a0e57610520526104a051610540526104c05161056052610500905080516103e052602081015161040052604081015161042052606081015161044052506103c0516116e2576104205162093a808101818110611a0e57905060018103818111611a0e57905062093a808104905062093a8081028162093a80820418611a0e5790506103c0525b610320516103c051106116f9576000815250611a0c565b6103a0516103c0511015611710576103a0516103c0525b6080366104603760006032905b806104e052610320516103c051106117345761196d565b610420516103c0511015611749576000611754565b610380516103405111155b611877576103c0516104a051808203828111611a0e579050905080607f1c611a0e576105005261046051610500516104805180820280600f0b8118611a0e579050905080820380600f0b8118611a0e57905090506000818118600083130218905060008112611a0e5761052052610520516117d7576103805161034051116117da565b60005b156117e45761196d565b610520511561185b5761036051610520516103c05166038d7ea4c67fff8111611a0e5760060154808202811583838304141715611a0e57905090506103c05166038d7ea4c67fff8111611a0e5766038d7ea4c6800a01548015611a0e5780820490509050808201828110611a0e5790509050610360525b6103c05162093a808101818110611a0e5790506103c052611962565b6103405160018101818110611a0e579050610340526103e051610460526104005161048052610420516104a052610440516104c05261038051610340511161195a57610300516328d09d47610500526102e0516105205261034051610540526080610500604461051c845afa6118f2573d600060003e3d6000fd5b60803d10611a0e576105005180600f0b8118611a0e576105a0526105205180600f0b8118611a0e576105c052610540516105e05261056051610600526105a0905080516103e05260208101516104005260408101516104205260608101516104405250611962565b6080366103e0375b60010181811861171d575b5050610380516103405160018103818111611a0e57905080828118828410021890509050610340526103405160046102e0516020526000526040600020556103c05160036102e0516020526000526040600020556102e0517f9cdcf2f7714cca3508c7f0110b04a90a80a3a8dd0e35de99689db74d28c5383e610360516104e0526103405161050052610380516105205260606104e0a2610360518152505b565b600080fda165767970657283000306000b",
"linkReferences": {},
"deployedLinkReferences": {}
}