@axelar-network/axelar-cgp-solidity
Advanced tools
Comparing version 6.1.2 to 6.2.0
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/5605b3f42fde35fe036581781cd6b150.json" | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
} |
@@ -107,6 +107,6 @@ { | ||
], | ||
"bytecode": "0x60a060405234801561001057600080fd5b506040516106a33803806106a383398101604081905261002f91610067565b6001600160a01b0381166100565760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0316608052610097565b60006020828403121561007957600080fd5b81516001600160a01b038116811461009057600080fd5b9392505050565b6080516105e46100bf60003960008181604b01528181610115015261022d01526105e46000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063116191b6146100465780631a98b2e01461009657806349160658146100ab575b600080fd5b61006d7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100a96100a436600461032e565b6100be565b005b6100a96100b9366004610408565b6101d6565b600085856040516100d09291906104ac565b6040519081900381207f1876eed9000000000000000000000000000000000000000000000000000000008252915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690631876eed99061015a908e908e908e908e908e9089908d908d908d906004016104e5565b602060405180830381600087803b15801561017457600080fd5b505af1158015610188573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ac9190610544565b6101c957604051631403112d60e21b815260040160405180910390fd5b5050505050505050505050565b600082826040516101e89291906104ac565b6040519081900381207f5f6970c3000000000000000000000000000000000000000000000000000000008252915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690635f6970c39061026c908b908b908b908b908b90899060040161056d565b602060405180830381600087803b15801561028657600080fd5b505af115801561029a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102be9190610544565b6102db57604051631403112d60e21b815260040160405180910390fd5b5050505050505050565b60008083601f8401126102f757600080fd5b50813567ffffffffffffffff81111561030f57600080fd5b60208301915083602082850101111561032757600080fd5b9250929050565b60008060008060008060008060008060c08b8d03121561034d57600080fd5b8a35995060208b013567ffffffffffffffff8082111561036c57600080fd5b6103788e838f016102e5565b909b50995060408d013591508082111561039157600080fd5b61039d8e838f016102e5565b909950975060608d01359150808211156103b657600080fd5b6103c28e838f016102e5565b909750955060808d01359150808211156103db57600080fd5b506103e88d828e016102e5565b9150809450508092505060a08b013590509295989b9194979a5092959850565b60008060008060008060006080888a03121561042357600080fd5b87359650602088013567ffffffffffffffff8082111561044257600080fd5b61044e8b838c016102e5565b909850965060408a013591508082111561046757600080fd5b6104738b838c016102e5565b909650945060608a013591508082111561048c57600080fd5b506104998a828b016102e5565b989b979a50959850939692959293505050565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b89815260c0602082015260006104ff60c083018a8c6104bc565b828103604084015261051281898b6104bc565b9050866060840152828103608084015261052d8186886104bc565b9150508260a08301529a9950505050505050505050565b60006020828403121561055657600080fd5b8151801515811461056657600080fd5b9392505050565b8681526080602082015260006105876080830187896104bc565b828103604084015261059a8186886104bc565b91505082606083015297965050505050505056fea264697066735822122024913ccb54b441ca567a4a85d87048f1edddeeb13f48bcaa8080f7074f03636664736f6c63430008090033", | ||
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063116191b6146100465780631a98b2e01461009657806349160658146100ab575b600080fd5b61006d7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100a96100a436600461032e565b6100be565b005b6100a96100b9366004610408565b6101d6565b600085856040516100d09291906104ac565b6040519081900381207f1876eed9000000000000000000000000000000000000000000000000000000008252915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690631876eed99061015a908e908e908e908e908e9089908d908d908d906004016104e5565b602060405180830381600087803b15801561017457600080fd5b505af1158015610188573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ac9190610544565b6101c957604051631403112d60e21b815260040160405180910390fd5b5050505050505050505050565b600082826040516101e89291906104ac565b6040519081900381207f5f6970c3000000000000000000000000000000000000000000000000000000008252915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690635f6970c39061026c908b908b908b908b908b90899060040161056d565b602060405180830381600087803b15801561028657600080fd5b505af115801561029a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102be9190610544565b6102db57604051631403112d60e21b815260040160405180910390fd5b5050505050505050565b60008083601f8401126102f757600080fd5b50813567ffffffffffffffff81111561030f57600080fd5b60208301915083602082850101111561032757600080fd5b9250929050565b60008060008060008060008060008060c08b8d03121561034d57600080fd5b8a35995060208b013567ffffffffffffffff8082111561036c57600080fd5b6103788e838f016102e5565b909b50995060408d013591508082111561039157600080fd5b61039d8e838f016102e5565b909950975060608d01359150808211156103b657600080fd5b6103c28e838f016102e5565b909750955060808d01359150808211156103db57600080fd5b506103e88d828e016102e5565b9150809450508092505060a08b013590509295989b9194979a5092959850565b60008060008060008060006080888a03121561042357600080fd5b87359650602088013567ffffffffffffffff8082111561044257600080fd5b61044e8b838c016102e5565b909850965060408a013591508082111561046757600080fd5b6104738b838c016102e5565b909650945060608a013591508082111561048c57600080fd5b506104998a828b016102e5565b989b979a50959850939692959293505050565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b89815260c0602082015260006104ff60c083018a8c6104bc565b828103604084015261051281898b6104bc565b9050866060840152828103608084015261052d8186886104bc565b9150508260a08301529a9950505050505050505050565b60006020828403121561055657600080fd5b8151801515811461056657600080fd5b9392505050565b8681526080602082015260006105876080830187896104bc565b828103604084015261059a8186886104bc565b91505082606083015297965050505050505056fea264697066735822122024913ccb54b441ca567a4a85d87048f1edddeeb13f48bcaa8080f7074f03636664736f6c63430008090033", | ||
"bytecode": "0x60a060405234801561001057600080fd5b506040516106a33803806106a383398101604081905261002f91610067565b6001600160a01b0381166100565760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0316608052610097565b60006020828403121561007957600080fd5b81516001600160a01b038116811461009057600080fd5b9392505050565b6080516105e46100bf60003960008181604b01528181610115015261022d01526105e46000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063116191b6146100465780631a98b2e01461009657806349160658146100ab575b600080fd5b61006d7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100a96100a436600461032e565b6100be565b005b6100a96100b9366004610408565b6101d6565b600085856040516100d09291906104ac565b6040519081900381207f1876eed9000000000000000000000000000000000000000000000000000000008252915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690631876eed99061015a908e908e908e908e908e9089908d908d908d906004016104e5565b602060405180830381600087803b15801561017457600080fd5b505af1158015610188573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ac9190610544565b6101c957604051631403112d60e21b815260040160405180910390fd5b5050505050505050505050565b600082826040516101e89291906104ac565b6040519081900381207f5f6970c3000000000000000000000000000000000000000000000000000000008252915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690635f6970c39061026c908b908b908b908b908b90899060040161056d565b602060405180830381600087803b15801561028657600080fd5b505af115801561029a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102be9190610544565b6102db57604051631403112d60e21b815260040160405180910390fd5b5050505050505050565b60008083601f8401126102f757600080fd5b50813567ffffffffffffffff81111561030f57600080fd5b60208301915083602082850101111561032757600080fd5b9250929050565b60008060008060008060008060008060c08b8d03121561034d57600080fd5b8a35995060208b013567ffffffffffffffff8082111561036c57600080fd5b6103788e838f016102e5565b909b50995060408d013591508082111561039157600080fd5b61039d8e838f016102e5565b909950975060608d01359150808211156103b657600080fd5b6103c28e838f016102e5565b909750955060808d01359150808211156103db57600080fd5b506103e88d828e016102e5565b9150809450508092505060a08b013590509295989b9194979a5092959850565b60008060008060008060006080888a03121561042357600080fd5b87359650602088013567ffffffffffffffff8082111561044257600080fd5b61044e8b838c016102e5565b909850965060408a013591508082111561046757600080fd5b6104738b838c016102e5565b909650945060608a013591508082111561048c57600080fd5b506104998a828b016102e5565b989b979a50959850939692959293505050565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b89815260c0602082015260006104ff60c083018a8c6104bc565b828103604084015261051281898b6104bc565b9050866060840152828103608084015261052d8186886104bc565b9150508260a08301529a9950505050505050505050565b60006020828403121561055657600080fd5b8151801515811461056657600080fd5b9392505050565b8681526080602082015260006105876080830187896104bc565b828103604084015261059a8186886104bc565b91505082606083015297965050505050505056fea264697066735822122091950149454dcffe0c9916d268f9b84feeb9df20d4ac320d38167255f6edd76064736f6c63430008090033", | ||
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063116191b6146100465780631a98b2e01461009657806349160658146100ab575b600080fd5b61006d7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100a96100a436600461032e565b6100be565b005b6100a96100b9366004610408565b6101d6565b600085856040516100d09291906104ac565b6040519081900381207f1876eed9000000000000000000000000000000000000000000000000000000008252915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690631876eed99061015a908e908e908e908e908e9089908d908d908d906004016104e5565b602060405180830381600087803b15801561017457600080fd5b505af1158015610188573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ac9190610544565b6101c957604051631403112d60e21b815260040160405180910390fd5b5050505050505050505050565b600082826040516101e89291906104ac565b6040519081900381207f5f6970c3000000000000000000000000000000000000000000000000000000008252915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690635f6970c39061026c908b908b908b908b908b90899060040161056d565b602060405180830381600087803b15801561028657600080fd5b505af115801561029a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102be9190610544565b6102db57604051631403112d60e21b815260040160405180910390fd5b5050505050505050565b60008083601f8401126102f757600080fd5b50813567ffffffffffffffff81111561030f57600080fd5b60208301915083602082850101111561032757600080fd5b9250929050565b60008060008060008060008060008060c08b8d03121561034d57600080fd5b8a35995060208b013567ffffffffffffffff8082111561036c57600080fd5b6103788e838f016102e5565b909b50995060408d013591508082111561039157600080fd5b61039d8e838f016102e5565b909950975060608d01359150808211156103b657600080fd5b6103c28e838f016102e5565b909750955060808d01359150808211156103db57600080fd5b506103e88d828e016102e5565b9150809450508092505060a08b013590509295989b9194979a5092959850565b60008060008060008060006080888a03121561042357600080fd5b87359650602088013567ffffffffffffffff8082111561044257600080fd5b61044e8b838c016102e5565b909850965060408a013591508082111561046757600080fd5b6104738b838c016102e5565b909650945060608a013591508082111561048c57600080fd5b506104998a828b016102e5565b989b979a50959850939692959293505050565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b89815260c0602082015260006104ff60c083018a8c6104bc565b828103604084015261051281898b6104bc565b9050866060840152828103608084015261052d8186886104bc565b9150508260a08301529a9950505050505050505050565b60006020828403121561055657600080fd5b8151801515811461056657600080fd5b9392505050565b8681526080602082015260006105876080830187896104bc565b828103604084015261059a8186886104bc565b91505082606083015297965050505050505056fea264697066735822122091950149454dcffe0c9916d268f9b84feeb9df20d4ac320d38167255f6edd76064736f6c63430008090033", | ||
"linkReferences": {}, | ||
"deployedLinkReferences": {} | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/5605b3f42fde35fe036581781cd6b150.json" | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/5605b3f42fde35fe036581781cd6b150.json" | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
} |
@@ -305,2 +305,15 @@ { | ||
"indexed": true, | ||
"internalType": "bytes32", | ||
"name": "commandId", | ||
"type": "bytes32" | ||
} | ||
], | ||
"name": "ContractCallExecuted", | ||
"type": "event" | ||
}, | ||
{ | ||
"anonymous": false, | ||
"inputs": [ | ||
{ | ||
"indexed": true, | ||
"internalType": "address", | ||
@@ -504,53 +517,2 @@ "name": "sender", | ||
"inputs": [], | ||
"name": "adminEpoch", | ||
"outputs": [ | ||
{ | ||
"internalType": "uint256", | ||
"name": "", | ||
"type": "uint256" | ||
} | ||
], | ||
"stateMutability": "view", | ||
"type": "function" | ||
}, | ||
{ | ||
"inputs": [ | ||
{ | ||
"internalType": "uint256", | ||
"name": "epoch", | ||
"type": "uint256" | ||
} | ||
], | ||
"name": "adminThreshold", | ||
"outputs": [ | ||
{ | ||
"internalType": "uint256", | ||
"name": "", | ||
"type": "uint256" | ||
} | ||
], | ||
"stateMutability": "view", | ||
"type": "function" | ||
}, | ||
{ | ||
"inputs": [ | ||
{ | ||
"internalType": "uint256", | ||
"name": "epoch", | ||
"type": "uint256" | ||
} | ||
], | ||
"name": "admins", | ||
"outputs": [ | ||
{ | ||
"internalType": "address[]", | ||
"name": "", | ||
"type": "address[]" | ||
} | ||
], | ||
"stateMutability": "view", | ||
"type": "function" | ||
}, | ||
{ | ||
"inputs": [], | ||
"name": "allTokensFrozen", | ||
@@ -637,2 +599,15 @@ "outputs": [ | ||
{ | ||
"inputs": [], | ||
"name": "contractId", | ||
"outputs": [ | ||
{ | ||
"internalType": "bytes32", | ||
"name": "", | ||
"type": "bytes32" | ||
} | ||
], | ||
"stateMutability": "pure", | ||
"type": "function" | ||
}, | ||
{ | ||
"inputs": [ | ||
@@ -846,3 +821,3 @@ { | ||
"internalType": "bytes", | ||
"name": "params", | ||
"name": "data", | ||
"type": "bytes" | ||
@@ -849,0 +824,0 @@ } |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/5605b3f42fde35fe036581781cd6b150.json" | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/5605b3f42fde35fe036581781cd6b150.json" | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/5605b3f42fde35fe036581781cd6b150.json" | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/5605b3f42fde35fe036581781cd6b150.json" | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/5605b3f42fde35fe036581781cd6b150.json" | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/5605b3f42fde35fe036581781cd6b150.json" | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/5605b3f42fde35fe036581781cd6b150.json" | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/5605b3f42fde35fe036581781cd6b150.json" | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/5605b3f42fde35fe036581781cd6b150.json" | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/5605b3f42fde35fe036581781cd6b150.json" | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/5605b3f42fde35fe036581781cd6b150.json" | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/5605b3f42fde35fe036581781cd6b150.json" | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/5605b3f42fde35fe036581781cd6b150.json" | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/5605b3f42fde35fe036581781cd6b150.json" | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
} |
@@ -28,5 +28,5 @@ { | ||
"bytecode": "0x608060405234801561001057600080fd5b5060405161028f38038061028f83398101604081905261002f91610191565b6000336001600160a01b031663112e335c6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561006c57600080fd5b505af1158015610080573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100a49190610250565b6001600160a01b0316836040516100bb9190610272565b600060405180830381855af49150503d80600081146100f6576040519150601f19603f3d011682016040523d82523d6000602084013e6100fb565b606091505b5050905080610111576040513d806000833e8082fd5b6001600160a01b038216610123573391505b816001600160a01b0316ff5b634e487b7160e01b600052604160045260246000fd5b60005b83811015610160578181015183820152602001610148565b8381111561016f576000848401525b50505050565b80516001600160a01b038116811461018c57600080fd5b919050565b600080604083850312156101a457600080fd5b82516001600160401b03808211156101bb57600080fd5b818501915085601f8301126101cf57600080fd5b8151818111156101e1576101e161012f565b604051601f8201601f19908116603f011681019083821181831017156102095761020961012f565b8160405282815288602084870101111561022257600080fd5b610233836020830160208801610145565b809650505050505061024760208401610175565b90509250929050565b60006020828403121561026257600080fd5b61026b82610175565b9392505050565b60008251610284818460208701610145565b919091019291505056fe", | ||
"deployedBytecode": "0x608060405236600a57005b600080fdfea2646970667358221220ae807919b353952a7c42fad5958e74b165c977a9e689839d8fda9a3d19dcacfd64736f6c63430008090033", | ||
"deployedBytecode": "0x608060405236600a57005b600080fdfea26469706673582212207bd89e0ee61995a54137d5956a57489aa818fa6e69f20e76a5c35b1f59bcbbe664736f6c63430008090033", | ||
"linkReferences": {}, | ||
"deployedLinkReferences": {} | ||
} |
@@ -204,6 +204,6 @@ { | ||
], | ||
"bytecode": "0x60e06040523480156200001157600080fd5b506040516200155b3803806200155b833981016040819052620000349162000229565b81816001600160a01b0382166200005e5760405163e6c4247b60e01b815260040160405180910390fd5b80516001600160a01b0383166080521515806200007d576000620000ff565b6040516349ad89fb60e11b81526001600160a01b0384169063935b13f690620000ab908590600401620002f7565b60206040518083038186803b158015620000c457600080fd5b505afa158015620000d9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000ff91906200032c565b6001600160a01b031660a05280620001195760006200012f565b6200012f826200017360201b62000b661760201c565b60c05280801562000149575060a0516001600160a01b0316155b15620001685760405163010466f160e21b815260040160405180910390fd5b505050505062000379565b805160009082901580620001885750601f8151115b15620001a757604051638dc6ac0160e01b815260040160405180910390fd5b6000620001b48262000351565b915160ff169091179392505050565b80516001600160a01b0381168114620001db57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101562000213578181015183820152602001620001f9565b8381111562000223576000848401525b50505050565b600080604083850312156200023d57600080fd5b6200024883620001c3565b60208401519092506001600160401b03808211156200026657600080fd5b818501915085601f8301126200027b57600080fd5b815181811115620002905762000290620001e0565b604051601f8201601f19908116603f01168101908382118183101715620002bb57620002bb620001e0565b81604052828152886020848701011115620002d557600080fd5b620002e8836020830160208801620001f6565b80955050505050509250929050565b602081526000825180602084015262000318816040850160208701620001f6565b601f01601f19169190910160400192915050565b6000602082840312156200033f57600080fd5b6200034a82620001c3565b9392505050565b8051602080830151919081101562000373576000198160200360031b1b821691505b50919050565b60805160a05160c051611159620004026000396000818161015d015261072101526000818160cb01528181610104015281816102db01528181610361015281816103f301528181610544015281816105a9015261065e01526000818160870152818161062f015281816106e1015281816107df01528181610a2a0152610ae601526111596000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063996c6cc31161005b578063996c6cc314610102578063a97a8d1614610128578063b28f104b1461013b578063fee8cf4e1461014e57600080fd5b8063116191b6146100825780633e646208146100c657806388ccd044146100ed575b600080fd5b6100a97f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100a97f000000000000000000000000000000000000000000000000000000000000000081565b6101006100fb366004610d7f565b610197565b005b7f00000000000000000000000000000000000000000000000000000000000000006100a9565b610100610136366004610e01565b610471565b610100610149366004610e84565b6107ac565b61018a604080518082019091527f000000000000000000000000000000000000000000000000000000000000000060ff81168252602082015290565b6040516100bd9190610f89565b6000336001600160a01b0316635cb732be6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156101d457600080fd5b505af11580156101e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020c9190610fa3565b90506001600160a01b038116156102c3576001600160a01b03831661022f573392505b6040516370a0823160e01b81523060048201526102be9084906001600160a01b038416906370a08231906024015b60206040518083038186803b15801561027557600080fd5b505afa158015610289573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ad9190610fc0565b6001600160a01b0384169190610bcb565b505050565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a082319060240160206040518083038186803b15801561032557600080fd5b505afa158015610339573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035d9190610fc0565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103a6576040516313ee304560e31b815260040160405180910390fd5b806103c4576040516369b95dc960e01b815260040160405180910390fd5b6040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d90602401600060405180830381600087803b15801561043f57600080fd5b505af1158015610453573d6000803e3d6000fd5b5061046b925050506001600160a01b03841682610c4b565b50505050565b6000336001600160a01b0316635cb732be6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156104ae57600080fd5b505af11580156104c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e69190610fa3565b90506001600160a01b03811615610541576001600160a01b038616610509573395505b6040516370a0823160e01b815230600482015261053b9087906001600160a01b038416906370a082319060240161025d565b506107a5565b477f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610589576040516313ee304560e31b815260040160405180910390fd5b806105a7576040516369b95dc960e01b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561060257600080fd5b505af1158015610616573d6000803e3d6000fd5b505060405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690527f000000000000000000000000000000000000000000000000000000000000000016935063095ea7b392506044019050602060405180830381600087803b1580156106a657600080fd5b505af11580156106ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106de9190610fd9565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166326ef699d8787878761074e604080518082019091527f000000000000000000000000000000000000000000000000000000000000000060ff81168252602082015290565b876040518763ffffffff1660e01b815260040161077096959493929190611024565b600060405180830381600087803b15801561078a57600080fd5b505af115801561079e573d6000803e3d6000fd5b5050505050505b5050505050565b6040517f935b13f60000000000000000000000000000000000000000000000000000000081526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063935b13f6906108169086908690600401611073565b60206040518083038186803b15801561082e57600080fd5b505afa158015610842573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108669190610fa3565b90506000336001600160a01b0316635cb732be6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156108a557600080fd5b505af11580156108b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108dd9190610fa3565b90506001600160a01b03811615610939576001600160a01b038916610900573398505b6040516370a0823160e01b8152306004820152610932908a906001600160a01b038416906370a082319060240161025d565b5050610b5d565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a082319060240160206040518083038186803b15801561097b57600080fd5b505afa15801561098f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b39190610fc0565b90506001600160a01b0383166109f5576040517f04119bc400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80610a13576040516369b95dc960e01b815260040160405180910390fd5b60405163095ea7b360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820183905284169063095ea7b390604401602060405180830381600087803b158015610a7d57600080fd5b505af1158015610a91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab59190610fd9565b506040517f26ef699d0000000000000000000000000000000000000000000000000000000081526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906326ef699d90610b27908c908c908c908c908c908c908a9060040161108f565b600060405180830381600087803b158015610b4157600080fd5b505af1158015610b55573d6000803e3d6000fd5b505050505050505b50505050505050565b805160009082901580610b7a5750601f8151115b15610bb1576040517f8dc6ac0100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610bbc826110e0565b915160ff169091179392505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526102be908490610c90565b600080600080600085875af19050806102be576040517ff4b3b1bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080836001600160a01b031683604051610cab9190611107565b6000604051808303816000865af19150503d8060008114610ce8576040519150601f19603f3d011682016040523d82523d6000602084013e610ced565b606091505b50915091506000828015610d19575081511580610d19575081806020019051810190610d199190610fd9565b9050801580610d3057506001600160a01b0385163b155b156107a5576040517f045c4b0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381168114610d7c57600080fd5b50565b60008060408385031215610d9257600080fd5b8235610d9d81610d67565b91506020830135610dad81610d67565b809150509250929050565b60008083601f840112610dca57600080fd5b50813567ffffffffffffffff811115610de257600080fd5b602083019150836020828501011115610dfa57600080fd5b9250929050565b600080600080600060608688031215610e1957600080fd5b8535610e2481610d67565b9450602086013567ffffffffffffffff80821115610e4157600080fd5b610e4d89838a01610db8565b90965094506040880135915080821115610e6657600080fd5b50610e7388828901610db8565b969995985093965092949392505050565b60008060008060008060006080888a031215610e9f57600080fd5b8735610eaa81610d67565b9650602088013567ffffffffffffffff80821115610ec757600080fd5b610ed38b838c01610db8565b909850965060408a0135915080821115610eec57600080fd5b610ef88b838c01610db8565b909650945060608a0135915080821115610f1157600080fd5b50610f1e8a828b01610db8565b989b979a50959850939692959293505050565b60005b83811015610f4c578181015183820152602001610f34565b8381111561046b5750506000910152565b60008151808452610f75816020860160208601610f31565b601f01601f19169290920160200192915050565b602081526000610f9c6020830184610f5d565b9392505050565b600060208284031215610fb557600080fd5b8151610f9c81610d67565b600060208284031215610fd257600080fd5b5051919050565b600060208284031215610feb57600080fd5b81518015158114610f9c57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60808152600061103860808301888a610ffb565b828103602084015261104b818789610ffb565b9050828103604084015261105f8186610f5d565b915050826060830152979650505050505050565b602081526000611087602083018486610ffb565b949350505050565b6080815260006110a360808301898b610ffb565b82810360208401526110b681888a610ffb565b905082810360408401526110cb818688610ffb565b91505082606083015298975050505050505050565b80516020808301519190811015611101576000198160200360031b1b821691505b50919050565b60008251611119818460208701610f31565b919091019291505056fea2646970667358221220f88af382ae69b8dca98056dcd6873822597bbb4da1dba2ef2795271f0eb8f7c964736f6c63430008090033", | ||
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063996c6cc31161005b578063996c6cc314610102578063a97a8d1614610128578063b28f104b1461013b578063fee8cf4e1461014e57600080fd5b8063116191b6146100825780633e646208146100c657806388ccd044146100ed575b600080fd5b6100a97f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100a97f000000000000000000000000000000000000000000000000000000000000000081565b6101006100fb366004610d7f565b610197565b005b7f00000000000000000000000000000000000000000000000000000000000000006100a9565b610100610136366004610e01565b610471565b610100610149366004610e84565b6107ac565b61018a604080518082019091527f000000000000000000000000000000000000000000000000000000000000000060ff81168252602082015290565b6040516100bd9190610f89565b6000336001600160a01b0316635cb732be6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156101d457600080fd5b505af11580156101e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020c9190610fa3565b90506001600160a01b038116156102c3576001600160a01b03831661022f573392505b6040516370a0823160e01b81523060048201526102be9084906001600160a01b038416906370a08231906024015b60206040518083038186803b15801561027557600080fd5b505afa158015610289573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ad9190610fc0565b6001600160a01b0384169190610bcb565b505050565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a082319060240160206040518083038186803b15801561032557600080fd5b505afa158015610339573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035d9190610fc0565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103a6576040516313ee304560e31b815260040160405180910390fd5b806103c4576040516369b95dc960e01b815260040160405180910390fd5b6040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d90602401600060405180830381600087803b15801561043f57600080fd5b505af1158015610453573d6000803e3d6000fd5b5061046b925050506001600160a01b03841682610c4b565b50505050565b6000336001600160a01b0316635cb732be6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156104ae57600080fd5b505af11580156104c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e69190610fa3565b90506001600160a01b03811615610541576001600160a01b038616610509573395505b6040516370a0823160e01b815230600482015261053b9087906001600160a01b038416906370a082319060240161025d565b506107a5565b477f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610589576040516313ee304560e31b815260040160405180910390fd5b806105a7576040516369b95dc960e01b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561060257600080fd5b505af1158015610616573d6000803e3d6000fd5b505060405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690527f000000000000000000000000000000000000000000000000000000000000000016935063095ea7b392506044019050602060405180830381600087803b1580156106a657600080fd5b505af11580156106ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106de9190610fd9565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166326ef699d8787878761074e604080518082019091527f000000000000000000000000000000000000000000000000000000000000000060ff81168252602082015290565b876040518763ffffffff1660e01b815260040161077096959493929190611024565b600060405180830381600087803b15801561078a57600080fd5b505af115801561079e573d6000803e3d6000fd5b5050505050505b5050505050565b6040517f935b13f60000000000000000000000000000000000000000000000000000000081526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063935b13f6906108169086908690600401611073565b60206040518083038186803b15801561082e57600080fd5b505afa158015610842573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108669190610fa3565b90506000336001600160a01b0316635cb732be6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156108a557600080fd5b505af11580156108b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108dd9190610fa3565b90506001600160a01b03811615610939576001600160a01b038916610900573398505b6040516370a0823160e01b8152306004820152610932908a906001600160a01b038416906370a082319060240161025d565b5050610b5d565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a082319060240160206040518083038186803b15801561097b57600080fd5b505afa15801561098f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b39190610fc0565b90506001600160a01b0383166109f5576040517f04119bc400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80610a13576040516369b95dc960e01b815260040160405180910390fd5b60405163095ea7b360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820183905284169063095ea7b390604401602060405180830381600087803b158015610a7d57600080fd5b505af1158015610a91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab59190610fd9565b506040517f26ef699d0000000000000000000000000000000000000000000000000000000081526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906326ef699d90610b27908c908c908c908c908c908c908a9060040161108f565b600060405180830381600087803b158015610b4157600080fd5b505af1158015610b55573d6000803e3d6000fd5b505050505050505b50505050505050565b805160009082901580610b7a5750601f8151115b15610bb1576040517f8dc6ac0100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610bbc826110e0565b915160ff169091179392505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526102be908490610c90565b600080600080600085875af19050806102be576040517ff4b3b1bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080836001600160a01b031683604051610cab9190611107565b6000604051808303816000865af19150503d8060008114610ce8576040519150601f19603f3d011682016040523d82523d6000602084013e610ced565b606091505b50915091506000828015610d19575081511580610d19575081806020019051810190610d199190610fd9565b9050801580610d3057506001600160a01b0385163b155b156107a5576040517f045c4b0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381168114610d7c57600080fd5b50565b60008060408385031215610d9257600080fd5b8235610d9d81610d67565b91506020830135610dad81610d67565b809150509250929050565b60008083601f840112610dca57600080fd5b50813567ffffffffffffffff811115610de257600080fd5b602083019150836020828501011115610dfa57600080fd5b9250929050565b600080600080600060608688031215610e1957600080fd5b8535610e2481610d67565b9450602086013567ffffffffffffffff80821115610e4157600080fd5b610e4d89838a01610db8565b90965094506040880135915080821115610e6657600080fd5b50610e7388828901610db8565b969995985093965092949392505050565b60008060008060008060006080888a031215610e9f57600080fd5b8735610eaa81610d67565b9650602088013567ffffffffffffffff80821115610ec757600080fd5b610ed38b838c01610db8565b909850965060408a0135915080821115610eec57600080fd5b610ef88b838c01610db8565b909650945060608a0135915080821115610f1157600080fd5b50610f1e8a828b01610db8565b989b979a50959850939692959293505050565b60005b83811015610f4c578181015183820152602001610f34565b8381111561046b5750506000910152565b60008151808452610f75816020860160208601610f31565b601f01601f19169290920160200192915050565b602081526000610f9c6020830184610f5d565b9392505050565b600060208284031215610fb557600080fd5b8151610f9c81610d67565b600060208284031215610fd257600080fd5b5051919050565b600060208284031215610feb57600080fd5b81518015158114610f9c57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60808152600061103860808301888a610ffb565b828103602084015261104b818789610ffb565b9050828103604084015261105f8186610f5d565b915050826060830152979650505050505050565b602081526000611087602083018486610ffb565b949350505050565b6080815260006110a360808301898b610ffb565b82810360208401526110b681888a610ffb565b905082810360408401526110cb818688610ffb565b91505082606083015298975050505050505050565b80516020808301519190811015611101576000198160200360031b1b821691505b50919050565b60008251611119818460208701610f31565b919091019291505056fea2646970667358221220f88af382ae69b8dca98056dcd6873822597bbb4da1dba2ef2795271f0eb8f7c964736f6c63430008090033", | ||
"bytecode": "0x60e06040523480156200001157600080fd5b506040516200155b3803806200155b833981016040819052620000349162000229565b81816001600160a01b0382166200005e5760405163e6c4247b60e01b815260040160405180910390fd5b80516001600160a01b0383166080521515806200007d576000620000ff565b6040516349ad89fb60e11b81526001600160a01b0384169063935b13f690620000ab908590600401620002f7565b60206040518083038186803b158015620000c457600080fd5b505afa158015620000d9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000ff91906200032c565b6001600160a01b031660a05280620001195760006200012f565b6200012f826200017360201b62000b661760201c565b60c05280801562000149575060a0516001600160a01b0316155b15620001685760405163010466f160e21b815260040160405180910390fd5b505050505062000379565b805160009082901580620001885750601f8151115b15620001a757604051638dc6ac0160e01b815260040160405180910390fd5b6000620001b48262000351565b915160ff169091179392505050565b80516001600160a01b0381168114620001db57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101562000213578181015183820152602001620001f9565b8381111562000223576000848401525b50505050565b600080604083850312156200023d57600080fd5b6200024883620001c3565b60208401519092506001600160401b03808211156200026657600080fd5b818501915085601f8301126200027b57600080fd5b815181811115620002905762000290620001e0565b604051601f8201601f19908116603f01168101908382118183101715620002bb57620002bb620001e0565b81604052828152886020848701011115620002d557600080fd5b620002e8836020830160208801620001f6565b80955050505050509250929050565b602081526000825180602084015262000318816040850160208701620001f6565b601f01601f19169190910160400192915050565b6000602082840312156200033f57600080fd5b6200034a82620001c3565b9392505050565b8051602080830151919081101562000373576000198160200360031b1b821691505b50919050565b60805160a05160c051611159620004026000396000818161015d015261072101526000818160cb01528181610104015281816102db01528181610361015281816103f301528181610544015281816105a9015261065e01526000818160870152818161062f015281816106e1015281816107df01528181610a2a0152610ae601526111596000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063996c6cc31161005b578063996c6cc314610102578063a97a8d1614610128578063b28f104b1461013b578063fee8cf4e1461014e57600080fd5b8063116191b6146100825780633e646208146100c657806388ccd044146100ed575b600080fd5b6100a97f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100a97f000000000000000000000000000000000000000000000000000000000000000081565b6101006100fb366004610d7f565b610197565b005b7f00000000000000000000000000000000000000000000000000000000000000006100a9565b610100610136366004610e01565b610471565b610100610149366004610e84565b6107ac565b61018a604080518082019091527f000000000000000000000000000000000000000000000000000000000000000060ff81168252602082015290565b6040516100bd9190610f89565b6000336001600160a01b0316635cb732be6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156101d457600080fd5b505af11580156101e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020c9190610fa3565b90506001600160a01b038116156102c3576001600160a01b03831661022f573392505b6040516370a0823160e01b81523060048201526102be9084906001600160a01b038416906370a08231906024015b60206040518083038186803b15801561027557600080fd5b505afa158015610289573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ad9190610fc0565b6001600160a01b0384169190610bcb565b505050565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a082319060240160206040518083038186803b15801561032557600080fd5b505afa158015610339573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035d9190610fc0565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103a6576040516313ee304560e31b815260040160405180910390fd5b806103c4576040516369b95dc960e01b815260040160405180910390fd5b6040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d90602401600060405180830381600087803b15801561043f57600080fd5b505af1158015610453573d6000803e3d6000fd5b5061046b925050506001600160a01b03841682610c4b565b50505050565b6000336001600160a01b0316635cb732be6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156104ae57600080fd5b505af11580156104c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e69190610fa3565b90506001600160a01b03811615610541576001600160a01b038616610509573395505b6040516370a0823160e01b815230600482015261053b9087906001600160a01b038416906370a082319060240161025d565b506107a5565b477f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610589576040516313ee304560e31b815260040160405180910390fd5b806105a7576040516369b95dc960e01b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561060257600080fd5b505af1158015610616573d6000803e3d6000fd5b505060405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690527f000000000000000000000000000000000000000000000000000000000000000016935063095ea7b392506044019050602060405180830381600087803b1580156106a657600080fd5b505af11580156106ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106de9190610fd9565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166326ef699d8787878761074e604080518082019091527f000000000000000000000000000000000000000000000000000000000000000060ff81168252602082015290565b876040518763ffffffff1660e01b815260040161077096959493929190611024565b600060405180830381600087803b15801561078a57600080fd5b505af115801561079e573d6000803e3d6000fd5b5050505050505b5050505050565b6040517f935b13f60000000000000000000000000000000000000000000000000000000081526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063935b13f6906108169086908690600401611073565b60206040518083038186803b15801561082e57600080fd5b505afa158015610842573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108669190610fa3565b90506000336001600160a01b0316635cb732be6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156108a557600080fd5b505af11580156108b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108dd9190610fa3565b90506001600160a01b03811615610939576001600160a01b038916610900573398505b6040516370a0823160e01b8152306004820152610932908a906001600160a01b038416906370a082319060240161025d565b5050610b5d565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a082319060240160206040518083038186803b15801561097b57600080fd5b505afa15801561098f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b39190610fc0565b90506001600160a01b0383166109f5576040517f04119bc400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80610a13576040516369b95dc960e01b815260040160405180910390fd5b60405163095ea7b360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820183905284169063095ea7b390604401602060405180830381600087803b158015610a7d57600080fd5b505af1158015610a91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab59190610fd9565b506040517f26ef699d0000000000000000000000000000000000000000000000000000000081526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906326ef699d90610b27908c908c908c908c908c908c908a9060040161108f565b600060405180830381600087803b158015610b4157600080fd5b505af1158015610b55573d6000803e3d6000fd5b505050505050505b50505050505050565b805160009082901580610b7a5750601f8151115b15610bb1576040517f8dc6ac0100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610bbc826110e0565b915160ff169091179392505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526102be908490610c90565b600080600080600085875af19050806102be576040517ff4b3b1bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080836001600160a01b031683604051610cab9190611107565b6000604051808303816000865af19150503d8060008114610ce8576040519150601f19603f3d011682016040523d82523d6000602084013e610ced565b606091505b50915091506000828015610d19575081511580610d19575081806020019051810190610d199190610fd9565b9050801580610d3057506001600160a01b0385163b155b156107a5576040517f045c4b0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381168114610d7c57600080fd5b50565b60008060408385031215610d9257600080fd5b8235610d9d81610d67565b91506020830135610dad81610d67565b809150509250929050565b60008083601f840112610dca57600080fd5b50813567ffffffffffffffff811115610de257600080fd5b602083019150836020828501011115610dfa57600080fd5b9250929050565b600080600080600060608688031215610e1957600080fd5b8535610e2481610d67565b9450602086013567ffffffffffffffff80821115610e4157600080fd5b610e4d89838a01610db8565b90965094506040880135915080821115610e6657600080fd5b50610e7388828901610db8565b969995985093965092949392505050565b60008060008060008060006080888a031215610e9f57600080fd5b8735610eaa81610d67565b9650602088013567ffffffffffffffff80821115610ec757600080fd5b610ed38b838c01610db8565b909850965060408a0135915080821115610eec57600080fd5b610ef88b838c01610db8565b909650945060608a0135915080821115610f1157600080fd5b50610f1e8a828b01610db8565b989b979a50959850939692959293505050565b60005b83811015610f4c578181015183820152602001610f34565b8381111561046b5750506000910152565b60008151808452610f75816020860160208601610f31565b601f01601f19169290920160200192915050565b602081526000610f9c6020830184610f5d565b9392505050565b600060208284031215610fb557600080fd5b8151610f9c81610d67565b600060208284031215610fd257600080fd5b5051919050565b600060208284031215610feb57600080fd5b81518015158114610f9c57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60808152600061103860808301888a610ffb565b828103602084015261104b818789610ffb565b9050828103604084015261105f8186610f5d565b915050826060830152979650505050505050565b602081526000611087602083018486610ffb565b949350505050565b6080815260006110a360808301898b610ffb565b82810360208401526110b681888a610ffb565b905082810360408401526110cb818688610ffb565b91505082606083015298975050505050505050565b80516020808301519190811015611101576000198160200360031b1b821691505b50919050565b60008251611119818460208701610f31565b919091019291505056fea264697066735822122024f867597d43028cdb9cb3113610029df190bfa7dffc36614873457d660a415d64736f6c63430008090033", | ||
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063996c6cc31161005b578063996c6cc314610102578063a97a8d1614610128578063b28f104b1461013b578063fee8cf4e1461014e57600080fd5b8063116191b6146100825780633e646208146100c657806388ccd044146100ed575b600080fd5b6100a97f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100a97f000000000000000000000000000000000000000000000000000000000000000081565b6101006100fb366004610d7f565b610197565b005b7f00000000000000000000000000000000000000000000000000000000000000006100a9565b610100610136366004610e01565b610471565b610100610149366004610e84565b6107ac565b61018a604080518082019091527f000000000000000000000000000000000000000000000000000000000000000060ff81168252602082015290565b6040516100bd9190610f89565b6000336001600160a01b0316635cb732be6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156101d457600080fd5b505af11580156101e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020c9190610fa3565b90506001600160a01b038116156102c3576001600160a01b03831661022f573392505b6040516370a0823160e01b81523060048201526102be9084906001600160a01b038416906370a08231906024015b60206040518083038186803b15801561027557600080fd5b505afa158015610289573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ad9190610fc0565b6001600160a01b0384169190610bcb565b505050565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a082319060240160206040518083038186803b15801561032557600080fd5b505afa158015610339573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035d9190610fc0565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103a6576040516313ee304560e31b815260040160405180910390fd5b806103c4576040516369b95dc960e01b815260040160405180910390fd5b6040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d90602401600060405180830381600087803b15801561043f57600080fd5b505af1158015610453573d6000803e3d6000fd5b5061046b925050506001600160a01b03841682610c4b565b50505050565b6000336001600160a01b0316635cb732be6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156104ae57600080fd5b505af11580156104c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e69190610fa3565b90506001600160a01b03811615610541576001600160a01b038616610509573395505b6040516370a0823160e01b815230600482015261053b9087906001600160a01b038416906370a082319060240161025d565b506107a5565b477f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610589576040516313ee304560e31b815260040160405180910390fd5b806105a7576040516369b95dc960e01b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561060257600080fd5b505af1158015610616573d6000803e3d6000fd5b505060405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690527f000000000000000000000000000000000000000000000000000000000000000016935063095ea7b392506044019050602060405180830381600087803b1580156106a657600080fd5b505af11580156106ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106de9190610fd9565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166326ef699d8787878761074e604080518082019091527f000000000000000000000000000000000000000000000000000000000000000060ff81168252602082015290565b876040518763ffffffff1660e01b815260040161077096959493929190611024565b600060405180830381600087803b15801561078a57600080fd5b505af115801561079e573d6000803e3d6000fd5b5050505050505b5050505050565b6040517f935b13f60000000000000000000000000000000000000000000000000000000081526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063935b13f6906108169086908690600401611073565b60206040518083038186803b15801561082e57600080fd5b505afa158015610842573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108669190610fa3565b90506000336001600160a01b0316635cb732be6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156108a557600080fd5b505af11580156108b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108dd9190610fa3565b90506001600160a01b03811615610939576001600160a01b038916610900573398505b6040516370a0823160e01b8152306004820152610932908a906001600160a01b038416906370a082319060240161025d565b5050610b5d565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a082319060240160206040518083038186803b15801561097b57600080fd5b505afa15801561098f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b39190610fc0565b90506001600160a01b0383166109f5576040517f04119bc400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80610a13576040516369b95dc960e01b815260040160405180910390fd5b60405163095ea7b360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820183905284169063095ea7b390604401602060405180830381600087803b158015610a7d57600080fd5b505af1158015610a91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab59190610fd9565b506040517f26ef699d0000000000000000000000000000000000000000000000000000000081526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906326ef699d90610b27908c908c908c908c908c908c908a9060040161108f565b600060405180830381600087803b158015610b4157600080fd5b505af1158015610b55573d6000803e3d6000fd5b505050505050505b50505050505050565b805160009082901580610b7a5750601f8151115b15610bb1576040517f8dc6ac0100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610bbc826110e0565b915160ff169091179392505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526102be908490610c90565b600080600080600085875af19050806102be576040517ff4b3b1bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080836001600160a01b031683604051610cab9190611107565b6000604051808303816000865af19150503d8060008114610ce8576040519150601f19603f3d011682016040523d82523d6000602084013e610ced565b606091505b50915091506000828015610d19575081511580610d19575081806020019051810190610d199190610fd9565b9050801580610d3057506001600160a01b0385163b155b156107a5576040517f045c4b0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381168114610d7c57600080fd5b50565b60008060408385031215610d9257600080fd5b8235610d9d81610d67565b91506020830135610dad81610d67565b809150509250929050565b60008083601f840112610dca57600080fd5b50813567ffffffffffffffff811115610de257600080fd5b602083019150836020828501011115610dfa57600080fd5b9250929050565b600080600080600060608688031215610e1957600080fd5b8535610e2481610d67565b9450602086013567ffffffffffffffff80821115610e4157600080fd5b610e4d89838a01610db8565b90965094506040880135915080821115610e6657600080fd5b50610e7388828901610db8565b969995985093965092949392505050565b60008060008060008060006080888a031215610e9f57600080fd5b8735610eaa81610d67565b9650602088013567ffffffffffffffff80821115610ec757600080fd5b610ed38b838c01610db8565b909850965060408a0135915080821115610eec57600080fd5b610ef88b838c01610db8565b909650945060608a0135915080821115610f1157600080fd5b50610f1e8a828b01610db8565b989b979a50959850939692959293505050565b60005b83811015610f4c578181015183820152602001610f34565b8381111561046b5750506000910152565b60008151808452610f75816020860160208601610f31565b601f01601f19169290920160200192915050565b602081526000610f9c6020830184610f5d565b9392505050565b600060208284031215610fb557600080fd5b8151610f9c81610d67565b600060208284031215610fd257600080fd5b5051919050565b600060208284031215610feb57600080fd5b81518015158114610f9c57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60808152600061103860808301888a610ffb565b828103602084015261104b818789610ffb565b9050828103604084015261105f8186610f5d565b915050826060830152979650505050505050565b602081526000611087602083018486610ffb565b949350505050565b6080815260006110a360808301898b610ffb565b82810360208401526110b681888a610ffb565b905082810360408401526110cb818688610ffb565b91505082606083015298975050505050505050565b80516020808301519190811015611101576000198160200360031b1b821691505b50919050565b60008251611119818460208701610f31565b919091019291505056fea264697066735822122024f867597d43028cdb9cb3113610029df190bfa7dffc36614873457d660a415d64736f6c63430008090033", | ||
"linkReferences": {}, | ||
"deployedLinkReferences": {} | ||
} |
@@ -1375,6 +1375,6 @@ { | ||
], | ||
"bytecode": "0x60c06040523480156200001157600080fd5b5060405162002081380380620020818339810160408190526200003491620000fc565b6001620000418162000058565b50306080526001600160a01b031660a0526200012e565b6001600160a01b0381166200008057604051633649397d60e21b815260040160405180910390fd5b6040516001600160a01b038216907f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390600090a27f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05560007f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d155565b6000602082840312156200010f57600080fd5b81516001600160a01b03811681146200012757600080fd5b9392505050565b60805160a051611f18620001696000396000818161034501528181610560015281816108cb0152610ab401526000610b0f0152611f186000f3fe6080604052600436106101965760003560e01c8063892b5007116100e1578063c62c20021161008a578063edb6b3a511610064578063edb6b3a514610475578063f2fde38b14610495578063f61ed218146104b5578063fd09e3bd146104c857600080fd5b8063c62c20021461041b578063cd433ada1461042e578063e30c39781461044157600080fd5b8063a3499c73116100bb578063a3499c73146103bb578063ab1999ba146103db578063ba9ddc8d146103fb57600080fd5b8063892b5007146103335780638da5cb5b146103675780639ded06df1461039b57600080fd5b80634d2384891161014357806379ba50971161011d57806379ba5097146102c35780638291286c146102d857806382ad6f351461031357600080fd5b80634d238489146102435780635c60da1b14610256578063710bf322146102a357600080fd5b80632e9b7470116101745780632e9b7470146101f05780632edd2aa814610203578063365047211461022357600080fd5b80630c93e3bb1461019b5780631055eaaf146101b057806317a49f7c146101d0575b600080fd5b6101ae6101a9366004611545565b6104e8565b005b3480156101bc57600080fd5b506101ae6101cb36600461164a565b610555565b3480156101dc57600080fd5b506101ae6101eb366004611770565b61074f565b6101ae6101fe36600461188e565b6107db565b34801561020f57600080fd5b506101ae61021e366004611981565b610851565b34801561022f57600080fd5b506101ae61023e3660046119d7565b6108c0565b6101ae610251366004611a29565b610915565b34801561026257600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102af57600080fd5b506101ae6102be366004611a62565b610960565b3480156102cf57600080fd5b506101ae610a2f565b3480156102e457600080fd5b506040517ffaa2f015f2ce5aee225904728de2def86eb8837491efd21f1a04fc20d8e923f6815260200161029a565b34801561031f57600080fd5b506101ae61032e366004611a86565b610aa9565b34801561033f57600080fd5b506102867f000000000000000000000000000000000000000000000000000000000000000081565b34801561037357600080fd5b507f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c054610286565b3480156103a757600080fd5b506101ae6103b6366004611ac7565b610b04565b3480156103c757600080fd5b506101ae6103d6366004611b09565b610b6b565b3480156103e757600080fd5b506101ae6103f6366004611981565b610e87565b34801561040757600080fd5b506101ae610416366004611b65565b610ed6565b6101ae61042936600461188e565b610f5c565b6101ae61043c366004611a29565b610fbd565b34801561044d57600080fd5b507f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d154610286565b34801561048157600080fd5b506101ae610490366004611770565b610fff565b3480156104a157600080fd5b506101ae6104b0366004611a62565b611060565b6101ae6104c3366004611545565b6110b0565b3480156104d457600080fd5b506101ae6104e3366004611b65565b61110b565b82826040516104f8929190611c3d565b6040518091039020886001600160a01b03167f617332c1832058df6ee45fcbdf471251474c9945a8e5d229287a21a5f67ccf0a89898989348860405161054396959493929190611c76565b60405180910390a35050505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461059d57604051623bb10360e91b815260040160405180910390fd5b6001600160a01b0385166105c45760405163e6c4247b60e01b815260040160405180910390fd5b828181146105e557604051636c2b7e2d60e11b815260040160405180910390fd5b60005b8181101561074657600086868381811061060457610604611cc0565b90506020020160208101906106199190611a62565b9050600085858481811061062f5761062f611cc0565b905060200201359050806000141561065a57604051636c2b7e2d60e11b815260040160405180910390fd5b6001600160a01b03821661068757478111610682576106826001600160a01b038a1682611168565b610731565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038316906370a082319060240160206040518083038186803b1580156106df57600080fd5b505afa1580156106f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107179190611cd6565b8111610731576107316001600160a01b0383168a836111ad565b5050808061073e90611cef565b9150506105e8565b50505050505050565b868660405161075f929190611c3d565b60405180910390208c6001600160a01b03167fda4ed638a7ffe9e814722efdb9ad6058c152c19c8564ceffe52e11dda1ca32238d8d8d8d8b8b8b8b8b6040516107b099989796959493929190611d44565b60405180910390a36107cd6001600160a01b038416333085611256565b505050505050505050505050565b85856040516107eb929190611c3d565b60405180910390208b6001600160a01b03167f8c092067e86e85e8cfbaf187202ef580cdfd7ec37fbec89191607de73ca800058c8c8c8c8a8a8a348b60405161083c99989796959493929190611dcd565b60405180910390a35050505050505050505050565b604080516001600160a01b03808616825260208201859052831691810191909152849086907ff0b09bf969e7958967e0968e22596f647dd6efa09f4778e0393967b881f4b09f906060015b60405180910390a36108b96001600160a01b038416333085611256565b5050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461090857604051623bb10360e91b815260040160405180910390fd5b6108b985858585856112ad565b604080513481526001600160a01b0383166020820152839185917fb26db521e067acd5c6e345ad92fa1ed06bc7fb2aedd68f35dc7a2e10d636fc9891015b60405180910390a3505050565b336109897f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b0316146109b0576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0381166109d757604051633649397d60e21b815260040160405180910390fd5b6040516001600160a01b038216907fd9be0e8e07417e00f2521db636cb53e316fd288f5051f16d2aa2bf0c3938a87690600090a27f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d155565b6000610a597f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d15490565b90506001600160a01b0381163314610a9d576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610aa68161135d565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610af157604051623bb10360e91b815260040160405180910390fd5b610aff6000808585856112ad565b505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610b67576040517fbf10dd3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b33610b947f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610bbb576040516330cd747160e01b815260040160405180910390fd5b306001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610bf457600080fd5b505afa158015610c08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2c9190611cd6565b846001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6557600080fd5b505afa158015610c79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9d9190611cd6565b14610cd4576040517f68155f9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b836001600160a01b03163f8314610d17576040517f8f84fb2400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038516907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28015610e60576000846001600160a01b0316639ded06df60e01b8484604051602401610d78929190611e34565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610de39190611e50565b600060405180830381855af49150503d8060008114610e1e576040519150601f19603f3d011682016040523d82523d6000602084013e610e23565b606091505b5050905080610e5e576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b5050507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b604080516001600160a01b03808616825260208201859052831691810191909152849086907f2275e75614080f9782f72563c2c1688c901c5339c7f9f436d323f9386fed700a9060600161089c565b8484604051610ee6929190611c3d565b60405180910390208a6001600160a01b03167fd171a7eb157e548ca493dd0a16016d125963a369ac5ae3c275ec12c96d5277028b8b8b8b898989604051610f339796959493929190611e6c565b60405180910390a3610f506001600160a01b038416333085611256565b50505050505050505050565b8585604051610f6c929190611c3d565b60405180910390208b6001600160a01b03167f999d431b58761213cf53af96262b67a069cbd963499fd8effd1e21556217b8418c8c8c8c8a8a8a348b60405161083c99989796959493929190611dcd565b604080513481526001600160a01b0383166020820152839185917ffeb6b00343feee0f29a1a4345f8bf93ca1c73ee922248a4237a4e50d6447604e9101610953565b868660405161100f929190611c3d565b60405180910390208c6001600160a01b03167f8875f9764f28fa82d3e7ff1b80bd5c8f665e1f42fcd8c2faebc7c400a4ba1bbd8d8d8d8d8b8b8b8b8b6040516107b099989796959493929190611d44565b336110897f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610a9d576040516330cd747160e01b815260040160405180910390fd5b82826040516110c0929190611c3d565b6040518091039020886001600160a01b03167f5cf48f121a0fecaa2c4a64b3eaf482c8c308d5387e161535970f3e9e4363eff689898989348860405161054396959493929190611c76565b848460405161111b929190611c3d565b60405180910390208a6001600160a01b03167f99206760f0be19dd093729bd35e5924daff5e217bcedc5223ed067b60008cf8a8b8b8b8b898989604051610f339796959493929190611e6c565b600080600080600085875af1905080610aff576040517ff4b3b1bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038316602482015260448101829052610aff9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611400565b6040516001600160a01b03808516602483015283166044820152606481018290526112a79085907f23b872dd00000000000000000000000000000000000000000000000000000000906084016111f2565b50505050565b6001600160a01b0383166112d45760405163e6c4247b60e01b815260040160405180910390fd5b604080516001600160a01b03808616825284166020820152908101829052849086907fd5df103822011013c8c940930e5180419111c65abadd6525ca7e740d56b4703f9060600160405180910390a36001600160a01b038216611349576113446001600160a01b03841682611168565b6108b9565b6108b96001600160a01b03831684836111ad565b6001600160a01b03811661138457604051633649397d60e21b815260040160405180910390fd5b6040516001600160a01b038216907f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390600090a27f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05560007f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d155565b600080836001600160a01b03168360405161141b9190611e50565b6000604051808303816000865af19150503d8060008114611458576040519150601f19603f3d011682016040523d82523d6000602084013e61145d565b606091505b509150915060008280156114895750815115806114895750818060200190518101906114899190611ec0565b90508015806114a057506001600160a01b0385163b155b156108b9576040517f045c4b0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381168114610aa657600080fd5b80356114f7816114d7565b919050565b60008083601f84011261150e57600080fd5b50813567ffffffffffffffff81111561152657600080fd5b60208301915083602082850101111561153e57600080fd5b9250929050565b60008060008060008060008060a0898b03121561156157600080fd5b883561156c816114d7565b9750602089013567ffffffffffffffff8082111561158957600080fd5b6115958c838d016114fc565b909950975060408b01359150808211156115ae57600080fd5b6115ba8c838d016114fc565b909750955060608b01359150808211156115d357600080fd5b506115e08b828c016114fc565b90945092505060808901356115f4816114d7565b809150509295985092959890939650565b60008083601f84011261161757600080fd5b50813567ffffffffffffffff81111561162f57600080fd5b6020830191508360208260051b850101111561153e57600080fd5b60008060008060006060868803121561166257600080fd5b853561166d816114d7565b9450602086013567ffffffffffffffff8082111561168a57600080fd5b61169689838a01611605565b909650945060408801359150808211156116af57600080fd5b506116bc88828901611605565b969995985093965092949392505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126116f457600080fd5b813567ffffffffffffffff8082111561170f5761170f6116cd565b604051601f8301601f19908116603f01168101908282118183101715611737576117376116cd565b8160405283815286602085880101111561175057600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806000806000806000806000806101208d8f03121561179357600080fd5b61179c8d6114ec565b9b5067ffffffffffffffff60208e013511156117b757600080fd5b6117c78e60208f01358f016114fc565b909b50995067ffffffffffffffff60408e013511156117e557600080fd5b6117f58e60408f01358f016114fc565b909950975067ffffffffffffffff60608e0135111561181357600080fd5b6118238e60608f01358f016114fc565b909750955067ffffffffffffffff60808e0135111561184157600080fd5b6118518e60808f01358f016116e3565b945060a08d0135935061186660c08e016114ec565b925060e08d0135915061187c6101008e016114ec565b90509295989b509295989b509295989b565b600080600080600080600080600080600060e08c8e0312156118af57600080fd5b6118b88c6114ec565b9a5067ffffffffffffffff8060208e013511156118d457600080fd5b6118e48e60208f01358f016114fc565b909b50995060408d01358110156118fa57600080fd5b61190a8e60408f01358f016114fc565b909950975060608d013581101561192057600080fd5b6119308e60608f01358f016114fc565b909750955060808d013581101561194657600080fd5b506119578d60808e01358e016114fc565b909450925060a08c0135915061196f60c08d016114ec565b90509295989b509295989b9093969950565b600080600080600060a0868803121561199957600080fd5b853594506020860135935060408601356119b2816114d7565b92506060860135915060808601356119c9816114d7565b809150509295509295909350565b600080600080600060a086880312156119ef57600080fd5b85359450602086013593506040860135611a08816114d7565b92506060860135611a18816114d7565b949793965091946080013592915050565b600080600060608486031215611a3e57600080fd5b83359250602084013591506040840135611a57816114d7565b809150509250925092565b600060208284031215611a7457600080fd5b8135611a7f816114d7565b9392505050565b600080600060608486031215611a9b57600080fd5b8335611aa6816114d7565b92506020840135611ab6816114d7565b929592945050506040919091013590565b60008060208385031215611ada57600080fd5b823567ffffffffffffffff811115611af157600080fd5b611afd858286016114fc565b90969095509350505050565b60008060008060608587031215611b1f57600080fd5b8435611b2a816114d7565b935060208501359250604085013567ffffffffffffffff811115611b4d57600080fd5b611b59878288016114fc565b95989497509550505050565b60008060008060008060008060008060e08b8d031215611b8457600080fd5b8a35611b8f816114d7565b995060208b013567ffffffffffffffff80821115611bac57600080fd5b611bb88e838f016114fc565b909b50995060408d0135915080821115611bd157600080fd5b611bdd8e838f016114fc565b909950975060608d0135915080821115611bf657600080fd5b50611c038d828e016114fc565b90965094505060808b0135611c17816114d7565b925060a08b01359150611c2c60c08c016114ec565b90509295989b9194979a5092959850565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b608081526000611c8a60808301888a611c4d565b8281036020840152611c9d818789611c4d565b9150508360408301526001600160a01b0383166060830152979650505050505050565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611ce857600080fd5b5051919050565b6000600019821415611d1157634e487b7160e01b600052601160045260246000fd5b5060010190565b60005b83811015611d33578181015183820152602001611d1b565b838111156112a75750506000910152565b60e081526000611d5860e083018b8d611c4d565b8281036020840152611d6b818a8c611c4d565b905082810360408401528751808252611d8b816020840160208c01611d18565b60608401979097526001600160a01b03958616608084015260a083019490945250921660c0909201919091526020601f909201601f1916010195945050505050565b60c081526000611de160c083018b8d611c4d565b8281036020840152611df4818a8c611c4d565b90508281036040840152611e0981888a611c4d565b6060840196909652505060808101929092526001600160a01b031660a0909101529695505050505050565b602081526000611e48602083018486611c4d565b949350505050565b60008251611e62818460208701611d18565b9190910192915050565b60a081526000611e8060a08301898b611c4d565b8281036020840152611e9381888a611c4d565b6001600160a01b039687166040850152606084019590955250509216608090920191909152949350505050565b600060208284031215611ed257600080fd5b81518015158114611a7f57600080fdfea2646970667358221220a4792c9dad1fc4e25842f791092291b71657a60ef8da10517dd74cc76538547164736f6c63430008090033", | ||
"deployedBytecode": "0x6080604052600436106101965760003560e01c8063892b5007116100e1578063c62c20021161008a578063edb6b3a511610064578063edb6b3a514610475578063f2fde38b14610495578063f61ed218146104b5578063fd09e3bd146104c857600080fd5b8063c62c20021461041b578063cd433ada1461042e578063e30c39781461044157600080fd5b8063a3499c73116100bb578063a3499c73146103bb578063ab1999ba146103db578063ba9ddc8d146103fb57600080fd5b8063892b5007146103335780638da5cb5b146103675780639ded06df1461039b57600080fd5b80634d2384891161014357806379ba50971161011d57806379ba5097146102c35780638291286c146102d857806382ad6f351461031357600080fd5b80634d238489146102435780635c60da1b14610256578063710bf322146102a357600080fd5b80632e9b7470116101745780632e9b7470146101f05780632edd2aa814610203578063365047211461022357600080fd5b80630c93e3bb1461019b5780631055eaaf146101b057806317a49f7c146101d0575b600080fd5b6101ae6101a9366004611545565b6104e8565b005b3480156101bc57600080fd5b506101ae6101cb36600461164a565b610555565b3480156101dc57600080fd5b506101ae6101eb366004611770565b61074f565b6101ae6101fe36600461188e565b6107db565b34801561020f57600080fd5b506101ae61021e366004611981565b610851565b34801561022f57600080fd5b506101ae61023e3660046119d7565b6108c0565b6101ae610251366004611a29565b610915565b34801561026257600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102af57600080fd5b506101ae6102be366004611a62565b610960565b3480156102cf57600080fd5b506101ae610a2f565b3480156102e457600080fd5b506040517ffaa2f015f2ce5aee225904728de2def86eb8837491efd21f1a04fc20d8e923f6815260200161029a565b34801561031f57600080fd5b506101ae61032e366004611a86565b610aa9565b34801561033f57600080fd5b506102867f000000000000000000000000000000000000000000000000000000000000000081565b34801561037357600080fd5b507f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c054610286565b3480156103a757600080fd5b506101ae6103b6366004611ac7565b610b04565b3480156103c757600080fd5b506101ae6103d6366004611b09565b610b6b565b3480156103e757600080fd5b506101ae6103f6366004611981565b610e87565b34801561040757600080fd5b506101ae610416366004611b65565b610ed6565b6101ae61042936600461188e565b610f5c565b6101ae61043c366004611a29565b610fbd565b34801561044d57600080fd5b507f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d154610286565b34801561048157600080fd5b506101ae610490366004611770565b610fff565b3480156104a157600080fd5b506101ae6104b0366004611a62565b611060565b6101ae6104c3366004611545565b6110b0565b3480156104d457600080fd5b506101ae6104e3366004611b65565b61110b565b82826040516104f8929190611c3d565b6040518091039020886001600160a01b03167f617332c1832058df6ee45fcbdf471251474c9945a8e5d229287a21a5f67ccf0a89898989348860405161054396959493929190611c76565b60405180910390a35050505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461059d57604051623bb10360e91b815260040160405180910390fd5b6001600160a01b0385166105c45760405163e6c4247b60e01b815260040160405180910390fd5b828181146105e557604051636c2b7e2d60e11b815260040160405180910390fd5b60005b8181101561074657600086868381811061060457610604611cc0565b90506020020160208101906106199190611a62565b9050600085858481811061062f5761062f611cc0565b905060200201359050806000141561065a57604051636c2b7e2d60e11b815260040160405180910390fd5b6001600160a01b03821661068757478111610682576106826001600160a01b038a1682611168565b610731565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038316906370a082319060240160206040518083038186803b1580156106df57600080fd5b505afa1580156106f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107179190611cd6565b8111610731576107316001600160a01b0383168a836111ad565b5050808061073e90611cef565b9150506105e8565b50505050505050565b868660405161075f929190611c3d565b60405180910390208c6001600160a01b03167fda4ed638a7ffe9e814722efdb9ad6058c152c19c8564ceffe52e11dda1ca32238d8d8d8d8b8b8b8b8b6040516107b099989796959493929190611d44565b60405180910390a36107cd6001600160a01b038416333085611256565b505050505050505050505050565b85856040516107eb929190611c3d565b60405180910390208b6001600160a01b03167f8c092067e86e85e8cfbaf187202ef580cdfd7ec37fbec89191607de73ca800058c8c8c8c8a8a8a348b60405161083c99989796959493929190611dcd565b60405180910390a35050505050505050505050565b604080516001600160a01b03808616825260208201859052831691810191909152849086907ff0b09bf969e7958967e0968e22596f647dd6efa09f4778e0393967b881f4b09f906060015b60405180910390a36108b96001600160a01b038416333085611256565b5050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461090857604051623bb10360e91b815260040160405180910390fd5b6108b985858585856112ad565b604080513481526001600160a01b0383166020820152839185917fb26db521e067acd5c6e345ad92fa1ed06bc7fb2aedd68f35dc7a2e10d636fc9891015b60405180910390a3505050565b336109897f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b0316146109b0576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0381166109d757604051633649397d60e21b815260040160405180910390fd5b6040516001600160a01b038216907fd9be0e8e07417e00f2521db636cb53e316fd288f5051f16d2aa2bf0c3938a87690600090a27f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d155565b6000610a597f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d15490565b90506001600160a01b0381163314610a9d576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610aa68161135d565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610af157604051623bb10360e91b815260040160405180910390fd5b610aff6000808585856112ad565b505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610b67576040517fbf10dd3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b33610b947f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610bbb576040516330cd747160e01b815260040160405180910390fd5b306001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610bf457600080fd5b505afa158015610c08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2c9190611cd6565b846001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6557600080fd5b505afa158015610c79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9d9190611cd6565b14610cd4576040517f68155f9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b836001600160a01b03163f8314610d17576040517f8f84fb2400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038516907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28015610e60576000846001600160a01b0316639ded06df60e01b8484604051602401610d78929190611e34565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610de39190611e50565b600060405180830381855af49150503d8060008114610e1e576040519150601f19603f3d011682016040523d82523d6000602084013e610e23565b606091505b5050905080610e5e576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b5050507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b604080516001600160a01b03808616825260208201859052831691810191909152849086907f2275e75614080f9782f72563c2c1688c901c5339c7f9f436d323f9386fed700a9060600161089c565b8484604051610ee6929190611c3d565b60405180910390208a6001600160a01b03167fd171a7eb157e548ca493dd0a16016d125963a369ac5ae3c275ec12c96d5277028b8b8b8b898989604051610f339796959493929190611e6c565b60405180910390a3610f506001600160a01b038416333085611256565b50505050505050505050565b8585604051610f6c929190611c3d565b60405180910390208b6001600160a01b03167f999d431b58761213cf53af96262b67a069cbd963499fd8effd1e21556217b8418c8c8c8c8a8a8a348b60405161083c99989796959493929190611dcd565b604080513481526001600160a01b0383166020820152839185917ffeb6b00343feee0f29a1a4345f8bf93ca1c73ee922248a4237a4e50d6447604e9101610953565b868660405161100f929190611c3d565b60405180910390208c6001600160a01b03167f8875f9764f28fa82d3e7ff1b80bd5c8f665e1f42fcd8c2faebc7c400a4ba1bbd8d8d8d8d8b8b8b8b8b6040516107b099989796959493929190611d44565b336110897f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610a9d576040516330cd747160e01b815260040160405180910390fd5b82826040516110c0929190611c3d565b6040518091039020886001600160a01b03167f5cf48f121a0fecaa2c4a64b3eaf482c8c308d5387e161535970f3e9e4363eff689898989348860405161054396959493929190611c76565b848460405161111b929190611c3d565b60405180910390208a6001600160a01b03167f99206760f0be19dd093729bd35e5924daff5e217bcedc5223ed067b60008cf8a8b8b8b8b898989604051610f339796959493929190611e6c565b600080600080600085875af1905080610aff576040517ff4b3b1bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038316602482015260448101829052610aff9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611400565b6040516001600160a01b03808516602483015283166044820152606481018290526112a79085907f23b872dd00000000000000000000000000000000000000000000000000000000906084016111f2565b50505050565b6001600160a01b0383166112d45760405163e6c4247b60e01b815260040160405180910390fd5b604080516001600160a01b03808616825284166020820152908101829052849086907fd5df103822011013c8c940930e5180419111c65abadd6525ca7e740d56b4703f9060600160405180910390a36001600160a01b038216611349576113446001600160a01b03841682611168565b6108b9565b6108b96001600160a01b03831684836111ad565b6001600160a01b03811661138457604051633649397d60e21b815260040160405180910390fd5b6040516001600160a01b038216907f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390600090a27f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05560007f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d155565b600080836001600160a01b03168360405161141b9190611e50565b6000604051808303816000865af19150503d8060008114611458576040519150601f19603f3d011682016040523d82523d6000602084013e61145d565b606091505b509150915060008280156114895750815115806114895750818060200190518101906114899190611ec0565b90508015806114a057506001600160a01b0385163b155b156108b9576040517f045c4b0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381168114610aa657600080fd5b80356114f7816114d7565b919050565b60008083601f84011261150e57600080fd5b50813567ffffffffffffffff81111561152657600080fd5b60208301915083602082850101111561153e57600080fd5b9250929050565b60008060008060008060008060a0898b03121561156157600080fd5b883561156c816114d7565b9750602089013567ffffffffffffffff8082111561158957600080fd5b6115958c838d016114fc565b909950975060408b01359150808211156115ae57600080fd5b6115ba8c838d016114fc565b909750955060608b01359150808211156115d357600080fd5b506115e08b828c016114fc565b90945092505060808901356115f4816114d7565b809150509295985092959890939650565b60008083601f84011261161757600080fd5b50813567ffffffffffffffff81111561162f57600080fd5b6020830191508360208260051b850101111561153e57600080fd5b60008060008060006060868803121561166257600080fd5b853561166d816114d7565b9450602086013567ffffffffffffffff8082111561168a57600080fd5b61169689838a01611605565b909650945060408801359150808211156116af57600080fd5b506116bc88828901611605565b969995985093965092949392505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126116f457600080fd5b813567ffffffffffffffff8082111561170f5761170f6116cd565b604051601f8301601f19908116603f01168101908282118183101715611737576117376116cd565b8160405283815286602085880101111561175057600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806000806000806000806000806101208d8f03121561179357600080fd5b61179c8d6114ec565b9b5067ffffffffffffffff60208e013511156117b757600080fd5b6117c78e60208f01358f016114fc565b909b50995067ffffffffffffffff60408e013511156117e557600080fd5b6117f58e60408f01358f016114fc565b909950975067ffffffffffffffff60608e0135111561181357600080fd5b6118238e60608f01358f016114fc565b909750955067ffffffffffffffff60808e0135111561184157600080fd5b6118518e60808f01358f016116e3565b945060a08d0135935061186660c08e016114ec565b925060e08d0135915061187c6101008e016114ec565b90509295989b509295989b509295989b565b600080600080600080600080600080600060e08c8e0312156118af57600080fd5b6118b88c6114ec565b9a5067ffffffffffffffff8060208e013511156118d457600080fd5b6118e48e60208f01358f016114fc565b909b50995060408d01358110156118fa57600080fd5b61190a8e60408f01358f016114fc565b909950975060608d013581101561192057600080fd5b6119308e60608f01358f016114fc565b909750955060808d013581101561194657600080fd5b506119578d60808e01358e016114fc565b909450925060a08c0135915061196f60c08d016114ec565b90509295989b509295989b9093969950565b600080600080600060a0868803121561199957600080fd5b853594506020860135935060408601356119b2816114d7565b92506060860135915060808601356119c9816114d7565b809150509295509295909350565b600080600080600060a086880312156119ef57600080fd5b85359450602086013593506040860135611a08816114d7565b92506060860135611a18816114d7565b949793965091946080013592915050565b600080600060608486031215611a3e57600080fd5b83359250602084013591506040840135611a57816114d7565b809150509250925092565b600060208284031215611a7457600080fd5b8135611a7f816114d7565b9392505050565b600080600060608486031215611a9b57600080fd5b8335611aa6816114d7565b92506020840135611ab6816114d7565b929592945050506040919091013590565b60008060208385031215611ada57600080fd5b823567ffffffffffffffff811115611af157600080fd5b611afd858286016114fc565b90969095509350505050565b60008060008060608587031215611b1f57600080fd5b8435611b2a816114d7565b935060208501359250604085013567ffffffffffffffff811115611b4d57600080fd5b611b59878288016114fc565b95989497509550505050565b60008060008060008060008060008060e08b8d031215611b8457600080fd5b8a35611b8f816114d7565b995060208b013567ffffffffffffffff80821115611bac57600080fd5b611bb88e838f016114fc565b909b50995060408d0135915080821115611bd157600080fd5b611bdd8e838f016114fc565b909950975060608d0135915080821115611bf657600080fd5b50611c038d828e016114fc565b90965094505060808b0135611c17816114d7565b925060a08b01359150611c2c60c08c016114ec565b90509295989b9194979a5092959850565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b608081526000611c8a60808301888a611c4d565b8281036020840152611c9d818789611c4d565b9150508360408301526001600160a01b0383166060830152979650505050505050565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611ce857600080fd5b5051919050565b6000600019821415611d1157634e487b7160e01b600052601160045260246000fd5b5060010190565b60005b83811015611d33578181015183820152602001611d1b565b838111156112a75750506000910152565b60e081526000611d5860e083018b8d611c4d565b8281036020840152611d6b818a8c611c4d565b905082810360408401528751808252611d8b816020840160208c01611d18565b60608401979097526001600160a01b03958616608084015260a083019490945250921660c0909201919091526020601f909201601f1916010195945050505050565b60c081526000611de160c083018b8d611c4d565b8281036020840152611df4818a8c611c4d565b90508281036040840152611e0981888a611c4d565b6060840196909652505060808101929092526001600160a01b031660a0909101529695505050505050565b602081526000611e48602083018486611c4d565b949350505050565b60008251611e62818460208701611d18565b9190910192915050565b60a081526000611e8060a08301898b611c4d565b8281036020840152611e9381888a611c4d565b6001600160a01b039687166040850152606084019590955250509216608090920191909152949350505050565b600060208284031215611ed257600080fd5b81518015158114611a7f57600080fdfea2646970667358221220a4792c9dad1fc4e25842f791092291b71657a60ef8da10517dd74cc76538547164736f6c63430008090033", | ||
"bytecode": "0x60c06040523480156200001157600080fd5b5060405162002081380380620020818339810160408190526200003491620000fc565b6001620000418162000058565b50306080526001600160a01b031660a0526200012e565b6001600160a01b0381166200008057604051633649397d60e21b815260040160405180910390fd5b6040516001600160a01b038216907f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390600090a27f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05560007f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d155565b6000602082840312156200010f57600080fd5b81516001600160a01b03811681146200012757600080fd5b9392505050565b60805160a051611f18620001696000396000818161034501528181610560015281816108cb0152610ab401526000610b060152611f186000f3fe6080604052600436106101965760003560e01c8063892b5007116100e1578063c62c20021161008a578063edb6b3a511610064578063edb6b3a514610475578063f2fde38b14610495578063f61ed218146104b5578063fd09e3bd146104c857600080fd5b8063c62c20021461041b578063cd433ada1461042e578063e30c39781461044157600080fd5b8063a3499c73116100bb578063a3499c73146103bb578063ab1999ba146103db578063ba9ddc8d146103fb57600080fd5b8063892b5007146103335780638da5cb5b146103675780639ded06df1461039b57600080fd5b80634d2384891161014357806379ba50971161011d57806379ba5097146102c35780638291286c146102d857806382ad6f351461031357600080fd5b80634d238489146102435780635c60da1b14610256578063710bf322146102a357600080fd5b80632e9b7470116101745780632e9b7470146101f05780632edd2aa814610203578063365047211461022357600080fd5b80630c93e3bb1461019b5780631055eaaf146101b057806317a49f7c146101d0575b600080fd5b6101ae6101a9366004611545565b6104e8565b005b3480156101bc57600080fd5b506101ae6101cb36600461164a565b610555565b3480156101dc57600080fd5b506101ae6101eb366004611770565b61074f565b6101ae6101fe36600461188e565b6107db565b34801561020f57600080fd5b506101ae61021e366004611981565b610851565b34801561022f57600080fd5b506101ae61023e3660046119d7565b6108c0565b6101ae610251366004611a29565b610915565b34801561026257600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102af57600080fd5b506101ae6102be366004611a62565b610960565b3480156102cf57600080fd5b506101ae610a2f565b3480156102e457600080fd5b506040517ffaa2f015f2ce5aee225904728de2def86eb8837491efd21f1a04fc20d8e923f6815260200161029a565b34801561031f57600080fd5b506101ae61032e366004611a86565b610aa9565b34801561033f57600080fd5b506102867f000000000000000000000000000000000000000000000000000000000000000081565b34801561037357600080fd5b507f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c054610286565b3480156103a757600080fd5b506101ae6103b6366004611ac7565b610b04565b3480156103c757600080fd5b506101ae6103d6366004611b09565b610b6b565b3480156103e757600080fd5b506101ae6103f6366004611981565b610e87565b34801561040757600080fd5b506101ae610416366004611b65565b610ed6565b6101ae61042936600461188e565b610f5c565b6101ae61043c366004611a29565b610fbd565b34801561044d57600080fd5b507f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d154610286565b34801561048157600080fd5b506101ae610490366004611770565b610fff565b3480156104a157600080fd5b506101ae6104b0366004611a62565b611060565b6101ae6104c3366004611545565b6110b0565b3480156104d457600080fd5b506101ae6104e3366004611b65565b61110b565b82826040516104f8929190611c3d565b6040518091039020886001600160a01b03167f617332c1832058df6ee45fcbdf471251474c9945a8e5d229287a21a5f67ccf0a89898989348860405161054396959493929190611c76565b60405180910390a35050505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461059d57604051623bb10360e91b815260040160405180910390fd5b6001600160a01b0385166105c45760405163e6c4247b60e01b815260040160405180910390fd5b828181146105e557604051636c2b7e2d60e11b815260040160405180910390fd5b60005b8181101561074657600086868381811061060457610604611cc0565b90506020020160208101906106199190611a62565b9050600085858481811061062f5761062f611cc0565b905060200201359050806000141561065a57604051636c2b7e2d60e11b815260040160405180910390fd5b6001600160a01b03821661068757478111610682576106826001600160a01b038a1682611168565b610731565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038316906370a082319060240160206040518083038186803b1580156106df57600080fd5b505afa1580156106f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107179190611cd6565b8111610731576107316001600160a01b0383168a836111ad565b5050808061073e90611cef565b9150506105e8565b50505050505050565b868660405161075f929190611c3d565b60405180910390208c6001600160a01b03167fda4ed638a7ffe9e814722efdb9ad6058c152c19c8564ceffe52e11dda1ca32238d8d8d8d8b8b8b8b8b6040516107b099989796959493929190611d44565b60405180910390a36107cd6001600160a01b038416333085611256565b505050505050505050505050565b85856040516107eb929190611c3d565b60405180910390208b6001600160a01b03167f8c092067e86e85e8cfbaf187202ef580cdfd7ec37fbec89191607de73ca800058c8c8c8c8a8a8a348b60405161083c99989796959493929190611dcd565b60405180910390a35050505050505050505050565b604080516001600160a01b03808616825260208201859052831691810191909152849086907ff0b09bf969e7958967e0968e22596f647dd6efa09f4778e0393967b881f4b09f906060015b60405180910390a36108b96001600160a01b038416333085611256565b5050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461090857604051623bb10360e91b815260040160405180910390fd5b6108b985858585856112ad565b604080513481526001600160a01b0383166020820152839185917fb26db521e067acd5c6e345ad92fa1ed06bc7fb2aedd68f35dc7a2e10d636fc9891015b60405180910390a3505050565b336109897f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b0316146109b0576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0381166109d757604051633649397d60e21b815260040160405180910390fd5b6040516001600160a01b038216907fd9be0e8e07417e00f2521db636cb53e316fd288f5051f16d2aa2bf0c3938a87690600090a27f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d155565b6000610a597f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d15490565b90506001600160a01b0381163314610a9d576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610aa68161135d565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610af157604051623bb10360e91b815260040160405180910390fd5b610aff6000808585856112ad565b505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316301415610b67576040517fbf10dd3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b33610b947f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610bbb576040516330cd747160e01b815260040160405180910390fd5b306001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610bf457600080fd5b505afa158015610c08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2c9190611cd6565b846001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6557600080fd5b505afa158015610c79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9d9190611cd6565b14610cd4576040517f68155f9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b836001600160a01b03163f8314610d17576040517f8f84fb2400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038516907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28015610e60576000846001600160a01b0316639ded06df60e01b8484604051602401610d78929190611e34565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610de39190611e50565b600060405180830381855af49150503d8060008114610e1e576040519150601f19603f3d011682016040523d82523d6000602084013e610e23565b606091505b5050905080610e5e576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b5050507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b604080516001600160a01b03808616825260208201859052831691810191909152849086907f2275e75614080f9782f72563c2c1688c901c5339c7f9f436d323f9386fed700a9060600161089c565b8484604051610ee6929190611c3d565b60405180910390208a6001600160a01b03167fd171a7eb157e548ca493dd0a16016d125963a369ac5ae3c275ec12c96d5277028b8b8b8b898989604051610f339796959493929190611e6c565b60405180910390a3610f506001600160a01b038416333085611256565b50505050505050505050565b8585604051610f6c929190611c3d565b60405180910390208b6001600160a01b03167f999d431b58761213cf53af96262b67a069cbd963499fd8effd1e21556217b8418c8c8c8c8a8a8a348b60405161083c99989796959493929190611dcd565b604080513481526001600160a01b0383166020820152839185917ffeb6b00343feee0f29a1a4345f8bf93ca1c73ee922248a4237a4e50d6447604e9101610953565b868660405161100f929190611c3d565b60405180910390208c6001600160a01b03167f8875f9764f28fa82d3e7ff1b80bd5c8f665e1f42fcd8c2faebc7c400a4ba1bbd8d8d8d8d8b8b8b8b8b6040516107b099989796959493929190611d44565b336110897f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610a9d576040516330cd747160e01b815260040160405180910390fd5b82826040516110c0929190611c3d565b6040518091039020886001600160a01b03167f5cf48f121a0fecaa2c4a64b3eaf482c8c308d5387e161535970f3e9e4363eff689898989348860405161054396959493929190611c76565b848460405161111b929190611c3d565b60405180910390208a6001600160a01b03167f99206760f0be19dd093729bd35e5924daff5e217bcedc5223ed067b60008cf8a8b8b8b8b898989604051610f339796959493929190611e6c565b600080600080600085875af1905080610aff576040517ff4b3b1bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038316602482015260448101829052610aff9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611400565b6040516001600160a01b03808516602483015283166044820152606481018290526112a79085907f23b872dd00000000000000000000000000000000000000000000000000000000906084016111f2565b50505050565b6001600160a01b0383166112d45760405163e6c4247b60e01b815260040160405180910390fd5b604080516001600160a01b03808616825284166020820152908101829052849086907fd5df103822011013c8c940930e5180419111c65abadd6525ca7e740d56b4703f9060600160405180910390a36001600160a01b038216611349576113446001600160a01b03841682611168565b6108b9565b6108b96001600160a01b03831684836111ad565b6001600160a01b03811661138457604051633649397d60e21b815260040160405180910390fd5b6040516001600160a01b038216907f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390600090a27f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05560007f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d155565b600080836001600160a01b03168360405161141b9190611e50565b6000604051808303816000865af19150503d8060008114611458576040519150601f19603f3d011682016040523d82523d6000602084013e61145d565b606091505b509150915060008280156114895750815115806114895750818060200190518101906114899190611ec0565b90508015806114a057506001600160a01b0385163b155b156108b9576040517f045c4b0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381168114610aa657600080fd5b80356114f7816114d7565b919050565b60008083601f84011261150e57600080fd5b50813567ffffffffffffffff81111561152657600080fd5b60208301915083602082850101111561153e57600080fd5b9250929050565b60008060008060008060008060a0898b03121561156157600080fd5b883561156c816114d7565b9750602089013567ffffffffffffffff8082111561158957600080fd5b6115958c838d016114fc565b909950975060408b01359150808211156115ae57600080fd5b6115ba8c838d016114fc565b909750955060608b01359150808211156115d357600080fd5b506115e08b828c016114fc565b90945092505060808901356115f4816114d7565b809150509295985092959890939650565b60008083601f84011261161757600080fd5b50813567ffffffffffffffff81111561162f57600080fd5b6020830191508360208260051b850101111561153e57600080fd5b60008060008060006060868803121561166257600080fd5b853561166d816114d7565b9450602086013567ffffffffffffffff8082111561168a57600080fd5b61169689838a01611605565b909650945060408801359150808211156116af57600080fd5b506116bc88828901611605565b969995985093965092949392505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126116f457600080fd5b813567ffffffffffffffff8082111561170f5761170f6116cd565b604051601f8301601f19908116603f01168101908282118183101715611737576117376116cd565b8160405283815286602085880101111561175057600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806000806000806000806000806101208d8f03121561179357600080fd5b61179c8d6114ec565b9b5067ffffffffffffffff60208e013511156117b757600080fd5b6117c78e60208f01358f016114fc565b909b50995067ffffffffffffffff60408e013511156117e557600080fd5b6117f58e60408f01358f016114fc565b909950975067ffffffffffffffff60608e0135111561181357600080fd5b6118238e60608f01358f016114fc565b909750955067ffffffffffffffff60808e0135111561184157600080fd5b6118518e60808f01358f016116e3565b945060a08d0135935061186660c08e016114ec565b925060e08d0135915061187c6101008e016114ec565b90509295989b509295989b509295989b565b600080600080600080600080600080600060e08c8e0312156118af57600080fd5b6118b88c6114ec565b9a5067ffffffffffffffff8060208e013511156118d457600080fd5b6118e48e60208f01358f016114fc565b909b50995060408d01358110156118fa57600080fd5b61190a8e60408f01358f016114fc565b909950975060608d013581101561192057600080fd5b6119308e60608f01358f016114fc565b909750955060808d013581101561194657600080fd5b506119578d60808e01358e016114fc565b909450925060a08c0135915061196f60c08d016114ec565b90509295989b509295989b9093969950565b600080600080600060a0868803121561199957600080fd5b853594506020860135935060408601356119b2816114d7565b92506060860135915060808601356119c9816114d7565b809150509295509295909350565b600080600080600060a086880312156119ef57600080fd5b85359450602086013593506040860135611a08816114d7565b92506060860135611a18816114d7565b949793965091946080013592915050565b600080600060608486031215611a3e57600080fd5b83359250602084013591506040840135611a57816114d7565b809150509250925092565b600060208284031215611a7457600080fd5b8135611a7f816114d7565b9392505050565b600080600060608486031215611a9b57600080fd5b8335611aa6816114d7565b92506020840135611ab6816114d7565b929592945050506040919091013590565b60008060208385031215611ada57600080fd5b823567ffffffffffffffff811115611af157600080fd5b611afd858286016114fc565b90969095509350505050565b60008060008060608587031215611b1f57600080fd5b8435611b2a816114d7565b935060208501359250604085013567ffffffffffffffff811115611b4d57600080fd5b611b59878288016114fc565b95989497509550505050565b60008060008060008060008060008060e08b8d031215611b8457600080fd5b8a35611b8f816114d7565b995060208b013567ffffffffffffffff80821115611bac57600080fd5b611bb88e838f016114fc565b909b50995060408d0135915080821115611bd157600080fd5b611bdd8e838f016114fc565b909950975060608d0135915080821115611bf657600080fd5b50611c038d828e016114fc565b90965094505060808b0135611c17816114d7565b925060a08b01359150611c2c60c08c016114ec565b90509295989b9194979a5092959850565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b608081526000611c8a60808301888a611c4d565b8281036020840152611c9d818789611c4d565b9150508360408301526001600160a01b0383166060830152979650505050505050565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611ce857600080fd5b5051919050565b6000600019821415611d1157634e487b7160e01b600052601160045260246000fd5b5060010190565b60005b83811015611d33578181015183820152602001611d1b565b838111156112a75750506000910152565b60e081526000611d5860e083018b8d611c4d565b8281036020840152611d6b818a8c611c4d565b905082810360408401528751808252611d8b816020840160208c01611d18565b60608401979097526001600160a01b03958616608084015260a083019490945250921660c0909201919091526020601f909201601f1916010195945050505050565b60c081526000611de160c083018b8d611c4d565b8281036020840152611df4818a8c611c4d565b90508281036040840152611e0981888a611c4d565b6060840196909652505060808101929092526001600160a01b031660a0909101529695505050505050565b602081526000611e48602083018486611c4d565b949350505050565b60008251611e62818460208701611d18565b9190910192915050565b60a081526000611e8060a08301898b611c4d565b8281036020840152611e9381888a611c4d565b6001600160a01b039687166040850152606084019590955250509216608090920191909152949350505050565b600060208284031215611ed257600080fd5b81518015158114611a7f57600080fdfea2646970667358221220aa05164d0d0793c028c7a7a074c5e056721a544dde47c82fc6310de737fa503764736f6c63430008090033", | ||
"deployedBytecode": "0x6080604052600436106101965760003560e01c8063892b5007116100e1578063c62c20021161008a578063edb6b3a511610064578063edb6b3a514610475578063f2fde38b14610495578063f61ed218146104b5578063fd09e3bd146104c857600080fd5b8063c62c20021461041b578063cd433ada1461042e578063e30c39781461044157600080fd5b8063a3499c73116100bb578063a3499c73146103bb578063ab1999ba146103db578063ba9ddc8d146103fb57600080fd5b8063892b5007146103335780638da5cb5b146103675780639ded06df1461039b57600080fd5b80634d2384891161014357806379ba50971161011d57806379ba5097146102c35780638291286c146102d857806382ad6f351461031357600080fd5b80634d238489146102435780635c60da1b14610256578063710bf322146102a357600080fd5b80632e9b7470116101745780632e9b7470146101f05780632edd2aa814610203578063365047211461022357600080fd5b80630c93e3bb1461019b5780631055eaaf146101b057806317a49f7c146101d0575b600080fd5b6101ae6101a9366004611545565b6104e8565b005b3480156101bc57600080fd5b506101ae6101cb36600461164a565b610555565b3480156101dc57600080fd5b506101ae6101eb366004611770565b61074f565b6101ae6101fe36600461188e565b6107db565b34801561020f57600080fd5b506101ae61021e366004611981565b610851565b34801561022f57600080fd5b506101ae61023e3660046119d7565b6108c0565b6101ae610251366004611a29565b610915565b34801561026257600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102af57600080fd5b506101ae6102be366004611a62565b610960565b3480156102cf57600080fd5b506101ae610a2f565b3480156102e457600080fd5b506040517ffaa2f015f2ce5aee225904728de2def86eb8837491efd21f1a04fc20d8e923f6815260200161029a565b34801561031f57600080fd5b506101ae61032e366004611a86565b610aa9565b34801561033f57600080fd5b506102867f000000000000000000000000000000000000000000000000000000000000000081565b34801561037357600080fd5b507f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c054610286565b3480156103a757600080fd5b506101ae6103b6366004611ac7565b610b04565b3480156103c757600080fd5b506101ae6103d6366004611b09565b610b6b565b3480156103e757600080fd5b506101ae6103f6366004611981565b610e87565b34801561040757600080fd5b506101ae610416366004611b65565b610ed6565b6101ae61042936600461188e565b610f5c565b6101ae61043c366004611a29565b610fbd565b34801561044d57600080fd5b507f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d154610286565b34801561048157600080fd5b506101ae610490366004611770565b610fff565b3480156104a157600080fd5b506101ae6104b0366004611a62565b611060565b6101ae6104c3366004611545565b6110b0565b3480156104d457600080fd5b506101ae6104e3366004611b65565b61110b565b82826040516104f8929190611c3d565b6040518091039020886001600160a01b03167f617332c1832058df6ee45fcbdf471251474c9945a8e5d229287a21a5f67ccf0a89898989348860405161054396959493929190611c76565b60405180910390a35050505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461059d57604051623bb10360e91b815260040160405180910390fd5b6001600160a01b0385166105c45760405163e6c4247b60e01b815260040160405180910390fd5b828181146105e557604051636c2b7e2d60e11b815260040160405180910390fd5b60005b8181101561074657600086868381811061060457610604611cc0565b90506020020160208101906106199190611a62565b9050600085858481811061062f5761062f611cc0565b905060200201359050806000141561065a57604051636c2b7e2d60e11b815260040160405180910390fd5b6001600160a01b03821661068757478111610682576106826001600160a01b038a1682611168565b610731565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038316906370a082319060240160206040518083038186803b1580156106df57600080fd5b505afa1580156106f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107179190611cd6565b8111610731576107316001600160a01b0383168a836111ad565b5050808061073e90611cef565b9150506105e8565b50505050505050565b868660405161075f929190611c3d565b60405180910390208c6001600160a01b03167fda4ed638a7ffe9e814722efdb9ad6058c152c19c8564ceffe52e11dda1ca32238d8d8d8d8b8b8b8b8b6040516107b099989796959493929190611d44565b60405180910390a36107cd6001600160a01b038416333085611256565b505050505050505050505050565b85856040516107eb929190611c3d565b60405180910390208b6001600160a01b03167f8c092067e86e85e8cfbaf187202ef580cdfd7ec37fbec89191607de73ca800058c8c8c8c8a8a8a348b60405161083c99989796959493929190611dcd565b60405180910390a35050505050505050505050565b604080516001600160a01b03808616825260208201859052831691810191909152849086907ff0b09bf969e7958967e0968e22596f647dd6efa09f4778e0393967b881f4b09f906060015b60405180910390a36108b96001600160a01b038416333085611256565b5050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461090857604051623bb10360e91b815260040160405180910390fd5b6108b985858585856112ad565b604080513481526001600160a01b0383166020820152839185917fb26db521e067acd5c6e345ad92fa1ed06bc7fb2aedd68f35dc7a2e10d636fc9891015b60405180910390a3505050565b336109897f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b0316146109b0576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0381166109d757604051633649397d60e21b815260040160405180910390fd5b6040516001600160a01b038216907fd9be0e8e07417e00f2521db636cb53e316fd288f5051f16d2aa2bf0c3938a87690600090a27f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d155565b6000610a597f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d15490565b90506001600160a01b0381163314610a9d576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610aa68161135d565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610af157604051623bb10360e91b815260040160405180910390fd5b610aff6000808585856112ad565b505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316301415610b67576040517fbf10dd3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b33610b947f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610bbb576040516330cd747160e01b815260040160405180910390fd5b306001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610bf457600080fd5b505afa158015610c08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2c9190611cd6565b846001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6557600080fd5b505afa158015610c79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9d9190611cd6565b14610cd4576040517f68155f9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b836001600160a01b03163f8314610d17576040517f8f84fb2400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038516907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28015610e60576000846001600160a01b0316639ded06df60e01b8484604051602401610d78929190611e34565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610de39190611e50565b600060405180830381855af49150503d8060008114610e1e576040519150601f19603f3d011682016040523d82523d6000602084013e610e23565b606091505b5050905080610e5e576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b5050507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b604080516001600160a01b03808616825260208201859052831691810191909152849086907f2275e75614080f9782f72563c2c1688c901c5339c7f9f436d323f9386fed700a9060600161089c565b8484604051610ee6929190611c3d565b60405180910390208a6001600160a01b03167fd171a7eb157e548ca493dd0a16016d125963a369ac5ae3c275ec12c96d5277028b8b8b8b898989604051610f339796959493929190611e6c565b60405180910390a3610f506001600160a01b038416333085611256565b50505050505050505050565b8585604051610f6c929190611c3d565b60405180910390208b6001600160a01b03167f999d431b58761213cf53af96262b67a069cbd963499fd8effd1e21556217b8418c8c8c8c8a8a8a348b60405161083c99989796959493929190611dcd565b604080513481526001600160a01b0383166020820152839185917ffeb6b00343feee0f29a1a4345f8bf93ca1c73ee922248a4237a4e50d6447604e9101610953565b868660405161100f929190611c3d565b60405180910390208c6001600160a01b03167f8875f9764f28fa82d3e7ff1b80bd5c8f665e1f42fcd8c2faebc7c400a4ba1bbd8d8d8d8d8b8b8b8b8b6040516107b099989796959493929190611d44565b336110897f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610a9d576040516330cd747160e01b815260040160405180910390fd5b82826040516110c0929190611c3d565b6040518091039020886001600160a01b03167f5cf48f121a0fecaa2c4a64b3eaf482c8c308d5387e161535970f3e9e4363eff689898989348860405161054396959493929190611c76565b848460405161111b929190611c3d565b60405180910390208a6001600160a01b03167f99206760f0be19dd093729bd35e5924daff5e217bcedc5223ed067b60008cf8a8b8b8b8b898989604051610f339796959493929190611e6c565b600080600080600085875af1905080610aff576040517ff4b3b1bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038316602482015260448101829052610aff9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611400565b6040516001600160a01b03808516602483015283166044820152606481018290526112a79085907f23b872dd00000000000000000000000000000000000000000000000000000000906084016111f2565b50505050565b6001600160a01b0383166112d45760405163e6c4247b60e01b815260040160405180910390fd5b604080516001600160a01b03808616825284166020820152908101829052849086907fd5df103822011013c8c940930e5180419111c65abadd6525ca7e740d56b4703f9060600160405180910390a36001600160a01b038216611349576113446001600160a01b03841682611168565b6108b9565b6108b96001600160a01b03831684836111ad565b6001600160a01b03811661138457604051633649397d60e21b815260040160405180910390fd5b6040516001600160a01b038216907f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390600090a27f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05560007f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d155565b600080836001600160a01b03168360405161141b9190611e50565b6000604051808303816000865af19150503d8060008114611458576040519150601f19603f3d011682016040523d82523d6000602084013e61145d565b606091505b509150915060008280156114895750815115806114895750818060200190518101906114899190611ec0565b90508015806114a057506001600160a01b0385163b155b156108b9576040517f045c4b0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381168114610aa657600080fd5b80356114f7816114d7565b919050565b60008083601f84011261150e57600080fd5b50813567ffffffffffffffff81111561152657600080fd5b60208301915083602082850101111561153e57600080fd5b9250929050565b60008060008060008060008060a0898b03121561156157600080fd5b883561156c816114d7565b9750602089013567ffffffffffffffff8082111561158957600080fd5b6115958c838d016114fc565b909950975060408b01359150808211156115ae57600080fd5b6115ba8c838d016114fc565b909750955060608b01359150808211156115d357600080fd5b506115e08b828c016114fc565b90945092505060808901356115f4816114d7565b809150509295985092959890939650565b60008083601f84011261161757600080fd5b50813567ffffffffffffffff81111561162f57600080fd5b6020830191508360208260051b850101111561153e57600080fd5b60008060008060006060868803121561166257600080fd5b853561166d816114d7565b9450602086013567ffffffffffffffff8082111561168a57600080fd5b61169689838a01611605565b909650945060408801359150808211156116af57600080fd5b506116bc88828901611605565b969995985093965092949392505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126116f457600080fd5b813567ffffffffffffffff8082111561170f5761170f6116cd565b604051601f8301601f19908116603f01168101908282118183101715611737576117376116cd565b8160405283815286602085880101111561175057600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806000806000806000806000806101208d8f03121561179357600080fd5b61179c8d6114ec565b9b5067ffffffffffffffff60208e013511156117b757600080fd5b6117c78e60208f01358f016114fc565b909b50995067ffffffffffffffff60408e013511156117e557600080fd5b6117f58e60408f01358f016114fc565b909950975067ffffffffffffffff60608e0135111561181357600080fd5b6118238e60608f01358f016114fc565b909750955067ffffffffffffffff60808e0135111561184157600080fd5b6118518e60808f01358f016116e3565b945060a08d0135935061186660c08e016114ec565b925060e08d0135915061187c6101008e016114ec565b90509295989b509295989b509295989b565b600080600080600080600080600080600060e08c8e0312156118af57600080fd5b6118b88c6114ec565b9a5067ffffffffffffffff8060208e013511156118d457600080fd5b6118e48e60208f01358f016114fc565b909b50995060408d01358110156118fa57600080fd5b61190a8e60408f01358f016114fc565b909950975060608d013581101561192057600080fd5b6119308e60608f01358f016114fc565b909750955060808d013581101561194657600080fd5b506119578d60808e01358e016114fc565b909450925060a08c0135915061196f60c08d016114ec565b90509295989b509295989b9093969950565b600080600080600060a0868803121561199957600080fd5b853594506020860135935060408601356119b2816114d7565b92506060860135915060808601356119c9816114d7565b809150509295509295909350565b600080600080600060a086880312156119ef57600080fd5b85359450602086013593506040860135611a08816114d7565b92506060860135611a18816114d7565b949793965091946080013592915050565b600080600060608486031215611a3e57600080fd5b83359250602084013591506040840135611a57816114d7565b809150509250925092565b600060208284031215611a7457600080fd5b8135611a7f816114d7565b9392505050565b600080600060608486031215611a9b57600080fd5b8335611aa6816114d7565b92506020840135611ab6816114d7565b929592945050506040919091013590565b60008060208385031215611ada57600080fd5b823567ffffffffffffffff811115611af157600080fd5b611afd858286016114fc565b90969095509350505050565b60008060008060608587031215611b1f57600080fd5b8435611b2a816114d7565b935060208501359250604085013567ffffffffffffffff811115611b4d57600080fd5b611b59878288016114fc565b95989497509550505050565b60008060008060008060008060008060e08b8d031215611b8457600080fd5b8a35611b8f816114d7565b995060208b013567ffffffffffffffff80821115611bac57600080fd5b611bb88e838f016114fc565b909b50995060408d0135915080821115611bd157600080fd5b611bdd8e838f016114fc565b909950975060608d0135915080821115611bf657600080fd5b50611c038d828e016114fc565b90965094505060808b0135611c17816114d7565b925060a08b01359150611c2c60c08c016114ec565b90509295989b9194979a5092959850565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b608081526000611c8a60808301888a611c4d565b8281036020840152611c9d818789611c4d565b9150508360408301526001600160a01b0383166060830152979650505050505050565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611ce857600080fd5b5051919050565b6000600019821415611d1157634e487b7160e01b600052601160045260246000fd5b5060010190565b60005b83811015611d33578181015183820152602001611d1b565b838111156112a75750506000910152565b60e081526000611d5860e083018b8d611c4d565b8281036020840152611d6b818a8c611c4d565b905082810360408401528751808252611d8b816020840160208c01611d18565b60608401979097526001600160a01b03958616608084015260a083019490945250921660c0909201919091526020601f909201601f1916010195945050505050565b60c081526000611de160c083018b8d611c4d565b8281036020840152611df4818a8c611c4d565b90508281036040840152611e0981888a611c4d565b6060840196909652505060808101929092526001600160a01b031660a0909101529695505050505050565b602081526000611e48602083018486611c4d565b949350505050565b60008251611e62818460208701611d18565b9190910192915050565b60a081526000611e8060a08301898b611c4d565b8281036020840152611e9381888a611c4d565b6001600160a01b039687166040850152606084019590955250509216608090920191909152949350505050565b600060208284031215611ed257600080fd5b81518015158114611a7f57600080fdfea2646970667358221220aa05164d0d0793c028c7a7a074c5e056721a544dde47c82fc6310de737fa503764736f6c63430008090033", | ||
"linkReferences": {}, | ||
"deployedLinkReferences": {} | ||
} |
{ | ||
"name": "@axelar-network/axelar-cgp-solidity", | ||
"version": "6.1.2", | ||
"version": "6.2.0", | ||
"description": "EVM Smart Contracts for Axelar Network", | ||
@@ -33,3 +33,3 @@ "main": "index.js", | ||
"dependencies": { | ||
"@axelar-network/axelar-gmp-sdk-solidity": "^5.3.3" | ||
"@axelar-network/axelar-gmp-sdk-solidity": "5.5.2" | ||
}, | ||
@@ -54,3 +54,4 @@ "devDependencies": { | ||
"solhint": "^3.4.1", | ||
"solidity-coverage": "^0.8.4" | ||
"solidity-coverage": "^0.8.4", | ||
"@0xpolygonhermez/zkevm-commonjs": "github:0xpolygonhermez/zkevm-commonjs#v1.0.0" | ||
}, | ||
@@ -57,0 +58,0 @@ "engines": { |
@@ -42,3 +42,3 @@ # Axelar cross-chain gateway protocol solidity implementation | ||
2. Navigate to the contract deployments repo [here](https://github.com/axelarnetwork/axelar-contract-deployments/) and clone the repository locally. | ||
3. Within the info folder, edit the environment specific file to add the chain you'll be testing. The following values need to be provided: | ||
3. Within the contract deployments repo, edit the environment specific file inside the `axelar-chains-config/info` folder to add the chain you'll be testing. The following values need to be provided: | ||
```json | ||
@@ -61,3 +61,3 @@ { | ||
4. In the root directory of this repository, navigate to the `hardhat.config.js` file and modify the chains import line as shown below: | ||
4. Return to the `axelar-cgp-solidity` repository. Once there, in the root directory of this repository, navigate to the `hardhat.config.js` file and modify the chains import line as shown below: | ||
```javascript | ||
@@ -94,2 +94,38 @@ const chains = require(`/path/to/axelar-contract-deployments/axelar-chains-config/info/${env}.json`); | ||
## Debugging Steps | ||
- Explicitly pass `getGasOptions()` using utils.js file for some spceific transactions. See the code below for example | ||
```javascript | ||
await sourceChainGateway | ||
.execute( | ||
await getSignedWeightedExecuteInput(await getTokenDeployData(false), [operatorWallet], [1], 1, [operatorWallet]), | ||
getGasOptions(), | ||
) | ||
.then((tx) => tx.wait(network.config.confirmations)); | ||
``` | ||
- Using the most up to date and fast rpc can help in tests execution runtime. Make sure the rate limit for the rpc is not exceeded. | ||
- Make sure that the account being used to broadcast transactions has enough native balance. The maximum `gasLimit` for a chain should be fetched from an explorer and set it in config file. You may also need to update the `confirmations` required for a transaction to be successfully included in a block in the config [here](https://github.com/axelarnetwork/axelar-contract-deployments/tree/main/axelar-chains-config/info) depending on the network. | ||
- Note that certain tests can require upto 3 accounts. | ||
- Transactions can fail if previous transactions are not mined and picked up by the provide, therefore wait for a transaction to be mined after broadcasting. See the code below for example | ||
```javascript | ||
await testToken.mint(userWallet.address, 1e9).then((tx) => tx.wait(network.config.confirmations)); | ||
// Or | ||
const txExecute = await interchainGovernance.execute( | ||
commandIdGateway, | ||
governanceChain, | ||
governanceAddress, | ||
payload, | ||
getGasOptions(), | ||
); | ||
const receiptExecute = await txExecute.wait(network.config.confirmations); | ||
``` | ||
- The `changeEtherBalance` check expects one tx in a block so change in balances might need to be tested explicitly for unit tests using `changeEtherBalance`. | ||
## Example flows | ||
@@ -96,0 +132,0 @@ |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
937760
156
21369
187
19