@axelar-network/axelar-cgp-solidity
Advanced tools
Comparing version 6.2.0 to 6.2.1
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
"buildInfo": "../../../../../build-info/85aae6b600f19b8f0cd3d65fc3bf5d2e.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
"buildInfo": "../../../../../build-info/85aae6b600f19b8f0cd3d65fc3bf5d2e.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
"buildInfo": "../../../../../build-info/85aae6b600f19b8f0cd3d65fc3bf5d2e.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
"buildInfo": "../../../../../build-info/85aae6b600f19b8f0cd3d65fc3bf5d2e.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
"buildInfo": "../../../../../build-info/85aae6b600f19b8f0cd3d65fc3bf5d2e.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
"buildInfo": "../../../../../build-info/85aae6b600f19b8f0cd3d65fc3bf5d2e.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
"buildInfo": "../../../../../build-info/85aae6b600f19b8f0cd3d65fc3bf5d2e.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
"buildInfo": "../../../../../build-info/85aae6b600f19b8f0cd3d65fc3bf5d2e.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
"buildInfo": "../../../../../build-info/85aae6b600f19b8f0cd3d65fc3bf5d2e.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
"buildInfo": "../../../../../build-info/85aae6b600f19b8f0cd3d65fc3bf5d2e.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
"buildInfo": "../../../../../build-info/85aae6b600f19b8f0cd3d65fc3bf5d2e.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
"buildInfo": "../../../../../build-info/85aae6b600f19b8f0cd3d65fc3bf5d2e.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
"buildInfo": "../../../../../build-info/85aae6b600f19b8f0cd3d65fc3bf5d2e.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
"buildInfo": "../../../../../build-info/85aae6b600f19b8f0cd3d65fc3bf5d2e.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
"buildInfo": "../../../../../build-info/85aae6b600f19b8f0cd3d65fc3bf5d2e.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
"buildInfo": "../../../../../build-info/85aae6b600f19b8f0cd3d65fc3bf5d2e.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
"buildInfo": "../../../../../build-info/85aae6b600f19b8f0cd3d65fc3bf5d2e.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
"buildInfo": "../../../../../build-info/85aae6b600f19b8f0cd3d65fc3bf5d2e.json" | ||
} |
{ | ||
"_format": "hh-sol-dbg-1", | ||
"buildInfo": "../../../../../build-info/f270f42e0d21404125967f5f5eda819f.json" | ||
"buildInfo": "../../../../../build-info/85aae6b600f19b8f0cd3d65fc3bf5d2e.json" | ||
} |
@@ -1375,6 +1375,6 @@ { | ||
], | ||
"bytecode": "0x60c06040523480156200001157600080fd5b5060405162002081380380620020818339810160408190526200003491620000fc565b6001620000418162000058565b50306080526001600160a01b031660a0526200012e565b6001600160a01b0381166200008057604051633649397d60e21b815260040160405180910390fd5b6040516001600160a01b038216907f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390600090a27f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05560007f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d155565b6000602082840312156200010f57600080fd5b81516001600160a01b03811681146200012757600080fd5b9392505050565b60805160a051611f18620001696000396000818161034501528181610560015281816108cb0152610ab401526000610b060152611f186000f3fe6080604052600436106101965760003560e01c8063892b5007116100e1578063c62c20021161008a578063edb6b3a511610064578063edb6b3a514610475578063f2fde38b14610495578063f61ed218146104b5578063fd09e3bd146104c857600080fd5b8063c62c20021461041b578063cd433ada1461042e578063e30c39781461044157600080fd5b8063a3499c73116100bb578063a3499c73146103bb578063ab1999ba146103db578063ba9ddc8d146103fb57600080fd5b8063892b5007146103335780638da5cb5b146103675780639ded06df1461039b57600080fd5b80634d2384891161014357806379ba50971161011d57806379ba5097146102c35780638291286c146102d857806382ad6f351461031357600080fd5b80634d238489146102435780635c60da1b14610256578063710bf322146102a357600080fd5b80632e9b7470116101745780632e9b7470146101f05780632edd2aa814610203578063365047211461022357600080fd5b80630c93e3bb1461019b5780631055eaaf146101b057806317a49f7c146101d0575b600080fd5b6101ae6101a9366004611545565b6104e8565b005b3480156101bc57600080fd5b506101ae6101cb36600461164a565b610555565b3480156101dc57600080fd5b506101ae6101eb366004611770565b61074f565b6101ae6101fe36600461188e565b6107db565b34801561020f57600080fd5b506101ae61021e366004611981565b610851565b34801561022f57600080fd5b506101ae61023e3660046119d7565b6108c0565b6101ae610251366004611a29565b610915565b34801561026257600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102af57600080fd5b506101ae6102be366004611a62565b610960565b3480156102cf57600080fd5b506101ae610a2f565b3480156102e457600080fd5b506040517ffaa2f015f2ce5aee225904728de2def86eb8837491efd21f1a04fc20d8e923f6815260200161029a565b34801561031f57600080fd5b506101ae61032e366004611a86565b610aa9565b34801561033f57600080fd5b506102867f000000000000000000000000000000000000000000000000000000000000000081565b34801561037357600080fd5b507f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c054610286565b3480156103a757600080fd5b506101ae6103b6366004611ac7565b610b04565b3480156103c757600080fd5b506101ae6103d6366004611b09565b610b6b565b3480156103e757600080fd5b506101ae6103f6366004611981565b610e87565b34801561040757600080fd5b506101ae610416366004611b65565b610ed6565b6101ae61042936600461188e565b610f5c565b6101ae61043c366004611a29565b610fbd565b34801561044d57600080fd5b507f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d154610286565b34801561048157600080fd5b506101ae610490366004611770565b610fff565b3480156104a157600080fd5b506101ae6104b0366004611a62565b611060565b6101ae6104c3366004611545565b6110b0565b3480156104d457600080fd5b506101ae6104e3366004611b65565b61110b565b82826040516104f8929190611c3d565b6040518091039020886001600160a01b03167f617332c1832058df6ee45fcbdf471251474c9945a8e5d229287a21a5f67ccf0a89898989348860405161054396959493929190611c76565b60405180910390a35050505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461059d57604051623bb10360e91b815260040160405180910390fd5b6001600160a01b0385166105c45760405163e6c4247b60e01b815260040160405180910390fd5b828181146105e557604051636c2b7e2d60e11b815260040160405180910390fd5b60005b8181101561074657600086868381811061060457610604611cc0565b90506020020160208101906106199190611a62565b9050600085858481811061062f5761062f611cc0565b905060200201359050806000141561065a57604051636c2b7e2d60e11b815260040160405180910390fd5b6001600160a01b03821661068757478111610682576106826001600160a01b038a1682611168565b610731565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038316906370a082319060240160206040518083038186803b1580156106df57600080fd5b505afa1580156106f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107179190611cd6565b8111610731576107316001600160a01b0383168a836111ad565b5050808061073e90611cef565b9150506105e8565b50505050505050565b868660405161075f929190611c3d565b60405180910390208c6001600160a01b03167fda4ed638a7ffe9e814722efdb9ad6058c152c19c8564ceffe52e11dda1ca32238d8d8d8d8b8b8b8b8b6040516107b099989796959493929190611d44565b60405180910390a36107cd6001600160a01b038416333085611256565b505050505050505050505050565b85856040516107eb929190611c3d565b60405180910390208b6001600160a01b03167f8c092067e86e85e8cfbaf187202ef580cdfd7ec37fbec89191607de73ca800058c8c8c8c8a8a8a348b60405161083c99989796959493929190611dcd565b60405180910390a35050505050505050505050565b604080516001600160a01b03808616825260208201859052831691810191909152849086907ff0b09bf969e7958967e0968e22596f647dd6efa09f4778e0393967b881f4b09f906060015b60405180910390a36108b96001600160a01b038416333085611256565b5050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461090857604051623bb10360e91b815260040160405180910390fd5b6108b985858585856112ad565b604080513481526001600160a01b0383166020820152839185917fb26db521e067acd5c6e345ad92fa1ed06bc7fb2aedd68f35dc7a2e10d636fc9891015b60405180910390a3505050565b336109897f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b0316146109b0576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0381166109d757604051633649397d60e21b815260040160405180910390fd5b6040516001600160a01b038216907fd9be0e8e07417e00f2521db636cb53e316fd288f5051f16d2aa2bf0c3938a87690600090a27f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d155565b6000610a597f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d15490565b90506001600160a01b0381163314610a9d576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610aa68161135d565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610af157604051623bb10360e91b815260040160405180910390fd5b610aff6000808585856112ad565b505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316301415610b67576040517fbf10dd3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b33610b947f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610bbb576040516330cd747160e01b815260040160405180910390fd5b306001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610bf457600080fd5b505afa158015610c08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2c9190611cd6565b846001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6557600080fd5b505afa158015610c79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9d9190611cd6565b14610cd4576040517f68155f9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b836001600160a01b03163f8314610d17576040517f8f84fb2400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038516907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28015610e60576000846001600160a01b0316639ded06df60e01b8484604051602401610d78929190611e34565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610de39190611e50565b600060405180830381855af49150503d8060008114610e1e576040519150601f19603f3d011682016040523d82523d6000602084013e610e23565b606091505b5050905080610e5e576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b5050507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b604080516001600160a01b03808616825260208201859052831691810191909152849086907f2275e75614080f9782f72563c2c1688c901c5339c7f9f436d323f9386fed700a9060600161089c565b8484604051610ee6929190611c3d565b60405180910390208a6001600160a01b03167fd171a7eb157e548ca493dd0a16016d125963a369ac5ae3c275ec12c96d5277028b8b8b8b898989604051610f339796959493929190611e6c565b60405180910390a3610f506001600160a01b038416333085611256565b50505050505050505050565b8585604051610f6c929190611c3d565b60405180910390208b6001600160a01b03167f999d431b58761213cf53af96262b67a069cbd963499fd8effd1e21556217b8418c8c8c8c8a8a8a348b60405161083c99989796959493929190611dcd565b604080513481526001600160a01b0383166020820152839185917ffeb6b00343feee0f29a1a4345f8bf93ca1c73ee922248a4237a4e50d6447604e9101610953565b868660405161100f929190611c3d565b60405180910390208c6001600160a01b03167f8875f9764f28fa82d3e7ff1b80bd5c8f665e1f42fcd8c2faebc7c400a4ba1bbd8d8d8d8d8b8b8b8b8b6040516107b099989796959493929190611d44565b336110897f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610a9d576040516330cd747160e01b815260040160405180910390fd5b82826040516110c0929190611c3d565b6040518091039020886001600160a01b03167f5cf48f121a0fecaa2c4a64b3eaf482c8c308d5387e161535970f3e9e4363eff689898989348860405161054396959493929190611c76565b848460405161111b929190611c3d565b60405180910390208a6001600160a01b03167f99206760f0be19dd093729bd35e5924daff5e217bcedc5223ed067b60008cf8a8b8b8b8b898989604051610f339796959493929190611e6c565b600080600080600085875af1905080610aff576040517ff4b3b1bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038316602482015260448101829052610aff9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611400565b6040516001600160a01b03808516602483015283166044820152606481018290526112a79085907f23b872dd00000000000000000000000000000000000000000000000000000000906084016111f2565b50505050565b6001600160a01b0383166112d45760405163e6c4247b60e01b815260040160405180910390fd5b604080516001600160a01b03808616825284166020820152908101829052849086907fd5df103822011013c8c940930e5180419111c65abadd6525ca7e740d56b4703f9060600160405180910390a36001600160a01b038216611349576113446001600160a01b03841682611168565b6108b9565b6108b96001600160a01b03831684836111ad565b6001600160a01b03811661138457604051633649397d60e21b815260040160405180910390fd5b6040516001600160a01b038216907f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390600090a27f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05560007f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d155565b600080836001600160a01b03168360405161141b9190611e50565b6000604051808303816000865af19150503d8060008114611458576040519150601f19603f3d011682016040523d82523d6000602084013e61145d565b606091505b509150915060008280156114895750815115806114895750818060200190518101906114899190611ec0565b90508015806114a057506001600160a01b0385163b155b156108b9576040517f045c4b0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381168114610aa657600080fd5b80356114f7816114d7565b919050565b60008083601f84011261150e57600080fd5b50813567ffffffffffffffff81111561152657600080fd5b60208301915083602082850101111561153e57600080fd5b9250929050565b60008060008060008060008060a0898b03121561156157600080fd5b883561156c816114d7565b9750602089013567ffffffffffffffff8082111561158957600080fd5b6115958c838d016114fc565b909950975060408b01359150808211156115ae57600080fd5b6115ba8c838d016114fc565b909750955060608b01359150808211156115d357600080fd5b506115e08b828c016114fc565b90945092505060808901356115f4816114d7565b809150509295985092959890939650565b60008083601f84011261161757600080fd5b50813567ffffffffffffffff81111561162f57600080fd5b6020830191508360208260051b850101111561153e57600080fd5b60008060008060006060868803121561166257600080fd5b853561166d816114d7565b9450602086013567ffffffffffffffff8082111561168a57600080fd5b61169689838a01611605565b909650945060408801359150808211156116af57600080fd5b506116bc88828901611605565b969995985093965092949392505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126116f457600080fd5b813567ffffffffffffffff8082111561170f5761170f6116cd565b604051601f8301601f19908116603f01168101908282118183101715611737576117376116cd565b8160405283815286602085880101111561175057600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806000806000806000806000806101208d8f03121561179357600080fd5b61179c8d6114ec565b9b5067ffffffffffffffff60208e013511156117b757600080fd5b6117c78e60208f01358f016114fc565b909b50995067ffffffffffffffff60408e013511156117e557600080fd5b6117f58e60408f01358f016114fc565b909950975067ffffffffffffffff60608e0135111561181357600080fd5b6118238e60608f01358f016114fc565b909750955067ffffffffffffffff60808e0135111561184157600080fd5b6118518e60808f01358f016116e3565b945060a08d0135935061186660c08e016114ec565b925060e08d0135915061187c6101008e016114ec565b90509295989b509295989b509295989b565b600080600080600080600080600080600060e08c8e0312156118af57600080fd5b6118b88c6114ec565b9a5067ffffffffffffffff8060208e013511156118d457600080fd5b6118e48e60208f01358f016114fc565b909b50995060408d01358110156118fa57600080fd5b61190a8e60408f01358f016114fc565b909950975060608d013581101561192057600080fd5b6119308e60608f01358f016114fc565b909750955060808d013581101561194657600080fd5b506119578d60808e01358e016114fc565b909450925060a08c0135915061196f60c08d016114ec565b90509295989b509295989b9093969950565b600080600080600060a0868803121561199957600080fd5b853594506020860135935060408601356119b2816114d7565b92506060860135915060808601356119c9816114d7565b809150509295509295909350565b600080600080600060a086880312156119ef57600080fd5b85359450602086013593506040860135611a08816114d7565b92506060860135611a18816114d7565b949793965091946080013592915050565b600080600060608486031215611a3e57600080fd5b83359250602084013591506040840135611a57816114d7565b809150509250925092565b600060208284031215611a7457600080fd5b8135611a7f816114d7565b9392505050565b600080600060608486031215611a9b57600080fd5b8335611aa6816114d7565b92506020840135611ab6816114d7565b929592945050506040919091013590565b60008060208385031215611ada57600080fd5b823567ffffffffffffffff811115611af157600080fd5b611afd858286016114fc565b90969095509350505050565b60008060008060608587031215611b1f57600080fd5b8435611b2a816114d7565b935060208501359250604085013567ffffffffffffffff811115611b4d57600080fd5b611b59878288016114fc565b95989497509550505050565b60008060008060008060008060008060e08b8d031215611b8457600080fd5b8a35611b8f816114d7565b995060208b013567ffffffffffffffff80821115611bac57600080fd5b611bb88e838f016114fc565b909b50995060408d0135915080821115611bd157600080fd5b611bdd8e838f016114fc565b909950975060608d0135915080821115611bf657600080fd5b50611c038d828e016114fc565b90965094505060808b0135611c17816114d7565b925060a08b01359150611c2c60c08c016114ec565b90509295989b9194979a5092959850565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b608081526000611c8a60808301888a611c4d565b8281036020840152611c9d818789611c4d565b9150508360408301526001600160a01b0383166060830152979650505050505050565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611ce857600080fd5b5051919050565b6000600019821415611d1157634e487b7160e01b600052601160045260246000fd5b5060010190565b60005b83811015611d33578181015183820152602001611d1b565b838111156112a75750506000910152565b60e081526000611d5860e083018b8d611c4d565b8281036020840152611d6b818a8c611c4d565b905082810360408401528751808252611d8b816020840160208c01611d18565b60608401979097526001600160a01b03958616608084015260a083019490945250921660c0909201919091526020601f909201601f1916010195945050505050565b60c081526000611de160c083018b8d611c4d565b8281036020840152611df4818a8c611c4d565b90508281036040840152611e0981888a611c4d565b6060840196909652505060808101929092526001600160a01b031660a0909101529695505050505050565b602081526000611e48602083018486611c4d565b949350505050565b60008251611e62818460208701611d18565b9190910192915050565b60a081526000611e8060a08301898b611c4d565b8281036020840152611e9381888a611c4d565b6001600160a01b039687166040850152606084019590955250509216608090920191909152949350505050565b600060208284031215611ed257600080fd5b81518015158114611a7f57600080fdfea2646970667358221220aa05164d0d0793c028c7a7a074c5e056721a544dde47c82fc6310de737fa503764736f6c63430008090033", | ||
"deployedBytecode": "0x6080604052600436106101965760003560e01c8063892b5007116100e1578063c62c20021161008a578063edb6b3a511610064578063edb6b3a514610475578063f2fde38b14610495578063f61ed218146104b5578063fd09e3bd146104c857600080fd5b8063c62c20021461041b578063cd433ada1461042e578063e30c39781461044157600080fd5b8063a3499c73116100bb578063a3499c73146103bb578063ab1999ba146103db578063ba9ddc8d146103fb57600080fd5b8063892b5007146103335780638da5cb5b146103675780639ded06df1461039b57600080fd5b80634d2384891161014357806379ba50971161011d57806379ba5097146102c35780638291286c146102d857806382ad6f351461031357600080fd5b80634d238489146102435780635c60da1b14610256578063710bf322146102a357600080fd5b80632e9b7470116101745780632e9b7470146101f05780632edd2aa814610203578063365047211461022357600080fd5b80630c93e3bb1461019b5780631055eaaf146101b057806317a49f7c146101d0575b600080fd5b6101ae6101a9366004611545565b6104e8565b005b3480156101bc57600080fd5b506101ae6101cb36600461164a565b610555565b3480156101dc57600080fd5b506101ae6101eb366004611770565b61074f565b6101ae6101fe36600461188e565b6107db565b34801561020f57600080fd5b506101ae61021e366004611981565b610851565b34801561022f57600080fd5b506101ae61023e3660046119d7565b6108c0565b6101ae610251366004611a29565b610915565b34801561026257600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102af57600080fd5b506101ae6102be366004611a62565b610960565b3480156102cf57600080fd5b506101ae610a2f565b3480156102e457600080fd5b506040517ffaa2f015f2ce5aee225904728de2def86eb8837491efd21f1a04fc20d8e923f6815260200161029a565b34801561031f57600080fd5b506101ae61032e366004611a86565b610aa9565b34801561033f57600080fd5b506102867f000000000000000000000000000000000000000000000000000000000000000081565b34801561037357600080fd5b507f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c054610286565b3480156103a757600080fd5b506101ae6103b6366004611ac7565b610b04565b3480156103c757600080fd5b506101ae6103d6366004611b09565b610b6b565b3480156103e757600080fd5b506101ae6103f6366004611981565b610e87565b34801561040757600080fd5b506101ae610416366004611b65565b610ed6565b6101ae61042936600461188e565b610f5c565b6101ae61043c366004611a29565b610fbd565b34801561044d57600080fd5b507f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d154610286565b34801561048157600080fd5b506101ae610490366004611770565b610fff565b3480156104a157600080fd5b506101ae6104b0366004611a62565b611060565b6101ae6104c3366004611545565b6110b0565b3480156104d457600080fd5b506101ae6104e3366004611b65565b61110b565b82826040516104f8929190611c3d565b6040518091039020886001600160a01b03167f617332c1832058df6ee45fcbdf471251474c9945a8e5d229287a21a5f67ccf0a89898989348860405161054396959493929190611c76565b60405180910390a35050505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461059d57604051623bb10360e91b815260040160405180910390fd5b6001600160a01b0385166105c45760405163e6c4247b60e01b815260040160405180910390fd5b828181146105e557604051636c2b7e2d60e11b815260040160405180910390fd5b60005b8181101561074657600086868381811061060457610604611cc0565b90506020020160208101906106199190611a62565b9050600085858481811061062f5761062f611cc0565b905060200201359050806000141561065a57604051636c2b7e2d60e11b815260040160405180910390fd5b6001600160a01b03821661068757478111610682576106826001600160a01b038a1682611168565b610731565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038316906370a082319060240160206040518083038186803b1580156106df57600080fd5b505afa1580156106f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107179190611cd6565b8111610731576107316001600160a01b0383168a836111ad565b5050808061073e90611cef565b9150506105e8565b50505050505050565b868660405161075f929190611c3d565b60405180910390208c6001600160a01b03167fda4ed638a7ffe9e814722efdb9ad6058c152c19c8564ceffe52e11dda1ca32238d8d8d8d8b8b8b8b8b6040516107b099989796959493929190611d44565b60405180910390a36107cd6001600160a01b038416333085611256565b505050505050505050505050565b85856040516107eb929190611c3d565b60405180910390208b6001600160a01b03167f8c092067e86e85e8cfbaf187202ef580cdfd7ec37fbec89191607de73ca800058c8c8c8c8a8a8a348b60405161083c99989796959493929190611dcd565b60405180910390a35050505050505050505050565b604080516001600160a01b03808616825260208201859052831691810191909152849086907ff0b09bf969e7958967e0968e22596f647dd6efa09f4778e0393967b881f4b09f906060015b60405180910390a36108b96001600160a01b038416333085611256565b5050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461090857604051623bb10360e91b815260040160405180910390fd5b6108b985858585856112ad565b604080513481526001600160a01b0383166020820152839185917fb26db521e067acd5c6e345ad92fa1ed06bc7fb2aedd68f35dc7a2e10d636fc9891015b60405180910390a3505050565b336109897f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b0316146109b0576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0381166109d757604051633649397d60e21b815260040160405180910390fd5b6040516001600160a01b038216907fd9be0e8e07417e00f2521db636cb53e316fd288f5051f16d2aa2bf0c3938a87690600090a27f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d155565b6000610a597f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d15490565b90506001600160a01b0381163314610a9d576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610aa68161135d565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610af157604051623bb10360e91b815260040160405180910390fd5b610aff6000808585856112ad565b505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316301415610b67576040517fbf10dd3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b33610b947f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610bbb576040516330cd747160e01b815260040160405180910390fd5b306001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610bf457600080fd5b505afa158015610c08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2c9190611cd6565b846001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6557600080fd5b505afa158015610c79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9d9190611cd6565b14610cd4576040517f68155f9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b836001600160a01b03163f8314610d17576040517f8f84fb2400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038516907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28015610e60576000846001600160a01b0316639ded06df60e01b8484604051602401610d78929190611e34565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610de39190611e50565b600060405180830381855af49150503d8060008114610e1e576040519150601f19603f3d011682016040523d82523d6000602084013e610e23565b606091505b5050905080610e5e576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b5050507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b604080516001600160a01b03808616825260208201859052831691810191909152849086907f2275e75614080f9782f72563c2c1688c901c5339c7f9f436d323f9386fed700a9060600161089c565b8484604051610ee6929190611c3d565b60405180910390208a6001600160a01b03167fd171a7eb157e548ca493dd0a16016d125963a369ac5ae3c275ec12c96d5277028b8b8b8b898989604051610f339796959493929190611e6c565b60405180910390a3610f506001600160a01b038416333085611256565b50505050505050505050565b8585604051610f6c929190611c3d565b60405180910390208b6001600160a01b03167f999d431b58761213cf53af96262b67a069cbd963499fd8effd1e21556217b8418c8c8c8c8a8a8a348b60405161083c99989796959493929190611dcd565b604080513481526001600160a01b0383166020820152839185917ffeb6b00343feee0f29a1a4345f8bf93ca1c73ee922248a4237a4e50d6447604e9101610953565b868660405161100f929190611c3d565b60405180910390208c6001600160a01b03167f8875f9764f28fa82d3e7ff1b80bd5c8f665e1f42fcd8c2faebc7c400a4ba1bbd8d8d8d8d8b8b8b8b8b6040516107b099989796959493929190611d44565b336110897f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610a9d576040516330cd747160e01b815260040160405180910390fd5b82826040516110c0929190611c3d565b6040518091039020886001600160a01b03167f5cf48f121a0fecaa2c4a64b3eaf482c8c308d5387e161535970f3e9e4363eff689898989348860405161054396959493929190611c76565b848460405161111b929190611c3d565b60405180910390208a6001600160a01b03167f99206760f0be19dd093729bd35e5924daff5e217bcedc5223ed067b60008cf8a8b8b8b8b898989604051610f339796959493929190611e6c565b600080600080600085875af1905080610aff576040517ff4b3b1bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038316602482015260448101829052610aff9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611400565b6040516001600160a01b03808516602483015283166044820152606481018290526112a79085907f23b872dd00000000000000000000000000000000000000000000000000000000906084016111f2565b50505050565b6001600160a01b0383166112d45760405163e6c4247b60e01b815260040160405180910390fd5b604080516001600160a01b03808616825284166020820152908101829052849086907fd5df103822011013c8c940930e5180419111c65abadd6525ca7e740d56b4703f9060600160405180910390a36001600160a01b038216611349576113446001600160a01b03841682611168565b6108b9565b6108b96001600160a01b03831684836111ad565b6001600160a01b03811661138457604051633649397d60e21b815260040160405180910390fd5b6040516001600160a01b038216907f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390600090a27f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05560007f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d155565b600080836001600160a01b03168360405161141b9190611e50565b6000604051808303816000865af19150503d8060008114611458576040519150601f19603f3d011682016040523d82523d6000602084013e61145d565b606091505b509150915060008280156114895750815115806114895750818060200190518101906114899190611ec0565b90508015806114a057506001600160a01b0385163b155b156108b9576040517f045c4b0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381168114610aa657600080fd5b80356114f7816114d7565b919050565b60008083601f84011261150e57600080fd5b50813567ffffffffffffffff81111561152657600080fd5b60208301915083602082850101111561153e57600080fd5b9250929050565b60008060008060008060008060a0898b03121561156157600080fd5b883561156c816114d7565b9750602089013567ffffffffffffffff8082111561158957600080fd5b6115958c838d016114fc565b909950975060408b01359150808211156115ae57600080fd5b6115ba8c838d016114fc565b909750955060608b01359150808211156115d357600080fd5b506115e08b828c016114fc565b90945092505060808901356115f4816114d7565b809150509295985092959890939650565b60008083601f84011261161757600080fd5b50813567ffffffffffffffff81111561162f57600080fd5b6020830191508360208260051b850101111561153e57600080fd5b60008060008060006060868803121561166257600080fd5b853561166d816114d7565b9450602086013567ffffffffffffffff8082111561168a57600080fd5b61169689838a01611605565b909650945060408801359150808211156116af57600080fd5b506116bc88828901611605565b969995985093965092949392505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126116f457600080fd5b813567ffffffffffffffff8082111561170f5761170f6116cd565b604051601f8301601f19908116603f01168101908282118183101715611737576117376116cd565b8160405283815286602085880101111561175057600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806000806000806000806000806101208d8f03121561179357600080fd5b61179c8d6114ec565b9b5067ffffffffffffffff60208e013511156117b757600080fd5b6117c78e60208f01358f016114fc565b909b50995067ffffffffffffffff60408e013511156117e557600080fd5b6117f58e60408f01358f016114fc565b909950975067ffffffffffffffff60608e0135111561181357600080fd5b6118238e60608f01358f016114fc565b909750955067ffffffffffffffff60808e0135111561184157600080fd5b6118518e60808f01358f016116e3565b945060a08d0135935061186660c08e016114ec565b925060e08d0135915061187c6101008e016114ec565b90509295989b509295989b509295989b565b600080600080600080600080600080600060e08c8e0312156118af57600080fd5b6118b88c6114ec565b9a5067ffffffffffffffff8060208e013511156118d457600080fd5b6118e48e60208f01358f016114fc565b909b50995060408d01358110156118fa57600080fd5b61190a8e60408f01358f016114fc565b909950975060608d013581101561192057600080fd5b6119308e60608f01358f016114fc565b909750955060808d013581101561194657600080fd5b506119578d60808e01358e016114fc565b909450925060a08c0135915061196f60c08d016114ec565b90509295989b509295989b9093969950565b600080600080600060a0868803121561199957600080fd5b853594506020860135935060408601356119b2816114d7565b92506060860135915060808601356119c9816114d7565b809150509295509295909350565b600080600080600060a086880312156119ef57600080fd5b85359450602086013593506040860135611a08816114d7565b92506060860135611a18816114d7565b949793965091946080013592915050565b600080600060608486031215611a3e57600080fd5b83359250602084013591506040840135611a57816114d7565b809150509250925092565b600060208284031215611a7457600080fd5b8135611a7f816114d7565b9392505050565b600080600060608486031215611a9b57600080fd5b8335611aa6816114d7565b92506020840135611ab6816114d7565b929592945050506040919091013590565b60008060208385031215611ada57600080fd5b823567ffffffffffffffff811115611af157600080fd5b611afd858286016114fc565b90969095509350505050565b60008060008060608587031215611b1f57600080fd5b8435611b2a816114d7565b935060208501359250604085013567ffffffffffffffff811115611b4d57600080fd5b611b59878288016114fc565b95989497509550505050565b60008060008060008060008060008060e08b8d031215611b8457600080fd5b8a35611b8f816114d7565b995060208b013567ffffffffffffffff80821115611bac57600080fd5b611bb88e838f016114fc565b909b50995060408d0135915080821115611bd157600080fd5b611bdd8e838f016114fc565b909950975060608d0135915080821115611bf657600080fd5b50611c038d828e016114fc565b90965094505060808b0135611c17816114d7565b925060a08b01359150611c2c60c08c016114ec565b90509295989b9194979a5092959850565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b608081526000611c8a60808301888a611c4d565b8281036020840152611c9d818789611c4d565b9150508360408301526001600160a01b0383166060830152979650505050505050565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611ce857600080fd5b5051919050565b6000600019821415611d1157634e487b7160e01b600052601160045260246000fd5b5060010190565b60005b83811015611d33578181015183820152602001611d1b565b838111156112a75750506000910152565b60e081526000611d5860e083018b8d611c4d565b8281036020840152611d6b818a8c611c4d565b905082810360408401528751808252611d8b816020840160208c01611d18565b60608401979097526001600160a01b03958616608084015260a083019490945250921660c0909201919091526020601f909201601f1916010195945050505050565b60c081526000611de160c083018b8d611c4d565b8281036020840152611df4818a8c611c4d565b90508281036040840152611e0981888a611c4d565b6060840196909652505060808101929092526001600160a01b031660a0909101529695505050505050565b602081526000611e48602083018486611c4d565b949350505050565b60008251611e62818460208701611d18565b9190910192915050565b60a081526000611e8060a08301898b611c4d565b8281036020840152611e9381888a611c4d565b6001600160a01b039687166040850152606084019590955250509216608090920191909152949350505050565b600060208284031215611ed257600080fd5b81518015158114611a7f57600080fdfea2646970667358221220aa05164d0d0793c028c7a7a074c5e056721a544dde47c82fc6310de737fa503764736f6c63430008090033", | ||
"bytecode": "0x60c06040523480156200001157600080fd5b50604051620020a2380380620020a28339810160408190526200003491620000fc565b6001620000418162000058565b50306080526001600160a01b031660a0526200012e565b6001600160a01b0381166200008057604051633649397d60e21b815260040160405180910390fd5b6040516001600160a01b038216907f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390600090a27f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05560007f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d155565b6000602082840312156200010f57600080fd5b81516001600160a01b03811681146200012757600080fd5b9392505050565b60805160a051611f39620001696000396000818161034501528181610560015281816108cb0152610ab401526000610b060152611f396000f3fe6080604052600436106101965760003560e01c8063892b5007116100e1578063c62c20021161008a578063edb6b3a511610064578063edb6b3a514610475578063f2fde38b14610495578063f61ed218146104b5578063fd09e3bd146104c857600080fd5b8063c62c20021461041b578063cd433ada1461042e578063e30c39781461044157600080fd5b8063a3499c73116100bb578063a3499c73146103bb578063ab1999ba146103db578063ba9ddc8d146103fb57600080fd5b8063892b5007146103335780638da5cb5b146103675780639ded06df1461039b57600080fd5b80634d2384891161014357806379ba50971161011d57806379ba5097146102c35780638291286c146102d857806382ad6f351461031357600080fd5b80634d238489146102435780635c60da1b14610256578063710bf322146102a357600080fd5b80632e9b7470116101745780632e9b7470146101f05780632edd2aa814610203578063365047211461022357600080fd5b80630c93e3bb1461019b5780631055eaaf146101b057806317a49f7c146101d0575b600080fd5b6101ae6101a9366004611566565b6104e8565b005b3480156101bc57600080fd5b506101ae6101cb36600461166b565b610555565b3480156101dc57600080fd5b506101ae6101eb366004611791565b61074f565b6101ae6101fe3660046118af565b6107db565b34801561020f57600080fd5b506101ae61021e3660046119a2565b610851565b34801561022f57600080fd5b506101ae61023e3660046119f8565b6108c0565b6101ae610251366004611a4a565b610915565b34801561026257600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102af57600080fd5b506101ae6102be366004611a83565b610960565b3480156102cf57600080fd5b506101ae610a2f565b3480156102e457600080fd5b506040517ffaa2f015f2ce5aee225904728de2def86eb8837491efd21f1a04fc20d8e923f6815260200161029a565b34801561031f57600080fd5b506101ae61032e366004611aa7565b610aa9565b34801561033f57600080fd5b506102867f000000000000000000000000000000000000000000000000000000000000000081565b34801561037357600080fd5b507f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c054610286565b3480156103a757600080fd5b506101ae6103b6366004611ae8565b610b04565b3480156103c757600080fd5b506101ae6103d6366004611b2a565b610b6b565b3480156103e757600080fd5b506101ae6103f63660046119a2565b610ea8565b34801561040757600080fd5b506101ae610416366004611b86565b610ef7565b6101ae6104293660046118af565b610f7d565b6101ae61043c366004611a4a565b610fde565b34801561044d57600080fd5b507f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d154610286565b34801561048157600080fd5b506101ae610490366004611791565b611020565b3480156104a157600080fd5b506101ae6104b0366004611a83565b611081565b6101ae6104c3366004611566565b6110d1565b3480156104d457600080fd5b506101ae6104e3366004611b86565b61112c565b82826040516104f8929190611c5e565b6040518091039020886001600160a01b03167f617332c1832058df6ee45fcbdf471251474c9945a8e5d229287a21a5f67ccf0a89898989348860405161054396959493929190611c97565b60405180910390a35050505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461059d57604051623bb10360e91b815260040160405180910390fd5b6001600160a01b0385166105c45760405163e6c4247b60e01b815260040160405180910390fd5b828181146105e557604051636c2b7e2d60e11b815260040160405180910390fd5b60005b8181101561074657600086868381811061060457610604611ce1565b90506020020160208101906106199190611a83565b9050600085858481811061062f5761062f611ce1565b905060200201359050806000141561065a57604051636c2b7e2d60e11b815260040160405180910390fd5b6001600160a01b03821661068757478111610682576106826001600160a01b038a1682611189565b610731565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038316906370a082319060240160206040518083038186803b1580156106df57600080fd5b505afa1580156106f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107179190611cf7565b8111610731576107316001600160a01b0383168a836111ce565b5050808061073e90611d10565b9150506105e8565b50505050505050565b868660405161075f929190611c5e565b60405180910390208c6001600160a01b03167fda4ed638a7ffe9e814722efdb9ad6058c152c19c8564ceffe52e11dda1ca32238d8d8d8d8b8b8b8b8b6040516107b099989796959493929190611d65565b60405180910390a36107cd6001600160a01b038416333085611277565b505050505050505050505050565b85856040516107eb929190611c5e565b60405180910390208b6001600160a01b03167f8c092067e86e85e8cfbaf187202ef580cdfd7ec37fbec89191607de73ca800058c8c8c8c8a8a8a348b60405161083c99989796959493929190611dee565b60405180910390a35050505050505050505050565b604080516001600160a01b03808616825260208201859052831691810191909152849086907ff0b09bf969e7958967e0968e22596f647dd6efa09f4778e0393967b881f4b09f906060015b60405180910390a36108b96001600160a01b038416333085611277565b5050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461090857604051623bb10360e91b815260040160405180910390fd5b6108b985858585856112ce565b604080513481526001600160a01b0383166020820152839185917fb26db521e067acd5c6e345ad92fa1ed06bc7fb2aedd68f35dc7a2e10d636fc9891015b60405180910390a3505050565b336109897f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b0316146109b0576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0381166109d757604051633649397d60e21b815260040160405180910390fd5b6040516001600160a01b038216907fd9be0e8e07417e00f2521db636cb53e316fd288f5051f16d2aa2bf0c3938a87690600090a27f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d155565b6000610a597f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d15490565b90506001600160a01b0381163314610a9d576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610aa68161137e565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610af157604051623bb10360e91b815260040160405180910390fd5b610aff6000808585856112ce565b505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316301415610b67576040517fbf10dd3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b33610b947f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610bbb576040516330cd747160e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c1557600080fd5b505afa158015610c29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4d9190611cf7565b846001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c8657600080fd5b505afa158015610c9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbe9190611cf7565b14610cf5576040517f68155f9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b836001600160a01b03163f8314610d38576040517f8f84fb2400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038516907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28015610e81576000846001600160a01b0316639ded06df60e01b8484604051602401610d99929190611e55565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610e049190611e71565b600060405180830381855af49150503d8060008114610e3f576040519150601f19603f3d011682016040523d82523d6000602084013e610e44565b606091505b5050905080610e7f576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b5050507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b604080516001600160a01b03808616825260208201859052831691810191909152849086907f2275e75614080f9782f72563c2c1688c901c5339c7f9f436d323f9386fed700a9060600161089c565b8484604051610f07929190611c5e565b60405180910390208a6001600160a01b03167fd171a7eb157e548ca493dd0a16016d125963a369ac5ae3c275ec12c96d5277028b8b8b8b898989604051610f549796959493929190611e8d565b60405180910390a3610f716001600160a01b038416333085611277565b50505050505050505050565b8585604051610f8d929190611c5e565b60405180910390208b6001600160a01b03167f999d431b58761213cf53af96262b67a069cbd963499fd8effd1e21556217b8418c8c8c8c8a8a8a348b60405161083c99989796959493929190611dee565b604080513481526001600160a01b0383166020820152839185917ffeb6b00343feee0f29a1a4345f8bf93ca1c73ee922248a4237a4e50d6447604e9101610953565b8686604051611030929190611c5e565b60405180910390208c6001600160a01b03167f8875f9764f28fa82d3e7ff1b80bd5c8f665e1f42fcd8c2faebc7c400a4ba1bbd8d8d8d8d8b8b8b8b8b6040516107b099989796959493929190611d65565b336110aa7f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610a9d576040516330cd747160e01b815260040160405180910390fd5b82826040516110e1929190611c5e565b6040518091039020886001600160a01b03167f5cf48f121a0fecaa2c4a64b3eaf482c8c308d5387e161535970f3e9e4363eff689898989348860405161054396959493929190611c97565b848460405161113c929190611c5e565b60405180910390208a6001600160a01b03167f99206760f0be19dd093729bd35e5924daff5e217bcedc5223ed067b60008cf8a8b8b8b8b898989604051610f549796959493929190611e8d565b600080600080600085875af1905080610aff576040517ff4b3b1bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038316602482015260448101829052610aff9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611421565b6040516001600160a01b03808516602483015283166044820152606481018290526112c89085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401611213565b50505050565b6001600160a01b0383166112f55760405163e6c4247b60e01b815260040160405180910390fd5b604080516001600160a01b03808616825284166020820152908101829052849086907fd5df103822011013c8c940930e5180419111c65abadd6525ca7e740d56b4703f9060600160405180910390a36001600160a01b03821661136a576113656001600160a01b03841682611189565b6108b9565b6108b96001600160a01b03831684836111ce565b6001600160a01b0381166113a557604051633649397d60e21b815260040160405180910390fd5b6040516001600160a01b038216907f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390600090a27f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05560007f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d155565b600080836001600160a01b03168360405161143c9190611e71565b6000604051808303816000865af19150503d8060008114611479576040519150601f19603f3d011682016040523d82523d6000602084013e61147e565b606091505b509150915060008280156114aa5750815115806114aa5750818060200190518101906114aa9190611ee1565b90508015806114c157506001600160a01b0385163b155b156108b9576040517f045c4b0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381168114610aa657600080fd5b8035611518816114f8565b919050565b60008083601f84011261152f57600080fd5b50813567ffffffffffffffff81111561154757600080fd5b60208301915083602082850101111561155f57600080fd5b9250929050565b60008060008060008060008060a0898b03121561158257600080fd5b883561158d816114f8565b9750602089013567ffffffffffffffff808211156115aa57600080fd5b6115b68c838d0161151d565b909950975060408b01359150808211156115cf57600080fd5b6115db8c838d0161151d565b909750955060608b01359150808211156115f457600080fd5b506116018b828c0161151d565b9094509250506080890135611615816114f8565b809150509295985092959890939650565b60008083601f84011261163857600080fd5b50813567ffffffffffffffff81111561165057600080fd5b6020830191508360208260051b850101111561155f57600080fd5b60008060008060006060868803121561168357600080fd5b853561168e816114f8565b9450602086013567ffffffffffffffff808211156116ab57600080fd5b6116b789838a01611626565b909650945060408801359150808211156116d057600080fd5b506116dd88828901611626565b969995985093965092949392505050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261171557600080fd5b813567ffffffffffffffff80821115611730576117306116ee565b604051601f8301601f19908116603f01168101908282118183101715611758576117586116ee565b8160405283815286602085880101111561177157600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806000806000806000806000806101208d8f0312156117b457600080fd5b6117bd8d61150d565b9b5067ffffffffffffffff60208e013511156117d857600080fd5b6117e88e60208f01358f0161151d565b909b50995067ffffffffffffffff60408e0135111561180657600080fd5b6118168e60408f01358f0161151d565b909950975067ffffffffffffffff60608e0135111561183457600080fd5b6118448e60608f01358f0161151d565b909750955067ffffffffffffffff60808e0135111561186257600080fd5b6118728e60808f01358f01611704565b945060a08d0135935061188760c08e0161150d565b925060e08d0135915061189d6101008e0161150d565b90509295989b509295989b509295989b565b600080600080600080600080600080600060e08c8e0312156118d057600080fd5b6118d98c61150d565b9a5067ffffffffffffffff8060208e013511156118f557600080fd5b6119058e60208f01358f0161151d565b909b50995060408d013581101561191b57600080fd5b61192b8e60408f01358f0161151d565b909950975060608d013581101561194157600080fd5b6119518e60608f01358f0161151d565b909750955060808d013581101561196757600080fd5b506119788d60808e01358e0161151d565b909450925060a08c0135915061199060c08d0161150d565b90509295989b509295989b9093969950565b600080600080600060a086880312156119ba57600080fd5b853594506020860135935060408601356119d3816114f8565b92506060860135915060808601356119ea816114f8565b809150509295509295909350565b600080600080600060a08688031215611a1057600080fd5b85359450602086013593506040860135611a29816114f8565b92506060860135611a39816114f8565b949793965091946080013592915050565b600080600060608486031215611a5f57600080fd5b83359250602084013591506040840135611a78816114f8565b809150509250925092565b600060208284031215611a9557600080fd5b8135611aa0816114f8565b9392505050565b600080600060608486031215611abc57600080fd5b8335611ac7816114f8565b92506020840135611ad7816114f8565b929592945050506040919091013590565b60008060208385031215611afb57600080fd5b823567ffffffffffffffff811115611b1257600080fd5b611b1e8582860161151d565b90969095509350505050565b60008060008060608587031215611b4057600080fd5b8435611b4b816114f8565b935060208501359250604085013567ffffffffffffffff811115611b6e57600080fd5b611b7a8782880161151d565b95989497509550505050565b60008060008060008060008060008060e08b8d031215611ba557600080fd5b8a35611bb0816114f8565b995060208b013567ffffffffffffffff80821115611bcd57600080fd5b611bd98e838f0161151d565b909b50995060408d0135915080821115611bf257600080fd5b611bfe8e838f0161151d565b909950975060608d0135915080821115611c1757600080fd5b50611c248d828e0161151d565b90965094505060808b0135611c38816114f8565b925060a08b01359150611c4d60c08c0161150d565b90509295989b9194979a5092959850565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b608081526000611cab60808301888a611c6e565b8281036020840152611cbe818789611c6e565b9150508360408301526001600160a01b0383166060830152979650505050505050565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611d0957600080fd5b5051919050565b6000600019821415611d3257634e487b7160e01b600052601160045260246000fd5b5060010190565b60005b83811015611d54578181015183820152602001611d3c565b838111156112c85750506000910152565b60e081526000611d7960e083018b8d611c6e565b8281036020840152611d8c818a8c611c6e565b905082810360408401528751808252611dac816020840160208c01611d39565b60608401979097526001600160a01b03958616608084015260a083019490945250921660c0909201919091526020601f909201601f1916010195945050505050565b60c081526000611e0260c083018b8d611c6e565b8281036020840152611e15818a8c611c6e565b90508281036040840152611e2a81888a611c6e565b6060840196909652505060808101929092526001600160a01b031660a0909101529695505050505050565b602081526000611e69602083018486611c6e565b949350505050565b60008251611e83818460208701611d39565b9190910192915050565b60a081526000611ea160a08301898b611c6e565b8281036020840152611eb481888a611c6e565b6001600160a01b039687166040850152606084019590955250509216608090920191909152949350505050565b600060208284031215611ef357600080fd5b81518015158114611aa057600080fdfea26469706673582212205bea4548792d5e969db468efab61606ac6679ee26b5a75ed3cbb7288303b0b4f64736f6c63430008090033", | ||
"deployedBytecode": "0x6080604052600436106101965760003560e01c8063892b5007116100e1578063c62c20021161008a578063edb6b3a511610064578063edb6b3a514610475578063f2fde38b14610495578063f61ed218146104b5578063fd09e3bd146104c857600080fd5b8063c62c20021461041b578063cd433ada1461042e578063e30c39781461044157600080fd5b8063a3499c73116100bb578063a3499c73146103bb578063ab1999ba146103db578063ba9ddc8d146103fb57600080fd5b8063892b5007146103335780638da5cb5b146103675780639ded06df1461039b57600080fd5b80634d2384891161014357806379ba50971161011d57806379ba5097146102c35780638291286c146102d857806382ad6f351461031357600080fd5b80634d238489146102435780635c60da1b14610256578063710bf322146102a357600080fd5b80632e9b7470116101745780632e9b7470146101f05780632edd2aa814610203578063365047211461022357600080fd5b80630c93e3bb1461019b5780631055eaaf146101b057806317a49f7c146101d0575b600080fd5b6101ae6101a9366004611566565b6104e8565b005b3480156101bc57600080fd5b506101ae6101cb36600461166b565b610555565b3480156101dc57600080fd5b506101ae6101eb366004611791565b61074f565b6101ae6101fe3660046118af565b6107db565b34801561020f57600080fd5b506101ae61021e3660046119a2565b610851565b34801561022f57600080fd5b506101ae61023e3660046119f8565b6108c0565b6101ae610251366004611a4a565b610915565b34801561026257600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102af57600080fd5b506101ae6102be366004611a83565b610960565b3480156102cf57600080fd5b506101ae610a2f565b3480156102e457600080fd5b506040517ffaa2f015f2ce5aee225904728de2def86eb8837491efd21f1a04fc20d8e923f6815260200161029a565b34801561031f57600080fd5b506101ae61032e366004611aa7565b610aa9565b34801561033f57600080fd5b506102867f000000000000000000000000000000000000000000000000000000000000000081565b34801561037357600080fd5b507f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c054610286565b3480156103a757600080fd5b506101ae6103b6366004611ae8565b610b04565b3480156103c757600080fd5b506101ae6103d6366004611b2a565b610b6b565b3480156103e757600080fd5b506101ae6103f63660046119a2565b610ea8565b34801561040757600080fd5b506101ae610416366004611b86565b610ef7565b6101ae6104293660046118af565b610f7d565b6101ae61043c366004611a4a565b610fde565b34801561044d57600080fd5b507f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d154610286565b34801561048157600080fd5b506101ae610490366004611791565b611020565b3480156104a157600080fd5b506101ae6104b0366004611a83565b611081565b6101ae6104c3366004611566565b6110d1565b3480156104d457600080fd5b506101ae6104e3366004611b86565b61112c565b82826040516104f8929190611c5e565b6040518091039020886001600160a01b03167f617332c1832058df6ee45fcbdf471251474c9945a8e5d229287a21a5f67ccf0a89898989348860405161054396959493929190611c97565b60405180910390a35050505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461059d57604051623bb10360e91b815260040160405180910390fd5b6001600160a01b0385166105c45760405163e6c4247b60e01b815260040160405180910390fd5b828181146105e557604051636c2b7e2d60e11b815260040160405180910390fd5b60005b8181101561074657600086868381811061060457610604611ce1565b90506020020160208101906106199190611a83565b9050600085858481811061062f5761062f611ce1565b905060200201359050806000141561065a57604051636c2b7e2d60e11b815260040160405180910390fd5b6001600160a01b03821661068757478111610682576106826001600160a01b038a1682611189565b610731565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038316906370a082319060240160206040518083038186803b1580156106df57600080fd5b505afa1580156106f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107179190611cf7565b8111610731576107316001600160a01b0383168a836111ce565b5050808061073e90611d10565b9150506105e8565b50505050505050565b868660405161075f929190611c5e565b60405180910390208c6001600160a01b03167fda4ed638a7ffe9e814722efdb9ad6058c152c19c8564ceffe52e11dda1ca32238d8d8d8d8b8b8b8b8b6040516107b099989796959493929190611d65565b60405180910390a36107cd6001600160a01b038416333085611277565b505050505050505050505050565b85856040516107eb929190611c5e565b60405180910390208b6001600160a01b03167f8c092067e86e85e8cfbaf187202ef580cdfd7ec37fbec89191607de73ca800058c8c8c8c8a8a8a348b60405161083c99989796959493929190611dee565b60405180910390a35050505050505050505050565b604080516001600160a01b03808616825260208201859052831691810191909152849086907ff0b09bf969e7958967e0968e22596f647dd6efa09f4778e0393967b881f4b09f906060015b60405180910390a36108b96001600160a01b038416333085611277565b5050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461090857604051623bb10360e91b815260040160405180910390fd5b6108b985858585856112ce565b604080513481526001600160a01b0383166020820152839185917fb26db521e067acd5c6e345ad92fa1ed06bc7fb2aedd68f35dc7a2e10d636fc9891015b60405180910390a3505050565b336109897f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b0316146109b0576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0381166109d757604051633649397d60e21b815260040160405180910390fd5b6040516001600160a01b038216907fd9be0e8e07417e00f2521db636cb53e316fd288f5051f16d2aa2bf0c3938a87690600090a27f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d155565b6000610a597f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d15490565b90506001600160a01b0381163314610a9d576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610aa68161137e565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610af157604051623bb10360e91b815260040160405180910390fd5b610aff6000808585856112ce565b505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316301415610b67576040517fbf10dd3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b33610b947f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610bbb576040516330cd747160e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c1557600080fd5b505afa158015610c29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4d9190611cf7565b846001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c8657600080fd5b505afa158015610c9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbe9190611cf7565b14610cf5576040517f68155f9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b836001600160a01b03163f8314610d38576040517f8f84fb2400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038516907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28015610e81576000846001600160a01b0316639ded06df60e01b8484604051602401610d99929190611e55565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610e049190611e71565b600060405180830381855af49150503d8060008114610e3f576040519150601f19603f3d011682016040523d82523d6000602084013e610e44565b606091505b5050905080610e7f576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b5050507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b604080516001600160a01b03808616825260208201859052831691810191909152849086907f2275e75614080f9782f72563c2c1688c901c5339c7f9f436d323f9386fed700a9060600161089c565b8484604051610f07929190611c5e565b60405180910390208a6001600160a01b03167fd171a7eb157e548ca493dd0a16016d125963a369ac5ae3c275ec12c96d5277028b8b8b8b898989604051610f549796959493929190611e8d565b60405180910390a3610f716001600160a01b038416333085611277565b50505050505050505050565b8585604051610f8d929190611c5e565b60405180910390208b6001600160a01b03167f999d431b58761213cf53af96262b67a069cbd963499fd8effd1e21556217b8418c8c8c8c8a8a8a348b60405161083c99989796959493929190611dee565b604080513481526001600160a01b0383166020820152839185917ffeb6b00343feee0f29a1a4345f8bf93ca1c73ee922248a4237a4e50d6447604e9101610953565b8686604051611030929190611c5e565b60405180910390208c6001600160a01b03167f8875f9764f28fa82d3e7ff1b80bd5c8f665e1f42fcd8c2faebc7c400a4ba1bbd8d8d8d8d8b8b8b8b8b6040516107b099989796959493929190611d65565b336110aa7f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610a9d576040516330cd747160e01b815260040160405180910390fd5b82826040516110e1929190611c5e565b6040518091039020886001600160a01b03167f5cf48f121a0fecaa2c4a64b3eaf482c8c308d5387e161535970f3e9e4363eff689898989348860405161054396959493929190611c97565b848460405161113c929190611c5e565b60405180910390208a6001600160a01b03167f99206760f0be19dd093729bd35e5924daff5e217bcedc5223ed067b60008cf8a8b8b8b8b898989604051610f549796959493929190611e8d565b600080600080600085875af1905080610aff576040517ff4b3b1bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038316602482015260448101829052610aff9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611421565b6040516001600160a01b03808516602483015283166044820152606481018290526112c89085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401611213565b50505050565b6001600160a01b0383166112f55760405163e6c4247b60e01b815260040160405180910390fd5b604080516001600160a01b03808616825284166020820152908101829052849086907fd5df103822011013c8c940930e5180419111c65abadd6525ca7e740d56b4703f9060600160405180910390a36001600160a01b03821661136a576113656001600160a01b03841682611189565b6108b9565b6108b96001600160a01b03831684836111ce565b6001600160a01b0381166113a557604051633649397d60e21b815260040160405180910390fd5b6040516001600160a01b038216907f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390600090a27f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05560007f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d155565b600080836001600160a01b03168360405161143c9190611e71565b6000604051808303816000865af19150503d8060008114611479576040519150601f19603f3d011682016040523d82523d6000602084013e61147e565b606091505b509150915060008280156114aa5750815115806114aa5750818060200190518101906114aa9190611ee1565b90508015806114c157506001600160a01b0385163b155b156108b9576040517f045c4b0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381168114610aa657600080fd5b8035611518816114f8565b919050565b60008083601f84011261152f57600080fd5b50813567ffffffffffffffff81111561154757600080fd5b60208301915083602082850101111561155f57600080fd5b9250929050565b60008060008060008060008060a0898b03121561158257600080fd5b883561158d816114f8565b9750602089013567ffffffffffffffff808211156115aa57600080fd5b6115b68c838d0161151d565b909950975060408b01359150808211156115cf57600080fd5b6115db8c838d0161151d565b909750955060608b01359150808211156115f457600080fd5b506116018b828c0161151d565b9094509250506080890135611615816114f8565b809150509295985092959890939650565b60008083601f84011261163857600080fd5b50813567ffffffffffffffff81111561165057600080fd5b6020830191508360208260051b850101111561155f57600080fd5b60008060008060006060868803121561168357600080fd5b853561168e816114f8565b9450602086013567ffffffffffffffff808211156116ab57600080fd5b6116b789838a01611626565b909650945060408801359150808211156116d057600080fd5b506116dd88828901611626565b969995985093965092949392505050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261171557600080fd5b813567ffffffffffffffff80821115611730576117306116ee565b604051601f8301601f19908116603f01168101908282118183101715611758576117586116ee565b8160405283815286602085880101111561177157600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806000806000806000806000806101208d8f0312156117b457600080fd5b6117bd8d61150d565b9b5067ffffffffffffffff60208e013511156117d857600080fd5b6117e88e60208f01358f0161151d565b909b50995067ffffffffffffffff60408e0135111561180657600080fd5b6118168e60408f01358f0161151d565b909950975067ffffffffffffffff60608e0135111561183457600080fd5b6118448e60608f01358f0161151d565b909750955067ffffffffffffffff60808e0135111561186257600080fd5b6118728e60808f01358f01611704565b945060a08d0135935061188760c08e0161150d565b925060e08d0135915061189d6101008e0161150d565b90509295989b509295989b509295989b565b600080600080600080600080600080600060e08c8e0312156118d057600080fd5b6118d98c61150d565b9a5067ffffffffffffffff8060208e013511156118f557600080fd5b6119058e60208f01358f0161151d565b909b50995060408d013581101561191b57600080fd5b61192b8e60408f01358f0161151d565b909950975060608d013581101561194157600080fd5b6119518e60608f01358f0161151d565b909750955060808d013581101561196757600080fd5b506119788d60808e01358e0161151d565b909450925060a08c0135915061199060c08d0161150d565b90509295989b509295989b9093969950565b600080600080600060a086880312156119ba57600080fd5b853594506020860135935060408601356119d3816114f8565b92506060860135915060808601356119ea816114f8565b809150509295509295909350565b600080600080600060a08688031215611a1057600080fd5b85359450602086013593506040860135611a29816114f8565b92506060860135611a39816114f8565b949793965091946080013592915050565b600080600060608486031215611a5f57600080fd5b83359250602084013591506040840135611a78816114f8565b809150509250925092565b600060208284031215611a9557600080fd5b8135611aa0816114f8565b9392505050565b600080600060608486031215611abc57600080fd5b8335611ac7816114f8565b92506020840135611ad7816114f8565b929592945050506040919091013590565b60008060208385031215611afb57600080fd5b823567ffffffffffffffff811115611b1257600080fd5b611b1e8582860161151d565b90969095509350505050565b60008060008060608587031215611b4057600080fd5b8435611b4b816114f8565b935060208501359250604085013567ffffffffffffffff811115611b6e57600080fd5b611b7a8782880161151d565b95989497509550505050565b60008060008060008060008060008060e08b8d031215611ba557600080fd5b8a35611bb0816114f8565b995060208b013567ffffffffffffffff80821115611bcd57600080fd5b611bd98e838f0161151d565b909b50995060408d0135915080821115611bf257600080fd5b611bfe8e838f0161151d565b909950975060608d0135915080821115611c1757600080fd5b50611c248d828e0161151d565b90965094505060808b0135611c38816114f8565b925060a08b01359150611c4d60c08c0161150d565b90509295989b9194979a5092959850565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b608081526000611cab60808301888a611c6e565b8281036020840152611cbe818789611c6e565b9150508360408301526001600160a01b0383166060830152979650505050505050565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611d0957600080fd5b5051919050565b6000600019821415611d3257634e487b7160e01b600052601160045260246000fd5b5060010190565b60005b83811015611d54578181015183820152602001611d3c565b838111156112c85750506000910152565b60e081526000611d7960e083018b8d611c6e565b8281036020840152611d8c818a8c611c6e565b905082810360408401528751808252611dac816020840160208c01611d39565b60608401979097526001600160a01b03958616608084015260a083019490945250921660c0909201919091526020601f909201601f1916010195945050505050565b60c081526000611e0260c083018b8d611c6e565b8281036020840152611e15818a8c611c6e565b90508281036040840152611e2a81888a611c6e565b6060840196909652505060808101929092526001600160a01b031660a0909101529695505050505050565b602081526000611e69602083018486611c6e565b949350505050565b60008251611e83818460208701611d39565b9190910192915050565b60a081526000611ea160a08301898b611c6e565b8281036020840152611eb481888a611c6e565b6001600160a01b039687166040850152606084019590955250509216608090920191909152949350505050565b600060208284031215611ef357600080fd5b81518015158114611aa057600080fdfea26469706673582212205bea4548792d5e969db468efab61606ac6679ee26b5a75ed3cbb7288303b0b4f64736f6c63430008090033", | ||
"linkReferences": {}, | ||
"deployedLinkReferences": {} | ||
} |
require('@nomicfoundation/hardhat-toolbox'); | ||
require('solidity-coverage'); | ||
const { importNetworks, readJSON } = require('@axelar-network/axelar-chains-config'); | ||
@@ -9,2 +8,8 @@ if (process.env.STORAGE_LAYOUT) { | ||
if (process.env.CHECK_CONTRACT_SIZE) { | ||
require('hardhat-contract-sizer'); | ||
} | ||
const { importNetworks, readJSON } = require('@axelar-network/axelar-chains-config'); | ||
const env = process.env.ENV || 'testnet'; | ||
@@ -15,2 +20,27 @@ const chains = require(`@axelar-network/axelar-chains-config/info/${env}.json`); | ||
const optimizerSettings = { | ||
enabled: true, | ||
runs: 1000, | ||
details: { | ||
peephole: process.env.COVERAGE === undefined, | ||
inliner: process.env.COVERAGE === undefined, | ||
jumpdestRemover: true, | ||
orderLiterals: true, | ||
deduplicate: true, | ||
cse: process.env.COVERAGE === undefined, | ||
constantOptimizer: true, | ||
yul: true, | ||
yulDetails: { | ||
stackAllocation: true, | ||
}, | ||
}, | ||
}; | ||
const compilerSettings = { | ||
version: '0.8.9', | ||
settings: { | ||
evmVersion: process.env.EVM_VERSION || 'london', | ||
optimizer: optimizerSettings, | ||
}, | ||
}; | ||
/** | ||
@@ -21,22 +51,10 @@ * @type import('hardhat/config').HardhatUserConfig | ||
solidity: { | ||
version: '0.8.9', | ||
settings: { | ||
evmVersion: process.env.EVM_VERSION || 'london', | ||
optimizer: { | ||
enabled: true, | ||
runs: 1000, | ||
details: { | ||
peephole: process.env.COVERAGE === undefined, | ||
inliner: process.env.COVERAGE === undefined, | ||
jumpdestRemover: true, | ||
orderLiterals: true, | ||
deduplicate: true, | ||
cse: process.env.COVERAGE === undefined, | ||
constantOptimizer: true, | ||
yul: true, | ||
yulDetails: { | ||
stackAllocation: true, | ||
}, | ||
}, | ||
}, | ||
compilers: [compilerSettings], | ||
// Fix the Proxy bytecodes | ||
overrides: { | ||
'contracts/AxelarGatewayProxy.sol': compilerSettings, | ||
'contracts/BurnableMintableCappedERC20.sol': compilerSettings, | ||
'contracts/DepositHandler.sol': compilerSettings, | ||
'contracts/gas-service/AxelarGasServiceProxy.sol': compilerSettings, | ||
'contracts/deposit-service/AxelarDepositServiceProxy.sol': compilerSettings, | ||
}, | ||
@@ -53,2 +71,6 @@ }, | ||
}, | ||
contractSizer: { | ||
runOnCompile: process.env.CHECK_CONTRACT_SIZE, | ||
strict: process.env.CHECK_CONTRACT_SIZE, | ||
}, | ||
}; |
{ | ||
"name": "@axelar-network/axelar-cgp-solidity", | ||
"version": "6.2.0", | ||
"version": "6.2.1", | ||
"description": "EVM Smart Contracts for Axelar Network", | ||
@@ -13,3 +13,3 @@ "main": "index.js", | ||
"lint": "solhint 'contracts/**/*.sol' && eslint 'test/**/*.js'", | ||
"prettier": "prettier --write 'contracts/**/*.sol' 'test/**/*.js' 'scripts/**/*.js' '*.js'", | ||
"prettier": "prettier --write 'contracts/**/*.sol' 'scripts/**/*.js' 'test/**/*.js' '*.js' 'package.json' '.solhint.json' '.prettierrc' 'slither.config.json' '.github/**/*.yaml'", | ||
"flatten": "sh scripts/flatten-contracts.sh", | ||
@@ -34,6 +34,6 @@ "coverage": "cross-env COVERAGE=true hardhat coverage", | ||
"dependencies": { | ||
"@axelar-network/axelar-gmp-sdk-solidity": "5.5.2" | ||
"@axelar-network/axelar-gmp-sdk-solidity": "5.6.4" | ||
}, | ||
"devDependencies": { | ||
"@axelar-network/axelar-chains-config": "^0.1.2", | ||
"@axelar-network/axelar-chains-config": "^1.0.0", | ||
"@nomicfoundation/hardhat-toolbox": "^2.0.2", | ||
@@ -47,4 +47,5 @@ "chai": "^4.3.7", | ||
"fs-extra": "^11.1.1", | ||
"hardhat": "^2.17.2", | ||
"hardhat": "^2.19.1", | ||
"hardhat-storage-layout": "^0.1.7", | ||
"hardhat-contract-sizer": "^2.10.0", | ||
"lodash": "^4.17.21", | ||
@@ -51,0 +52,0 @@ "mocha": "^10.2.0", |
Sorry, the diff of this file is too big to display
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
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
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
938709
21388
20
136