@gooddollar/goodprotocol 1.0.0-beta.32 → 1.0.0-beta.42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
- package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
- package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.json +2 -2
- package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
- package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.json +60 -21
- package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
- package/artifacts/contracts/governance/GReputation.sol/GReputation.json +2 -2
- package/artifacts/contracts/governance/GovarnanceStaking.sol/GovernanceStaking.dbg.json +1 -1
- package/artifacts/contracts/governance/GovarnanceStaking.sol/GovernanceStaking.json +2 -2
- package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
- package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
- package/artifacts/contracts/governance/Reputation.sol/Reputation.json +2 -2
- package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
- package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.json +2 -2
- package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.json +2 -2
- package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.json +2 -2
- package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.json +2 -2
- package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.json +2 -2
- package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.json +2 -2
- package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.json +2 -2
- package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.json +2 -2
- package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.json +2 -2
- package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.json +2 -2
- package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.json +6 -6
- package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.json +2 -2
- package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.json +2 -2
- package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.json +2 -2
- package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
- package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.json +2 -2
- package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
- package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.json +2 -2
- package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.json +2 -2
- package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.json +2 -2
- package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.json +2 -2
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +4 -0
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.json +224 -0
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +4 -0
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.json +198 -0
- package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.json +2 -2
- package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.json +2 -2
- package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.json +2 -2
- package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.json +2 -2
- package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.json +2 -2
- package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.json +2 -2
- package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.json +2 -2
- package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.json +2 -2
- package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
- package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.json +2 -2
- package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
- package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.json +2 -2
- package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
- package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
- package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.json +2 -2
- package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
- package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.json +2 -2
- package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.json +2 -2
- package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
- package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.json +2 -2
- package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
- package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.json +2 -2
- package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
- package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.json +3 -3
- package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.json +4 -4
- package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
- package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.json +4 -4
- package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.json +6 -6
- package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
- package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.json +2 -2
- package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
- package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.json +2 -2
- package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
- package/artifacts/contracts/utils/DAOContract.sol/DAOContract.json +2 -2
- package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
- package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.json +2 -2
- package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
- package/artifacts/contracts/utils/DSMath.sol/DSMath.json +2 -2
- package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
- package/artifacts/contracts/utils/DataTypes.sol/DataTypes.json +2 -2
- package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
- package/artifacts/contracts/utils/NameService.sol/NameService.json +2 -2
- package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.json +7 -2
- package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.json +7 -2
- package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +4 -0
- package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.json +95 -0
- package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +4 -0
- package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.json +185 -0
- package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
- package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.json +2 -2
- package/contracts/governance/CompoundVotingMachine.sol +99 -83
- package/contracts/governance/GovarnanceStaking.sol +3 -5
- package/contracts/mocks/UpgradableMocks.sol +31 -0
- package/contracts/utils/DAOUpgradeableContract.sol +1 -1
- package/contracts/utils/ProtocolUpgrade.sol +7 -14
- package/contracts/utils/ProtocolUpgradeFuse.sol +2 -2
- package/contracts/utils/ProxyFactory1967.sol +153 -0
- package/hardhat.config.ts +1 -1
- package/package.json +8 -8
- package/releases/deploy-settings.json +3 -3
- package/releases/deployment.json +1 -1
- package/releases/olddao.json +1 -1
- package/scripts/gdx/gdxAirdropCalculation.ts +11 -10
- package/scripts/governance/airdropCalculation.ts +235 -65
- package/scripts/releaser.js +11 -5
- package/scripts/upgradeToV2/upgradeToV2.ts +353 -228
- package/test/governance/CompoundVotingMachine.daoscheme.ts +124 -10
- package/test/governance/CompoundVotingMachine.guardian.test.ts +38 -7
- package/test/localOldDaoDeploy.ts +24 -24
- package/test/staking/DonationsStaking.test.ts +13 -12
- package/test/utils/ProxyFactory.test.ts +102 -0
- package/tsconfig.json +1 -1
- package/yarn.lock +253 -32
- package/test/simulateInterest.ts +0 -85
package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.json
CHANGED
|
@@ -78,8 +78,8 @@
|
|
|
78
78
|
"type": "function"
|
|
79
79
|
}
|
|
80
80
|
],
|
|
81
|
-
"bytecode": "
|
|
82
|
-
"deployedBytecode": "
|
|
81
|
+
"bytecode": "0x60806040523480156200001157600080fd5b5060405162000c4738038062000c478339818101604052810190620000379190620001c5565b826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505062000221565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620001348262000107565b9050919050565b6000620001488262000127565b9050919050565b6200015a816200013b565b81146200016657600080fd5b50565b6000815190506200017a816200014f565b92915050565b60006200018d8262000127565b9050919050565b6200019f8162000180565b8114620001ab57600080fd5b50565b600081519050620001bf8162000194565b92915050565b600080600060608486031215620001e157620001e062000102565b5b6000620001f18682870162000169565b93505060206200020486828701620001ae565b9250506040620002178682870162000169565b9150509250925092565b610a1680620002316000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80633a4b66f11461005c578063488401a41461006657806372f702f314610070578063ee99205c1461008e578063f7c618c1146100ac575b600080fd5b6100646100ca565b005b61006e6102dd565b005b6100786105c9565b60405161008591906106b8565b60405180910390f35b6100966105ed565b6040516100a391906106f4565b60405180910390f35b6100b4610613565b6040516100c191906106b8565b60405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016101269190610730565b60206040518083038186803b15801561013e57600080fd5b505afa158015610152573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101769190610786565b905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016101f59291906107c2565b602060405180830381600087803b15801561020f57600080fd5b505af1158015610223573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102479190610823565b50600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663561b2463826000806040518463ffffffff1660e01b81526004016102a89392919061089a565b600060405180830381600087803b1580156102c257600080fd5b505af11580156102d6573d6000803e3d6000fd5b5050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c7b8981c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561034757600080fd5b505af115801561035b573d6000803e3d6000fd5b505050506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103bc9190610730565b60206040518083038186803b1580156103d457600080fd5b505afa1580156103e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040c9190610786565b90506000811415610452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161044990610954565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c7b8981c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156104bc57600080fd5b505af11580156104d0573d6000803e3d6000fd5b505050506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016105319190610730565b60206040518083038186803b15801561054957600080fd5b505afa15801561055d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105819190610786565b90508082146105c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105bc906109c0565b60405180910390fd5b5050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061067e61067961067484610639565b610659565b610639565b9050919050565b600061069082610663565b9050919050565b60006106a282610685565b9050919050565b6106b281610697565b82525050565b60006020820190506106cd60008301846106a9565b92915050565b60006106de82610685565b9050919050565b6106ee816106d3565b82525050565b600060208201905061070960008301846106e5565b92915050565b600061071a82610639565b9050919050565b61072a8161070f565b82525050565b60006020820190506107456000830184610721565b92915050565b600080fd5b6000819050919050565b61076381610750565b811461076e57600080fd5b50565b6000815190506107808161075a565b92915050565b60006020828403121561079c5761079b61074b565b5b60006107aa84828501610771565b91505092915050565b6107bc81610750565b82525050565b60006040820190506107d76000830185610721565b6107e460208301846107b3565b9392505050565b60008115159050919050565b610800816107eb565b811461080b57600080fd5b50565b60008151905061081d816107f7565b92915050565b6000602082840312156108395761083861074b565b5b60006108478482850161080e565b91505092915050565b6000819050919050565b600061087561087061086b84610850565b610659565b610750565b9050919050565b6108858161085a565b82525050565b610894816107eb565b82525050565b60006060820190506108af60008301866107b3565b6108bc602083018561087c565b6108c9604083018461088b565b949350505050565b600082825260208201905092915050565b7f52657761726420746f6b656e2062616c616e63652073686f756c64206e6f742060008201527f626520657175616c203000000000000000000000000000000000000000000000602082015250565b600061093e602a836108d1565b9150610949826108e2565b604082019050919050565b6000602082019050818103600083015261096d81610931565b9050919050565b7f49742073686f756c64206e6f74206f7665726d696e7420726577617264730000600082015250565b60006109aa601e836108d1565b91506109b582610974565b602082019050919050565b600060208201905081810360008301526109d98161099d565b905091905056fea26469706673582212207424d9bff36dd160d67de48497393ea3ad665cc23a36e4087f37232d4f31ac2e64736f6c63430008080033",
|
|
82
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80633a4b66f11461005c578063488401a41461006657806372f702f314610070578063ee99205c1461008e578063f7c618c1146100ac575b600080fd5b6100646100ca565b005b61006e6102dd565b005b6100786105c9565b60405161008591906106b8565b60405180910390f35b6100966105ed565b6040516100a391906106f4565b60405180910390f35b6100b4610613565b6040516100c191906106b8565b60405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016101269190610730565b60206040518083038186803b15801561013e57600080fd5b505afa158015610152573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101769190610786565b905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016101f59291906107c2565b602060405180830381600087803b15801561020f57600080fd5b505af1158015610223573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102479190610823565b50600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663561b2463826000806040518463ffffffff1660e01b81526004016102a89392919061089a565b600060405180830381600087803b1580156102c257600080fd5b505af11580156102d6573d6000803e3d6000fd5b5050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c7b8981c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561034757600080fd5b505af115801561035b573d6000803e3d6000fd5b505050506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103bc9190610730565b60206040518083038186803b1580156103d457600080fd5b505afa1580156103e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040c9190610786565b90506000811415610452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161044990610954565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c7b8981c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156104bc57600080fd5b505af11580156104d0573d6000803e3d6000fd5b505050506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016105319190610730565b60206040518083038186803b15801561054957600080fd5b505afa15801561055d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105819190610786565b90508082146105c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105bc906109c0565b60405180910390fd5b5050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061067e61067961067484610639565b610659565b610639565b9050919050565b600061069082610663565b9050919050565b60006106a282610685565b9050919050565b6106b281610697565b82525050565b60006020820190506106cd60008301846106a9565b92915050565b60006106de82610685565b9050919050565b6106ee816106d3565b82525050565b600060208201905061070960008301846106e5565b92915050565b600061071a82610639565b9050919050565b61072a8161070f565b82525050565b60006020820190506107456000830184610721565b92915050565b600080fd5b6000819050919050565b61076381610750565b811461076e57600080fd5b50565b6000815190506107808161075a565b92915050565b60006020828403121561079c5761079b61074b565b5b60006107aa84828501610771565b91505092915050565b6107bc81610750565b82525050565b60006040820190506107d76000830185610721565b6107e460208301846107b3565b9392505050565b60008115159050919050565b610800816107eb565b811461080b57600080fd5b50565b60008151905061081d816107f7565b92915050565b6000602082840312156108395761083861074b565b5b60006108478482850161080e565b91505092915050565b6000819050919050565b600061087561087061086b84610850565b610659565b610750565b9050919050565b6108858161085a565b82525050565b610894816107eb565b82525050565b60006060820190506108af60008301866107b3565b6108bc602083018561087c565b6108c9604083018461088b565b949350505050565b600082825260208201905092915050565b7f52657761726420746f6b656e2062616c616e63652073686f756c64206e6f742060008201527f626520657175616c203000000000000000000000000000000000000000000000602082015250565b600061093e602a836108d1565b9150610949826108e2565b604082019050919050565b6000602082019050818103600083015261096d81610931565b9050919050565b7f49742073686f756c64206e6f74206f7665726d696e7420726577617264730000600082015250565b60006109aa601e836108d1565b91506109b582610974565b602082019050919050565b600060208201905081810360008301526109d98161099d565b905091905056fea26469706673582212207424d9bff36dd160d67de48497393ea3ad665cc23a36e4087f37232d4f31ac2e64736f6c63430008080033",
|
|
83
83
|
"linkReferences": {},
|
|
84
84
|
"deployedLinkReferences": {}
|
|
85
85
|
}
|
package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.json
CHANGED
|
@@ -672,8 +672,8 @@
|
|
|
672
672
|
"type": "function"
|
|
673
673
|
}
|
|
674
674
|
],
|
|
675
|
-
"bytecode": "0x60806040523480156200001157600080fd5b506200008e6040518060400160405280601481526020017f5369787465656e446563696d616c73546f6b656e0000000000000000000000008152506040518060400160405280600381526020017f53445400000000000000000000000000000000000000000000000000000000008152506200009460201b60201c565b62000f2e565b600060019054906101000a900460ff1680620000bb575060008054906101000a900460ff16155b620000fd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000f49062000e47565b60405180910390fd5b60008060019054906101000a900460ff1615905080156200014e576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b6200015e6200020960201b60201c565b6200016e620002e860201b60201c565b6200017e620003c760201b60201c565b6200018e620004a660201b60201c565b620001a083836200058560201b60201c565b620001b06200069860201b60201c565b620001c06200077760201b60201c565b620001d06200087260201b60201c565b620001e283836200095160201b60201c565b8015620002045760008060016101000a81548160ff0219169083151502179055505b505050565b600060019054906101000a900460ff168062000230575060008054906101000a900460ff16155b62000272576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002699062000e47565b60405180910390fd5b60008060019054906101000a900460ff161590508015620002c3576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b8015620002e55760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff16806200030f575060008054906101000a900460ff16155b62000351576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003489062000e47565b60405180910390fd5b60008060019054906101000a900460ff161590508015620003a2576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b8015620003c45760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff1680620003ee575060008054906101000a900460ff16155b62000430576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004279062000e47565b60405180910390fd5b60008060019054906101000a900460ff16159050801562000481576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b8015620004a35760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff1680620004cd575060008054906101000a900460ff16155b6200050f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005069062000e47565b60405180910390fd5b60008060019054906101000a900460ff16159050801562000560576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b8015620005825760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff1680620005ac575060008054906101000a900460ff16155b620005ee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005e59062000e47565b60405180910390fd5b60008060019054906101000a900460ff1615905080156200063f576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b8260cc90805190602001906200065792919062000d70565b508160cd90805190602001906200067092919062000d70565b508015620006935760008060016101000a81548160ff0219169083151502179055505b505050565b600060019054906101000a900460ff1680620006bf575060008054906101000a900460ff16155b62000701576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006f89062000e47565b60405180910390fd5b60008060019054906101000a900460ff16159050801562000752576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b8015620007745760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff16806200079e575060008054906101000a900460ff16155b620007e0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007d79062000e47565b60405180910390fd5b60008060019054906101000a900460ff16159050801562000831576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b600061012d60006101000a81548160ff02191690831515021790555080156200086f5760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff168062000899575060008054906101000a900460ff16155b620008db576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008d29062000e47565b60405180910390fd5b60008060019054906101000a900460ff1615905080156200092c576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b80156200094e5760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff168062000978575060008054906101000a900460ff16155b620009ba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009b19062000e47565b60405180910390fd5b60008060019054906101000a900460ff16159050801562000a0b576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b62000a2f6000801b62000a2362000ad860201b60201c565b62000ae060201b60201c565b62000a707f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a662000a6462000ad860201b60201c565b62000ae060201b60201c565b62000ab17f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a62000aa562000ad860201b60201c565b62000ae060201b60201c565b801562000ad35760008060016101000a81548160ff0219169083151502179055505b505050565b600033905090565b62000af7828262000b2860201b62000f7f1760201c565b62000b23816097600085815260200190815260200160002062000b3e60201b62000f8d1790919060201c565b505050565b62000b3a828262000b7660201b60201c565b5050565b600062000b6e836000018373ffffffffffffffffffffffffffffffffffffffff1660001b62000c6860201b60201c565b905092915050565b62000b88828262000ce260201b60201c565b62000c645760016065600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000c0962000ad860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600062000c7c838362000d4d60201b60201c565b62000cd757826000018290806001815401808255809150506001900390600052602060002001600090919091909150558260000180549050836001016000848152602001908152602001600020819055506001905062000cdc565b600090505b92915050565b60006065600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600080836001016000848152602001908152602001600020541415905092915050565b82805462000d7e9062000e7a565b90600052602060002090601f01602090048101928262000da2576000855562000dee565b82601f1062000dbd57805160ff191683800117855562000dee565b8280016001018555821562000dee579182015b8281111562000ded57825182559160200191906001019062000dd0565b5b50905062000dfd919062000e01565b5090565b5b8082111562000e1c57600081600090555060010162000e02565b5090565b600062000e2f602e8362000e69565b915062000e3c8262000edf565b604082019050919050565b6000602082019050818103600083015262000e628162000e20565b9050919050565b600082825260208201905092915050565b6000600282049050600182168062000e9357607f821691505b6020821081141562000eaa5762000ea962000eb0565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b61414d8062000f3e6000396000f3fe608060405234801561001057600080fd5b506004361061015f5760003560e01c806301ffc9a71461016457806306fdde0314610194578063095ea7b3146101b257806318160ddd146101e257806323b872dd14610200578063248a9ca3146102305780632f2ff15d14610260578063313ce5671461027c57806336568abe1461029a57806339509351146102b65780633f4ba83a146102e657806340c10f19146102f057806342966c681461030c5780634cd88b76146103285780635c975abb1461034457806370a082311461036257806379cc6790146103925780638456cb59146103ae5780639010d07c146103b857806391d14854146103e857806395d89b4114610418578063a217fddf14610436578063a457c2d714610454578063a9059cbb14610484578063ca15c873146104b4578063d5391393146104e4578063d547741f14610502578063dd62ed3e1461051e578063e63ab1e91461054e575b600080fd5b61017e60048036038101906101799190612fa4565b61056c565b60405161018b919061346e565b60405180910390f35b61019c6105e6565b6040516101a991906134a4565b60405180910390f35b6101cc60048036038101906101c79190612ec7565b610678565b6040516101d9919061346e565b60405180910390f35b6101ea610696565b6040516101f79190613746565b60405180910390f35b61021a60048036038101906102159190612e78565b6106a0565b604051610227919061346e565b60405180910390f35b61024a60048036038101906102459190612f03565b610798565b6040516102579190613489565b60405180910390f35b61027a60048036038101906102759190612f2c565b6107b8565b005b6102846107ec565b6040516102919190613761565b60405180910390f35b6102b460048036038101906102af9190612f2c565b6107f5565b005b6102d060048036038101906102cb9190612ec7565b610829565b6040516102dd919061346e565b60405180910390f35b6102ee6108d5565b005b61030a60048036038101906103059190612ec7565b61094f565b005b61032660048036038101906103219190613039565b6109cd565b005b610342600480360381019061033d9190612fcd565b6109e1565b005b61034c610ac6565b604051610359919061346e565b60405180910390f35b61037c60048036038101906103779190612e13565b610ade565b6040516103899190613746565b60405180910390f35b6103ac60048036038101906103a79190612ec7565b610b27565b005b6103b6610ba2565b005b6103d260048036038101906103cd9190612f68565b610c1c565b6040516103df9190613453565b60405180910390f35b61040260048036038101906103fd9190612f2c565b610c4b565b60405161040f919061346e565b60405180910390f35b610420610cb6565b60405161042d91906134a4565b60405180910390f35b61043e610d48565b60405161044b9190613489565b60405180910390f35b61046e60048036038101906104699190612ec7565b610d4f565b60405161047b919061346e565b60405180910390f35b61049e60048036038101906104999190612ec7565b610e3a565b6040516104ab919061346e565b60405180910390f35b6104ce60048036038101906104c99190612f03565b610e58565b6040516104db9190613746565b60405180910390f35b6104ec610e7c565b6040516104f99190613489565b60405180910390f35b61051c60048036038101906105179190612f2c565b610ea0565b005b61053860048036038101906105339190612e3c565b610ed4565b6040516105459190613746565b60405180910390f35b610556610f5b565b6040516105639190613489565b60405180910390f35b60007f5a05180f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806105df57506105de82610fbd565b5b9050919050565b606060cc80546105f5906139d4565b80601f0160208091040260200160405190810160405280929190818152602001828054610621906139d4565b801561066e5780601f106106435761010080835404028352916020019161066e565b820191906000526020600020905b81548152906001019060200180831161065157829003601f168201915b5050505050905090565b600061068c610685611037565b848461103f565b6001905092915050565b600060cb54905090565b60006106ad84848461120a565b600060ca60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106f8611037565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610778576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076f906135e6565b60405180910390fd5b61078c85610784611037565b85840361103f565b60019150509392505050565b600060656000838152602001908152602001600020600101549050919050565b6107c2828261148e565b6107e78160976000858152602001908152602001600020610f8d90919063ffffffff16565b505050565b60006010905090565b6107ff82826114b7565b610824816097600085815260200190815260200160002061153a90919063ffffffff16565b505050565b60006108cb610836611037565b848460ca6000610844611037565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108c691906137f9565b61103f565b6001905092915050565b6109067f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610901611037565b610c4b565b610945576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093c90613546565b60405180910390fd5b61094d61156a565b565b6109807f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a661097b611037565b610c4b565b6109bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b690613606565b60405180910390fd5b6109c9828261160d565b5050565b6109de6109d8611037565b8261176e565b50565b600060019054906101000a900460ff1680610a07575060008054906101000a900460ff16155b610a46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3d906135c6565b60405180910390fd5b60008060019054906101000a900460ff161590508015610a96576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b610aa08383611947565b8015610ac15760008060016101000a81548160ff0219169083151502179055505b505050565b600061012d60009054906101000a900460ff16905090565b600060c960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000610b3a83610b35611037565b610ed4565b905081811015610b7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7690613626565b60405180910390fd5b610b9383610b8b611037565b84840361103f565b610b9d838361176e565b505050565b610bd37f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610bce611037565b610c4b565b610c12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c09906136a6565b60405180910390fd5b610c1a611a6e565b565b6000610c438260976000868152602001908152602001600020611b1290919063ffffffff16565b905092915050565b60006065600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b606060cd8054610cc5906139d4565b80601f0160208091040260200160405190810160405280929190818152602001828054610cf1906139d4565b8015610d3e5780601f10610d1357610100808354040283529160200191610d3e565b820191906000526020600020905b815481529060010190602001808311610d2157829003601f168201915b5050505050905090565b6000801b81565b60008060ca6000610d5e611037565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610e1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e12906136c6565b60405180910390fd5b610e2f610e26611037565b8585840361103f565b600191505092915050565b6000610e4e610e47611037565b848461120a565b6001905092915050565b6000610e7560976000848152602001908152602001600020611b2c565b9050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b610eaa8282611b41565b610ecf816097600085815260200190815260200160002061153a90919063ffffffff16565b505050565b600060ca60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b610f898282611b6a565b5050565b6000610fb5836000018373ffffffffffffffffffffffffffffffffffffffff1660001b611c4b565b905092915050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611030575061102f82611cbb565b5b9050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a690613686565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561111f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111690613566565b60405180910390fd5b8060ca60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111fd9190613746565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561127a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127190613666565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e1906134e6565b60405180910390fd5b6112f5838383611d25565b600060c960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561137c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137390613586565b60405180910390fd5b81810360c960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160c960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461141191906137f9565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114759190613746565b60405180910390a3611488848484611d35565b50505050565b61149782610798565b6114a8816114a3611037565b611d3a565b6114b28383611b6a565b505050565b6114bf611037565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461152c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611523906136e6565b60405180910390fd5b6115368282611dd7565b5050565b6000611562836000018373ffffffffffffffffffffffffffffffffffffffff1660001b611eb9565b905092915050565b611572610ac6565b6115b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a890613506565b60405180910390fd5b600061012d60006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6115f6611037565b6040516116039190613453565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561167d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167490613706565b60405180910390fd5b61168960008383611d25565b8060cb600082825461169b91906137f9565b925050819055508060c960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116f191906137f9565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117569190613746565b60405180910390a361176a60008383611d35565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d590613646565b60405180910390fd5b6117ea82600083611d25565b600060c960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611871576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186890613526565b60405180910390fd5b81810360c960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160cb60008282546118c991906138a9565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161192e9190613746565b60405180910390a361194283600084611d35565b505050565b600060019054906101000a900460ff168061196d575060008054906101000a900460ff16155b6119ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a3906135c6565b60405180910390fd5b60008060019054906101000a900460ff1615905080156119fc576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b611a0461203f565b611a0c612118565b611a146121f1565b611a1c6122ca565b611a2683836123a3565b611a2e6124ac565b611a36612585565b611a3e61267a565b611a488383612753565b8015611a695760008060016101000a81548160ff0219169083151502179055505b505050565b611a76610ac6565b15611ab6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aad906135a6565b60405180910390fd5b600161012d60006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611afb611037565b604051611b089190613453565b60405180910390a1565b6000611b2183600001836128a4565b60001c905092915050565b6000611b3a826000016128f5565b9050919050565b611b4a82610798565b611b5b81611b56611037565b611d3a565b611b658383611dd7565b505050565b611b748282610c4b565b611c475760016065600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611bec611037565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000611c578383612906565b611cb0578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050611cb5565b600090505b92915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611d30838383612929565b505050565b505050565b611d448282610c4b565b611dd357611d698173ffffffffffffffffffffffffffffffffffffffff166014612981565b611d778360001c6020612981565b604051602001611d88929190613419565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dca91906134a4565b60405180910390fd5b5050565b611de18282610c4b565b15611eb55760006065600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611e5a611037565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b60008083600101600084815260200190815260200160002054905060008114612033576000600182611eeb91906138a9565b9050600060018660000180549050611f0391906138a9565b9050818114611fbe576000866000018281548110611f4a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200154905080876000018481548110611f94577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b85600001805480611ff8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050612039565b60009150505b92915050565b600060019054906101000a900460ff1680612065575060008054906101000a900460ff16155b6120a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209b906135c6565b60405180910390fd5b60008060019054906101000a900460ff1615905080156120f4576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b80156121155760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff168061213e575060008054906101000a900460ff16155b61217d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612174906135c6565b60405180910390fd5b60008060019054906101000a900460ff1615905080156121cd576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b80156121ee5760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff1680612217575060008054906101000a900460ff16155b612256576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224d906135c6565b60405180910390fd5b60008060019054906101000a900460ff1615905080156122a6576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b80156122c75760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff16806122f0575060008054906101000a900460ff16155b61232f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612326906135c6565b60405180910390fd5b60008060019054906101000a900460ff16159050801561237f576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b80156123a05760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff16806123c9575060008054906101000a900460ff16155b612408576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ff906135c6565b60405180910390fd5b60008060019054906101000a900460ff161590508015612458576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b8260cc908051906020019061246e929190612cb4565b508160cd9080519060200190612485929190612cb4565b5080156124a75760008060016101000a81548160ff0219169083151502179055505b505050565b600060019054906101000a900460ff16806124d2575060008054906101000a900460ff16155b612511576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612508906135c6565b60405180910390fd5b60008060019054906101000a900460ff161590508015612561576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b80156125825760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff16806125ab575060008054906101000a900460ff16155b6125ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e1906135c6565b60405180910390fd5b60008060019054906101000a900460ff16159050801561263a576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b600061012d60006101000a81548160ff02191690831515021790555080156126775760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff16806126a0575060008054906101000a900460ff16155b6126df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126d6906135c6565b60405180910390fd5b60008060019054906101000a900460ff16159050801561272f576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b80156127505760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff1680612779575060008054906101000a900460ff16155b6127b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127af906135c6565b60405180910390fd5b60008060019054906101000a900460ff161590508015612808576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b61281c6000801b612817611037565b612c7b565b61284d7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6612848611037565b612c7b565b61287e7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a612879611037565b612c7b565b801561289f5760008060016101000a81548160ff0219169083151502179055505b505050565b60008260000182815481106128e2577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200154905092915050565b600081600001805490509050919050565b600080836001016000848152602001908152602001600020541415905092915050565b612934838383612caf565b61293c610ac6565b1561297c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161297390613726565b60405180910390fd5b505050565b606060006002836002612994919061384f565b61299e91906137f9565b67ffffffffffffffff8111156129dd577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015612a0f5781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110612a6d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110612af7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002612b37919061384f565b612b4191906137f9565b90505b6001811115612c2d577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110612ba9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b1a60f81b828281518110612be6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080612c26906139aa565b9050612b44565b5060008414612c71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c68906134c6565b60405180910390fd5b8091505092915050565b612c858282610f7f565b612caa8160976000858152602001908152602001600020610f8d90919063ffffffff16565b505050565b505050565b828054612cc0906139d4565b90600052602060002090601f016020900481019282612ce25760008555612d29565b82601f10612cfb57805160ff1916838001178555612d29565b82800160010185558215612d29579182015b82811115612d28578251825591602001919060010190612d0d565b5b509050612d369190612d3a565b5090565b5b80821115612d53576000816000905550600101612d3b565b5090565b6000612d6a612d65846137a1565b61377c565b905082815260208101848484011115612d8257600080fd5b612d8d848285613968565b509392505050565b600081359050612da4816140bb565b92915050565b600081359050612db9816140d2565b92915050565b600081359050612dce816140e9565b92915050565b600082601f830112612de557600080fd5b8135612df5848260208601612d57565b91505092915050565b600081359050612e0d81614100565b92915050565b600060208284031215612e2557600080fd5b6000612e3384828501612d95565b91505092915050565b60008060408385031215612e4f57600080fd5b6000612e5d85828601612d95565b9250506020612e6e85828601612d95565b9150509250929050565b600080600060608486031215612e8d57600080fd5b6000612e9b86828701612d95565b9350506020612eac86828701612d95565b9250506040612ebd86828701612dfe565b9150509250925092565b60008060408385031215612eda57600080fd5b6000612ee885828601612d95565b9250506020612ef985828601612dfe565b9150509250929050565b600060208284031215612f1557600080fd5b6000612f2384828501612daa565b91505092915050565b60008060408385031215612f3f57600080fd5b6000612f4d85828601612daa565b9250506020612f5e85828601612d95565b9150509250929050565b60008060408385031215612f7b57600080fd5b6000612f8985828601612daa565b9250506020612f9a85828601612dfe565b9150509250929050565b600060208284031215612fb657600080fd5b6000612fc484828501612dbf565b91505092915050565b60008060408385031215612fe057600080fd5b600083013567ffffffffffffffff811115612ffa57600080fd5b61300685828601612dd4565b925050602083013567ffffffffffffffff81111561302357600080fd5b61302f85828601612dd4565b9150509250929050565b60006020828403121561304b57600080fd5b600061305984828501612dfe565b91505092915050565b61306b816138dd565b82525050565b61307a816138ef565b82525050565b613089816138fb565b82525050565b600061309a826137d2565b6130a481856137dd565b93506130b4818560208601613977565b6130bd81613ac4565b840191505092915050565b60006130d3826137d2565b6130dd81856137ee565b93506130ed818560208601613977565b80840191505092915050565b60006131066020836137dd565b915061311182613ad5565b602082019050919050565b60006131296023836137dd565b915061313482613afe565b604082019050919050565b600061314c6014836137dd565b915061315782613b4d565b602082019050919050565b600061316f6022836137dd565b915061317a82613b76565b604082019050919050565b60006131926039836137dd565b915061319d82613bc5565b604082019050919050565b60006131b56022836137dd565b91506131c082613c14565b604082019050919050565b60006131d86026836137dd565b91506131e382613c63565b604082019050919050565b60006131fb6010836137dd565b915061320682613cb2565b602082019050919050565b600061321e602e836137dd565b915061322982613cdb565b604082019050919050565b60006132416028836137dd565b915061324c82613d2a565b604082019050919050565b60006132646036836137dd565b915061326f82613d79565b604082019050919050565b60006132876024836137dd565b915061329282613dc8565b604082019050919050565b60006132aa6021836137dd565b91506132b582613e17565b604082019050919050565b60006132cd6025836137dd565b91506132d882613e66565b604082019050919050565b60006132f06024836137dd565b91506132fb82613eb5565b604082019050919050565b60006133136037836137dd565b915061331e82613f04565b604082019050919050565b60006133366017836137ee565b915061334182613f53565b601782019050919050565b60006133596025836137dd565b915061336482613f7c565b604082019050919050565b600061337c6011836137ee565b915061338782613fcb565b601182019050919050565b600061339f602f836137dd565b91506133aa82613ff4565b604082019050919050565b60006133c2601f836137dd565b91506133cd82614043565b602082019050919050565b60006133e5602a836137dd565b91506133f08261406c565b604082019050919050565b61340481613951565b82525050565b6134138161395b565b82525050565b600061342482613329565b915061343082856130c8565b915061343b8261336f565b915061344782846130c8565b91508190509392505050565b60006020820190506134686000830184613062565b92915050565b60006020820190506134836000830184613071565b92915050565b600060208201905061349e6000830184613080565b92915050565b600060208201905081810360008301526134be818461308f565b905092915050565b600060208201905081810360008301526134df816130f9565b9050919050565b600060208201905081810360008301526134ff8161311c565b9050919050565b6000602082019050818103600083015261351f8161313f565b9050919050565b6000602082019050818103600083015261353f81613162565b9050919050565b6000602082019050818103600083015261355f81613185565b9050919050565b6000602082019050818103600083015261357f816131a8565b9050919050565b6000602082019050818103600083015261359f816131cb565b9050919050565b600060208201905081810360008301526135bf816131ee565b9050919050565b600060208201905081810360008301526135df81613211565b9050919050565b600060208201905081810360008301526135ff81613234565b9050919050565b6000602082019050818103600083015261361f81613257565b9050919050565b6000602082019050818103600083015261363f8161327a565b9050919050565b6000602082019050818103600083015261365f8161329d565b9050919050565b6000602082019050818103600083015261367f816132c0565b9050919050565b6000602082019050818103600083015261369f816132e3565b9050919050565b600060208201905081810360008301526136bf81613306565b9050919050565b600060208201905081810360008301526136df8161334c565b9050919050565b600060208201905081810360008301526136ff81613392565b9050919050565b6000602082019050818103600083015261371f816133b5565b9050919050565b6000602082019050818103600083015261373f816133d8565b9050919050565b600060208201905061375b60008301846133fb565b92915050565b6000602082019050613776600083018461340a565b92915050565b6000613786613797565b90506137928282613a06565b919050565b6000604051905090565b600067ffffffffffffffff8211156137bc576137bb613a95565b5b6137c582613ac4565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600061380482613951565b915061380f83613951565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561384457613843613a37565b5b828201905092915050565b600061385a82613951565b915061386583613951565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561389e5761389d613a37565b5b828202905092915050565b60006138b482613951565b91506138bf83613951565b9250828210156138d2576138d1613a37565b5b828203905092915050565b60006138e882613931565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b8381101561399557808201518184015260208101905061397a565b838111156139a4576000848401525b50505050565b60006139b582613951565b915060008214156139c9576139c8613a37565b5b600182039050919050565b600060028204905060018216806139ec57607f821691505b60208210811415613a00576139ff613a66565b5b50919050565b613a0f82613ac4565b810181811067ffffffffffffffff82111715613a2e57613a2d613a95565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332305072657365744d696e7465725061757365723a206d75737420686160008201527f76652070617573657220726f6c6520746f20756e706175736500000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332305072657365744d696e7465725061757365723a206d75737420686160008201527f7665206d696e74657220726f6c6520746f206d696e7400000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f7760008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332305072657365744d696e7465725061757365723a206d75737420686160008201527f76652070617573657220726f6c6520746f207061757365000000000000000000602082015250565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b7f45524332305061757361626c653a20746f6b656e207472616e7366657220776860008201527f696c652070617573656400000000000000000000000000000000000000000000602082015250565b6140c4816138dd565b81146140cf57600080fd5b50565b6140db816138fb565b81146140e657600080fd5b50565b6140f281613905565b81146140fd57600080fd5b50565b61410981613951565b811461411457600080fd5b5056fea2646970667358221220707897681fb5117fc74d797ff73dfaa8819fcd783940ef1cea477026a6c85c3864736f6c63430008030033",
|
|
676
|
-
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061015f5760003560e01c806301ffc9a71461016457806306fdde0314610194578063095ea7b3146101b257806318160ddd146101e257806323b872dd14610200578063248a9ca3146102305780632f2ff15d14610260578063313ce5671461027c57806336568abe1461029a57806339509351146102b65780633f4ba83a146102e657806340c10f19146102f057806342966c681461030c5780634cd88b76146103285780635c975abb1461034457806370a082311461036257806379cc6790146103925780638456cb59146103ae5780639010d07c146103b857806391d14854146103e857806395d89b4114610418578063a217fddf14610436578063a457c2d714610454578063a9059cbb14610484578063ca15c873146104b4578063d5391393146104e4578063d547741f14610502578063dd62ed3e1461051e578063e63ab1e91461054e575b600080fd5b61017e60048036038101906101799190612fa4565b61056c565b60405161018b919061346e565b60405180910390f35b61019c6105e6565b6040516101a991906134a4565b60405180910390f35b6101cc60048036038101906101c79190612ec7565b610678565b6040516101d9919061346e565b60405180910390f35b6101ea610696565b6040516101f79190613746565b60405180910390f35b61021a60048036038101906102159190612e78565b6106a0565b604051610227919061346e565b60405180910390f35b61024a60048036038101906102459190612f03565b610798565b6040516102579190613489565b60405180910390f35b61027a60048036038101906102759190612f2c565b6107b8565b005b6102846107ec565b6040516102919190613761565b60405180910390f35b6102b460048036038101906102af9190612f2c565b6107f5565b005b6102d060048036038101906102cb9190612ec7565b610829565b6040516102dd919061346e565b60405180910390f35b6102ee6108d5565b005b61030a60048036038101906103059190612ec7565b61094f565b005b61032660048036038101906103219190613039565b6109cd565b005b610342600480360381019061033d9190612fcd565b6109e1565b005b61034c610ac6565b604051610359919061346e565b60405180910390f35b61037c60048036038101906103779190612e13565b610ade565b6040516103899190613746565b60405180910390f35b6103ac60048036038101906103a79190612ec7565b610b27565b005b6103b6610ba2565b005b6103d260048036038101906103cd9190612f68565b610c1c565b6040516103df9190613453565b60405180910390f35b61040260048036038101906103fd9190612f2c565b610c4b565b60405161040f919061346e565b60405180910390f35b610420610cb6565b60405161042d91906134a4565b60405180910390f35b61043e610d48565b60405161044b9190613489565b60405180910390f35b61046e60048036038101906104699190612ec7565b610d4f565b60405161047b919061346e565b60405180910390f35b61049e60048036038101906104999190612ec7565b610e3a565b6040516104ab919061346e565b60405180910390f35b6104ce60048036038101906104c99190612f03565b610e58565b6040516104db9190613746565b60405180910390f35b6104ec610e7c565b6040516104f99190613489565b60405180910390f35b61051c60048036038101906105179190612f2c565b610ea0565b005b61053860048036038101906105339190612e3c565b610ed4565b6040516105459190613746565b60405180910390f35b610556610f5b565b6040516105639190613489565b60405180910390f35b60007f5a05180f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806105df57506105de82610fbd565b5b9050919050565b606060cc80546105f5906139d4565b80601f0160208091040260200160405190810160405280929190818152602001828054610621906139d4565b801561066e5780601f106106435761010080835404028352916020019161066e565b820191906000526020600020905b81548152906001019060200180831161065157829003601f168201915b5050505050905090565b600061068c610685611037565b848461103f565b6001905092915050565b600060cb54905090565b60006106ad84848461120a565b600060ca60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106f8611037565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610778576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076f906135e6565b60405180910390fd5b61078c85610784611037565b85840361103f565b60019150509392505050565b600060656000838152602001908152602001600020600101549050919050565b6107c2828261148e565b6107e78160976000858152602001908152602001600020610f8d90919063ffffffff16565b505050565b60006010905090565b6107ff82826114b7565b610824816097600085815260200190815260200160002061153a90919063ffffffff16565b505050565b60006108cb610836611037565b848460ca6000610844611037565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108c691906137f9565b61103f565b6001905092915050565b6109067f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610901611037565b610c4b565b610945576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093c90613546565b60405180910390fd5b61094d61156a565b565b6109807f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a661097b611037565b610c4b565b6109bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b690613606565b60405180910390fd5b6109c9828261160d565b5050565b6109de6109d8611037565b8261176e565b50565b600060019054906101000a900460ff1680610a07575060008054906101000a900460ff16155b610a46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3d906135c6565b60405180910390fd5b60008060019054906101000a900460ff161590508015610a96576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b610aa08383611947565b8015610ac15760008060016101000a81548160ff0219169083151502179055505b505050565b600061012d60009054906101000a900460ff16905090565b600060c960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000610b3a83610b35611037565b610ed4565b905081811015610b7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7690613626565b60405180910390fd5b610b9383610b8b611037565b84840361103f565b610b9d838361176e565b505050565b610bd37f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610bce611037565b610c4b565b610c12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c09906136a6565b60405180910390fd5b610c1a611a6e565b565b6000610c438260976000868152602001908152602001600020611b1290919063ffffffff16565b905092915050565b60006065600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b606060cd8054610cc5906139d4565b80601f0160208091040260200160405190810160405280929190818152602001828054610cf1906139d4565b8015610d3e5780601f10610d1357610100808354040283529160200191610d3e565b820191906000526020600020905b815481529060010190602001808311610d2157829003601f168201915b5050505050905090565b6000801b81565b60008060ca6000610d5e611037565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610e1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e12906136c6565b60405180910390fd5b610e2f610e26611037565b8585840361103f565b600191505092915050565b6000610e4e610e47611037565b848461120a565b6001905092915050565b6000610e7560976000848152602001908152602001600020611b2c565b9050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b610eaa8282611b41565b610ecf816097600085815260200190815260200160002061153a90919063ffffffff16565b505050565b600060ca60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b610f898282611b6a565b5050565b6000610fb5836000018373ffffffffffffffffffffffffffffffffffffffff1660001b611c4b565b905092915050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611030575061102f82611cbb565b5b9050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a690613686565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561111f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111690613566565b60405180910390fd5b8060ca60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111fd9190613746565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561127a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127190613666565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e1906134e6565b60405180910390fd5b6112f5838383611d25565b600060c960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561137c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137390613586565b60405180910390fd5b81810360c960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160c960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461141191906137f9565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114759190613746565b60405180910390a3611488848484611d35565b50505050565b61149782610798565b6114a8816114a3611037565b611d3a565b6114b28383611b6a565b505050565b6114bf611037565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461152c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611523906136e6565b60405180910390fd5b6115368282611dd7565b5050565b6000611562836000018373ffffffffffffffffffffffffffffffffffffffff1660001b611eb9565b905092915050565b611572610ac6565b6115b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a890613506565b60405180910390fd5b600061012d60006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6115f6611037565b6040516116039190613453565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561167d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167490613706565b60405180910390fd5b61168960008383611d25565b8060cb600082825461169b91906137f9565b925050819055508060c960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116f191906137f9565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117569190613746565b60405180910390a361176a60008383611d35565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d590613646565b60405180910390fd5b6117ea82600083611d25565b600060c960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611871576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186890613526565b60405180910390fd5b81810360c960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160cb60008282546118c991906138a9565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161192e9190613746565b60405180910390a361194283600084611d35565b505050565b600060019054906101000a900460ff168061196d575060008054906101000a900460ff16155b6119ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a3906135c6565b60405180910390fd5b60008060019054906101000a900460ff1615905080156119fc576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b611a0461203f565b611a0c612118565b611a146121f1565b611a1c6122ca565b611a2683836123a3565b611a2e6124ac565b611a36612585565b611a3e61267a565b611a488383612753565b8015611a695760008060016101000a81548160ff0219169083151502179055505b505050565b611a76610ac6565b15611ab6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aad906135a6565b60405180910390fd5b600161012d60006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611afb611037565b604051611b089190613453565b60405180910390a1565b6000611b2183600001836128a4565b60001c905092915050565b6000611b3a826000016128f5565b9050919050565b611b4a82610798565b611b5b81611b56611037565b611d3a565b611b658383611dd7565b505050565b611b748282610c4b565b611c475760016065600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611bec611037565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000611c578383612906565b611cb0578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050611cb5565b600090505b92915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611d30838383612929565b505050565b505050565b611d448282610c4b565b611dd357611d698173ffffffffffffffffffffffffffffffffffffffff166014612981565b611d778360001c6020612981565b604051602001611d88929190613419565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dca91906134a4565b60405180910390fd5b5050565b611de18282610c4b565b15611eb55760006065600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611e5a611037565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b60008083600101600084815260200190815260200160002054905060008114612033576000600182611eeb91906138a9565b9050600060018660000180549050611f0391906138a9565b9050818114611fbe576000866000018281548110611f4a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200154905080876000018481548110611f94577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b85600001805480611ff8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050612039565b60009150505b92915050565b600060019054906101000a900460ff1680612065575060008054906101000a900460ff16155b6120a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209b906135c6565b60405180910390fd5b60008060019054906101000a900460ff1615905080156120f4576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b80156121155760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff168061213e575060008054906101000a900460ff16155b61217d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612174906135c6565b60405180910390fd5b60008060019054906101000a900460ff1615905080156121cd576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b80156121ee5760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff1680612217575060008054906101000a900460ff16155b612256576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224d906135c6565b60405180910390fd5b60008060019054906101000a900460ff1615905080156122a6576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b80156122c75760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff16806122f0575060008054906101000a900460ff16155b61232f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612326906135c6565b60405180910390fd5b60008060019054906101000a900460ff16159050801561237f576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b80156123a05760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff16806123c9575060008054906101000a900460ff16155b612408576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ff906135c6565b60405180910390fd5b60008060019054906101000a900460ff161590508015612458576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b8260cc908051906020019061246e929190612cb4565b508160cd9080519060200190612485929190612cb4565b5080156124a75760008060016101000a81548160ff0219169083151502179055505b505050565b600060019054906101000a900460ff16806124d2575060008054906101000a900460ff16155b612511576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612508906135c6565b60405180910390fd5b60008060019054906101000a900460ff161590508015612561576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b80156125825760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff16806125ab575060008054906101000a900460ff16155b6125ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e1906135c6565b60405180910390fd5b60008060019054906101000a900460ff16159050801561263a576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b600061012d60006101000a81548160ff02191690831515021790555080156126775760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff16806126a0575060008054906101000a900460ff16155b6126df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126d6906135c6565b60405180910390fd5b60008060019054906101000a900460ff16159050801561272f576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b80156127505760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff1680612779575060008054906101000a900460ff16155b6127b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127af906135c6565b60405180910390fd5b60008060019054906101000a900460ff161590508015612808576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b61281c6000801b612817611037565b612c7b565b61284d7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6612848611037565b612c7b565b61287e7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a612879611037565b612c7b565b801561289f5760008060016101000a81548160ff0219169083151502179055505b505050565b60008260000182815481106128e2577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200154905092915050565b600081600001805490509050919050565b600080836001016000848152602001908152602001600020541415905092915050565b612934838383612caf565b61293c610ac6565b1561297c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161297390613726565b60405180910390fd5b505050565b606060006002836002612994919061384f565b61299e91906137f9565b67ffffffffffffffff8111156129dd577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015612a0f5781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110612a6d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110612af7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002612b37919061384f565b612b4191906137f9565b90505b6001811115612c2d577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110612ba9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b1a60f81b828281518110612be6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080612c26906139aa565b9050612b44565b5060008414612c71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c68906134c6565b60405180910390fd5b8091505092915050565b612c858282610f7f565b612caa8160976000858152602001908152602001600020610f8d90919063ffffffff16565b505050565b505050565b828054612cc0906139d4565b90600052602060002090601f016020900481019282612ce25760008555612d29565b82601f10612cfb57805160ff1916838001178555612d29565b82800160010185558215612d29579182015b82811115612d28578251825591602001919060010190612d0d565b5b509050612d369190612d3a565b5090565b5b80821115612d53576000816000905550600101612d3b565b5090565b6000612d6a612d65846137a1565b61377c565b905082815260208101848484011115612d8257600080fd5b612d8d848285613968565b509392505050565b600081359050612da4816140bb565b92915050565b600081359050612db9816140d2565b92915050565b600081359050612dce816140e9565b92915050565b600082601f830112612de557600080fd5b8135612df5848260208601612d57565b91505092915050565b600081359050612e0d81614100565b92915050565b600060208284031215612e2557600080fd5b6000612e3384828501612d95565b91505092915050565b60008060408385031215612e4f57600080fd5b6000612e5d85828601612d95565b9250506020612e6e85828601612d95565b9150509250929050565b600080600060608486031215612e8d57600080fd5b6000612e9b86828701612d95565b9350506020612eac86828701612d95565b9250506040612ebd86828701612dfe565b9150509250925092565b60008060408385031215612eda57600080fd5b6000612ee885828601612d95565b9250506020612ef985828601612dfe565b9150509250929050565b600060208284031215612f1557600080fd5b6000612f2384828501612daa565b91505092915050565b60008060408385031215612f3f57600080fd5b6000612f4d85828601612daa565b9250506020612f5e85828601612d95565b9150509250929050565b60008060408385031215612f7b57600080fd5b6000612f8985828601612daa565b9250506020612f9a85828601612dfe565b9150509250929050565b600060208284031215612fb657600080fd5b6000612fc484828501612dbf565b91505092915050565b60008060408385031215612fe057600080fd5b600083013567ffffffffffffffff811115612ffa57600080fd5b61300685828601612dd4565b925050602083013567ffffffffffffffff81111561302357600080fd5b61302f85828601612dd4565b9150509250929050565b60006020828403121561304b57600080fd5b600061305984828501612dfe565b91505092915050565b61306b816138dd565b82525050565b61307a816138ef565b82525050565b613089816138fb565b82525050565b600061309a826137d2565b6130a481856137dd565b93506130b4818560208601613977565b6130bd81613ac4565b840191505092915050565b60006130d3826137d2565b6130dd81856137ee565b93506130ed818560208601613977565b80840191505092915050565b60006131066020836137dd565b915061311182613ad5565b602082019050919050565b60006131296023836137dd565b915061313482613afe565b604082019050919050565b600061314c6014836137dd565b915061315782613b4d565b602082019050919050565b600061316f6022836137dd565b915061317a82613b76565b604082019050919050565b60006131926039836137dd565b915061319d82613bc5565b604082019050919050565b60006131b56022836137dd565b91506131c082613c14565b604082019050919050565b60006131d86026836137dd565b91506131e382613c63565b604082019050919050565b60006131fb6010836137dd565b915061320682613cb2565b602082019050919050565b600061321e602e836137dd565b915061322982613cdb565b604082019050919050565b60006132416028836137dd565b915061324c82613d2a565b604082019050919050565b60006132646036836137dd565b915061326f82613d79565b604082019050919050565b60006132876024836137dd565b915061329282613dc8565b604082019050919050565b60006132aa6021836137dd565b91506132b582613e17565b604082019050919050565b60006132cd6025836137dd565b91506132d882613e66565b604082019050919050565b60006132f06024836137dd565b91506132fb82613eb5565b604082019050919050565b60006133136037836137dd565b915061331e82613f04565b604082019050919050565b60006133366017836137ee565b915061334182613f53565b601782019050919050565b60006133596025836137dd565b915061336482613f7c565b604082019050919050565b600061337c6011836137ee565b915061338782613fcb565b601182019050919050565b600061339f602f836137dd565b91506133aa82613ff4565b604082019050919050565b60006133c2601f836137dd565b91506133cd82614043565b602082019050919050565b60006133e5602a836137dd565b91506133f08261406c565b604082019050919050565b61340481613951565b82525050565b6134138161395b565b82525050565b600061342482613329565b915061343082856130c8565b915061343b8261336f565b915061344782846130c8565b91508190509392505050565b60006020820190506134686000830184613062565b92915050565b60006020820190506134836000830184613071565b92915050565b600060208201905061349e6000830184613080565b92915050565b600060208201905081810360008301526134be818461308f565b905092915050565b600060208201905081810360008301526134df816130f9565b9050919050565b600060208201905081810360008301526134ff8161311c565b9050919050565b6000602082019050818103600083015261351f8161313f565b9050919050565b6000602082019050818103600083015261353f81613162565b9050919050565b6000602082019050818103600083015261355f81613185565b9050919050565b6000602082019050818103600083015261357f816131a8565b9050919050565b6000602082019050818103600083015261359f816131cb565b9050919050565b600060208201905081810360008301526135bf816131ee565b9050919050565b600060208201905081810360008301526135df81613211565b9050919050565b600060208201905081810360008301526135ff81613234565b9050919050565b6000602082019050818103600083015261361f81613257565b9050919050565b6000602082019050818103600083015261363f8161327a565b9050919050565b6000602082019050818103600083015261365f8161329d565b9050919050565b6000602082019050818103600083015261367f816132c0565b9050919050565b6000602082019050818103600083015261369f816132e3565b9050919050565b600060208201905081810360008301526136bf81613306565b9050919050565b600060208201905081810360008301526136df8161334c565b9050919050565b600060208201905081810360008301526136ff81613392565b9050919050565b6000602082019050818103600083015261371f816133b5565b9050919050565b6000602082019050818103600083015261373f816133d8565b9050919050565b600060208201905061375b60008301846133fb565b92915050565b6000602082019050613776600083018461340a565b92915050565b6000613786613797565b90506137928282613a06565b919050565b6000604051905090565b600067ffffffffffffffff8211156137bc576137bb613a95565b5b6137c582613ac4565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600061380482613951565b915061380f83613951565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561384457613843613a37565b5b828201905092915050565b600061385a82613951565b915061386583613951565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561389e5761389d613a37565b5b828202905092915050565b60006138b482613951565b91506138bf83613951565b9250828210156138d2576138d1613a37565b5b828203905092915050565b60006138e882613931565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b8381101561399557808201518184015260208101905061397a565b838111156139a4576000848401525b50505050565b60006139b582613951565b915060008214156139c9576139c8613a37565b5b600182039050919050565b600060028204905060018216806139ec57607f821691505b60208210811415613a00576139ff613a66565b5b50919050565b613a0f82613ac4565b810181811067ffffffffffffffff82111715613a2e57613a2d613a95565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332305072657365744d696e7465725061757365723a206d75737420686160008201527f76652070617573657220726f6c6520746f20756e706175736500000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332305072657365744d696e7465725061757365723a206d75737420686160008201527f7665206d696e74657220726f6c6520746f206d696e7400000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f7760008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332305072657365744d696e7465725061757365723a206d75737420686160008201527f76652070617573657220726f6c6520746f207061757365000000000000000000602082015250565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b7f45524332305061757361626c653a20746f6b656e207472616e7366657220776860008201527f696c652070617573656400000000000000000000000000000000000000000000602082015250565b6140c4816138dd565b81146140cf57600080fd5b50565b6140db816138fb565b81146140e657600080fd5b50565b6140f281613905565b81146140fd57600080fd5b50565b61410981613951565b811461411457600080fd5b5056fea2646970667358221220707897681fb5117fc74d797ff73dfaa8819fcd783940ef1cea477026a6c85c3864736f6c63430008030033",
|
|
675
|
+
"bytecode": "0x60806040523480156200001157600080fd5b506200008e6040518060400160405280601481526020017f5369787465656e446563696d616c73546f6b656e0000000000000000000000008152506040518060400160405280600381526020017f53445400000000000000000000000000000000000000000000000000000000008152506200009460201b60201c565b62000f2e565b600060019054906101000a900460ff1680620000bb575060008054906101000a900460ff16155b620000fd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000f49062000ea7565b60405180910390fd5b60008060019054906101000a900460ff1615905080156200014e576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b6200015e6200020960201b60201c565b6200016e620002e860201b60201c565b6200017e620003c760201b60201c565b6200018e620004a660201b60201c565b620001a083836200058560201b60201c565b620001b06200069860201b60201c565b620001c06200077760201b60201c565b620001d06200087260201b60201c565b620001e283836200095160201b60201c565b8015620002045760008060016101000a81548160ff0219169083151502179055505b505050565b600060019054906101000a900460ff168062000230575060008054906101000a900460ff16155b62000272576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002699062000ea7565b60405180910390fd5b60008060019054906101000a900460ff161590508015620002c3576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b8015620002e55760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff16806200030f575060008054906101000a900460ff16155b62000351576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003489062000ea7565b60405180910390fd5b60008060019054906101000a900460ff161590508015620003a2576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b8015620003c45760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff1680620003ee575060008054906101000a900460ff16155b62000430576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004279062000ea7565b60405180910390fd5b60008060019054906101000a900460ff16159050801562000481576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b8015620004a35760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff1680620004cd575060008054906101000a900460ff16155b6200050f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005069062000ea7565b60405180910390fd5b60008060019054906101000a900460ff16159050801562000560576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b8015620005825760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff1680620005ac575060008054906101000a900460ff16155b620005ee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005e59062000ea7565b60405180910390fd5b60008060019054906101000a900460ff1615905080156200063f576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b8260cc90805190602001906200065792919062000d70565b508160cd90805190602001906200067092919062000d70565b508015620006935760008060016101000a81548160ff0219169083151502179055505b505050565b600060019054906101000a900460ff1680620006bf575060008054906101000a900460ff16155b62000701576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006f89062000ea7565b60405180910390fd5b60008060019054906101000a900460ff16159050801562000752576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b8015620007745760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff16806200079e575060008054906101000a900460ff16155b620007e0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007d79062000ea7565b60405180910390fd5b60008060019054906101000a900460ff16159050801562000831576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b600061012d60006101000a81548160ff02191690831515021790555080156200086f5760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff168062000899575060008054906101000a900460ff16155b620008db576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008d29062000ea7565b60405180910390fd5b60008060019054906101000a900460ff1615905080156200092c576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b80156200094e5760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff168062000978575060008054906101000a900460ff16155b620009ba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009b19062000ea7565b60405180910390fd5b60008060019054906101000a900460ff16159050801562000a0b576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b62000a2f6000801b62000a2362000ad860201b60201c565b62000ae060201b60201c565b62000a707f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a662000a6462000ad860201b60201c565b62000ae060201b60201c565b62000ab17f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a62000aa562000ad860201b60201c565b62000ae060201b60201c565b801562000ad35760008060016101000a81548160ff0219169083151502179055505b505050565b600033905090565b62000af7828262000b2860201b62000f7f1760201c565b62000b23816097600085815260200190815260200160002062000b3e60201b62000f8d1790919060201c565b505050565b62000b3a828262000b7660201b60201c565b5050565b600062000b6e836000018373ffffffffffffffffffffffffffffffffffffffff1660001b62000c6860201b60201c565b905092915050565b62000b88828262000ce260201b60201c565b62000c645760016065600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000c0962000ad860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600062000c7c838362000d4d60201b60201c565b62000cd757826000018290806001815401808255809150506001900390600052602060002001600090919091909150558260000180549050836001016000848152602001908152602001600020819055506001905062000cdc565b600090505b92915050565b60006065600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600080836001016000848152602001908152602001600020541415905092915050565b82805462000d7e9062000ef8565b90600052602060002090601f01602090048101928262000da2576000855562000dee565b82601f1062000dbd57805160ff191683800117855562000dee565b8280016001018555821562000dee579182015b8281111562000ded57825182559160200191906001019062000dd0565b5b50905062000dfd919062000e01565b5090565b5b8082111562000e1c57600081600090555060010162000e02565b5090565b600082825260208201905092915050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b600062000e8f602e8362000e20565b915062000e9c8262000e31565b604082019050919050565b6000602082019050818103600083015262000ec28162000e80565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000f1157607f821691505b6020821081141562000f285762000f2762000ec9565b5b50919050565b6140a18062000f3e6000396000f3fe608060405234801561001057600080fd5b506004361061015f5760003560e01c806301ffc9a71461016457806306fdde0314610194578063095ea7b3146101b257806318160ddd146101e257806323b872dd14610200578063248a9ca3146102305780632f2ff15d14610260578063313ce5671461027c57806336568abe1461029a57806339509351146102b65780633f4ba83a146102e657806340c10f19146102f057806342966c681461030c5780634cd88b76146103285780635c975abb1461034457806370a082311461036257806379cc6790146103925780638456cb59146103ae5780639010d07c146103b857806391d14854146103e857806395d89b4114610418578063a217fddf14610436578063a457c2d714610454578063a9059cbb14610484578063ca15c873146104b4578063d5391393146104e4578063d547741f14610502578063dd62ed3e1461051e578063e63ab1e91461054e575b600080fd5b61017e60048036038101906101799190612c6d565b61056c565b60405161018b9190612cb5565b60405180910390f35b61019c6105e6565b6040516101a99190612d69565b60405180910390f35b6101cc60048036038101906101c79190612e1f565b610678565b6040516101d99190612cb5565b60405180910390f35b6101ea610696565b6040516101f79190612e6e565b60405180910390f35b61021a60048036038101906102159190612e89565b6106a0565b6040516102279190612cb5565b60405180910390f35b61024a60048036038101906102459190612f12565b610798565b6040516102579190612f4e565b60405180910390f35b61027a60048036038101906102759190612f69565b6107b8565b005b6102846107ec565b6040516102919190612fc5565b60405180910390f35b6102b460048036038101906102af9190612f69565b6107f5565b005b6102d060048036038101906102cb9190612e1f565b610829565b6040516102dd9190612cb5565b60405180910390f35b6102ee6108d5565b005b61030a60048036038101906103059190612e1f565b61094f565b005b61032660048036038101906103219190612fe0565b6109cd565b005b610342600480360381019061033d9190613142565b6109e1565b005b61034c610ac6565b6040516103599190612cb5565b60405180910390f35b61037c600480360381019061037791906131ba565b610ade565b6040516103899190612e6e565b60405180910390f35b6103ac60048036038101906103a79190612e1f565b610b27565b005b6103b6610ba2565b005b6103d260048036038101906103cd91906131e7565b610c1c565b6040516103df9190613236565b60405180910390f35b61040260048036038101906103fd9190612f69565b610c4b565b60405161040f9190612cb5565b60405180910390f35b610420610cb6565b60405161042d9190612d69565b60405180910390f35b61043e610d48565b60405161044b9190612f4e565b60405180910390f35b61046e60048036038101906104699190612e1f565b610d4f565b60405161047b9190612cb5565b60405180910390f35b61049e60048036038101906104999190612e1f565b610e3a565b6040516104ab9190612cb5565b60405180910390f35b6104ce60048036038101906104c99190612f12565b610e58565b6040516104db9190612e6e565b60405180910390f35b6104ec610e7c565b6040516104f99190612f4e565b60405180910390f35b61051c60048036038101906105179190612f69565b610ea0565b005b61053860048036038101906105339190613251565b610ed4565b6040516105459190612e6e565b60405180910390f35b610556610f5b565b6040516105639190612f4e565b60405180910390f35b60007f5a05180f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806105df57506105de82610fbd565b5b9050919050565b606060cc80546105f5906132c0565b80601f0160208091040260200160405190810160405280929190818152602001828054610621906132c0565b801561066e5780601f106106435761010080835404028352916020019161066e565b820191906000526020600020905b81548152906001019060200180831161065157829003601f168201915b5050505050905090565b600061068c610685611037565b848461103f565b6001905092915050565b600060cb54905090565b60006106ad84848461120a565b600060ca60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106f8611037565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610778576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076f90613364565b60405180910390fd5b61078c85610784611037565b85840361103f565b60019150509392505050565b600060656000838152602001908152602001600020600101549050919050565b6107c2828261148e565b6107e78160976000858152602001908152602001600020610f8d90919063ffffffff16565b505050565b60006010905090565b6107ff82826114b7565b610824816097600085815260200190815260200160002061153a90919063ffffffff16565b505050565b60006108cb610836611037565b848460ca6000610844611037565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108c691906133b3565b61103f565b6001905092915050565b6109067f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610901611037565b610c4b565b610945576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093c9061347b565b60405180910390fd5b61094d61156a565b565b6109807f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a661097b611037565b610c4b565b6109bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b69061350d565b60405180910390fd5b6109c9828261160d565b5050565b6109de6109d8611037565b8261176e565b50565b600060019054906101000a900460ff1680610a07575060008054906101000a900460ff16155b610a46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3d9061359f565b60405180910390fd5b60008060019054906101000a900460ff161590508015610a96576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b610aa08383611947565b8015610ac15760008060016101000a81548160ff0219169083151502179055505b505050565b600061012d60009054906101000a900460ff16905090565b600060c960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000610b3a83610b35611037565b610ed4565b905081811015610b7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7690613631565b60405180910390fd5b610b9383610b8b611037565b84840361103f565b610b9d838361176e565b505050565b610bd37f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610bce611037565b610c4b565b610c12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c09906136c3565b60405180910390fd5b610c1a611a6e565b565b6000610c438260976000868152602001908152602001600020611b1290919063ffffffff16565b905092915050565b60006065600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b606060cd8054610cc5906132c0565b80601f0160208091040260200160405190810160405280929190818152602001828054610cf1906132c0565b8015610d3e5780601f10610d1357610100808354040283529160200191610d3e565b820191906000526020600020905b815481529060010190602001808311610d2157829003601f168201915b5050505050905090565b6000801b81565b60008060ca6000610d5e611037565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610e1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1290613755565b60405180910390fd5b610e2f610e26611037565b8585840361103f565b600191505092915050565b6000610e4e610e47611037565b848461120a565b6001905092915050565b6000610e7560976000848152602001908152602001600020611b2c565b9050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b610eaa8282611b41565b610ecf816097600085815260200190815260200160002061153a90919063ffffffff16565b505050565b600060ca60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b610f898282611b6a565b5050565b6000610fb5836000018373ffffffffffffffffffffffffffffffffffffffff1660001b611c4b565b905092915050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611030575061102f82611cbb565b5b9050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a6906137e7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561111f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111690613879565b60405180910390fd5b8060ca60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111fd9190612e6e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561127a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112719061390b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e19061399d565b60405180910390fd5b6112f5838383611d25565b600060c960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561137c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137390613a2f565b60405180910390fd5b81810360c960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160c960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461141191906133b3565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114759190612e6e565b60405180910390a3611488848484611d35565b50505050565b61149782610798565b6114a8816114a3611037565b611d3a565b6114b28383611b6a565b505050565b6114bf611037565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461152c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152390613ac1565b60405180910390fd5b6115368282611dd7565b5050565b6000611562836000018373ffffffffffffffffffffffffffffffffffffffff1660001b611eb9565b905092915050565b611572610ac6565b6115b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a890613b2d565b60405180910390fd5b600061012d60006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6115f6611037565b6040516116039190613236565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561167d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167490613b99565b60405180910390fd5b61168960008383611d25565b8060cb600082825461169b91906133b3565b925050819055508060c960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116f191906133b3565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117569190612e6e565b60405180910390a361176a60008383611d35565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d590613c2b565b60405180910390fd5b6117ea82600083611d25565b600060c960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611871576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186890613cbd565b60405180910390fd5b81810360c960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160cb60008282546118c99190613cdd565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161192e9190612e6e565b60405180910390a361194283600084611d35565b505050565b600060019054906101000a900460ff168061196d575060008054906101000a900460ff16155b6119ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a39061359f565b60405180910390fd5b60008060019054906101000a900460ff1615905080156119fc576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b611a04611fcd565b611a0c6120a6565b611a1461217f565b611a1c612258565b611a268383612331565b611a2e61243a565b611a36612513565b611a3e612608565b611a4883836126e1565b8015611a695760008060016101000a81548160ff0219169083151502179055505b505050565b611a76610ac6565b15611ab6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aad90613d5d565b60405180910390fd5b600161012d60006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611afb611037565b604051611b089190613236565b60405180910390a1565b6000611b218360000183612832565b60001c905092915050565b6000611b3a8260000161285d565b9050919050565b611b4a82610798565b611b5b81611b56611037565b611d3a565b611b658383611dd7565b505050565b611b748282610c4b565b611c475760016065600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611bec611037565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000611c57838361286e565b611cb0578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050611cb5565b600090505b92915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611d30838383612891565b505050565b505050565b611d448282610c4b565b611dd357611d698173ffffffffffffffffffffffffffffffffffffffff1660146128e9565b611d778360001c60206128e9565b604051602001611d88929190613e51565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dca9190612d69565b60405180910390fd5b5050565b611de18282610c4b565b15611eb55760006065600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611e5a611037565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b60008083600101600084815260200190815260200160002054905060008114611fc1576000600182611eeb9190613cdd565b9050600060018660000180549050611f039190613cdd565b9050818114611f72576000866000018281548110611f2457611f23613e8b565b5b9060005260206000200154905080876000018481548110611f4857611f47613e8b565b5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b85600001805480611f8657611f85613eba565b5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050611fc7565b60009150505b92915050565b600060019054906101000a900460ff1680611ff3575060008054906101000a900460ff16155b612032576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120299061359f565b60405180910390fd5b60008060019054906101000a900460ff161590508015612082576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b80156120a35760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff16806120cc575060008054906101000a900460ff16155b61210b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121029061359f565b60405180910390fd5b60008060019054906101000a900460ff16159050801561215b576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b801561217c5760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff16806121a5575060008054906101000a900460ff16155b6121e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121db9061359f565b60405180910390fd5b60008060019054906101000a900460ff161590508015612234576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b80156122555760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff168061227e575060008054906101000a900460ff16155b6122bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122b49061359f565b60405180910390fd5b60008060019054906101000a900460ff16159050801561230d576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b801561232e5760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff1680612357575060008054906101000a900460ff16155b612396576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238d9061359f565b60405180910390fd5b60008060019054906101000a900460ff1615905080156123e6576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b8260cc90805190602001906123fc929190612b5e565b508160cd9080519060200190612413929190612b5e565b5080156124355760008060016101000a81548160ff0219169083151502179055505b505050565b600060019054906101000a900460ff1680612460575060008054906101000a900460ff16155b61249f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124969061359f565b60405180910390fd5b60008060019054906101000a900460ff1615905080156124ef576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b80156125105760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff1680612539575060008054906101000a900460ff16155b612578576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256f9061359f565b60405180910390fd5b60008060019054906101000a900460ff1615905080156125c8576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b600061012d60006101000a81548160ff02191690831515021790555080156126055760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff168061262e575060008054906101000a900460ff16155b61266d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126649061359f565b60405180910390fd5b60008060019054906101000a900460ff1615905080156126bd576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b80156126de5760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff1680612707575060008054906101000a900460ff16155b612746576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161273d9061359f565b60405180910390fd5b60008060019054906101000a900460ff161590508015612796576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b6127aa6000801b6127a5611037565b612b25565b6127db7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66127d6611037565b612b25565b61280c7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a612807611037565b612b25565b801561282d5760008060016101000a81548160ff0219169083151502179055505b505050565b600082600001828154811061284a57612849613e8b565b5b9060005260206000200154905092915050565b600081600001805490509050919050565b600080836001016000848152602001908152602001600020541415905092915050565b61289c838383612b59565b6128a4610ac6565b156128e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128db90613f5b565b60405180910390fd5b505050565b6060600060028360026128fc9190613f7b565b61290691906133b3565b67ffffffffffffffff81111561291f5761291e613017565b5b6040519080825280601f01601f1916602001820160405280156129515781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061298957612988613e8b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106129ed576129ec613e8b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002612a2d9190613f7b565b612a3791906133b3565b90505b6001811115612ad7577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110612a7957612a78613e8b565b5b1a60f81b828281518110612a9057612a8f613e8b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080612ad090613fd5565b9050612a3a565b5060008414612b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b129061404b565b60405180910390fd5b8091505092915050565b612b2f8282610f7f565b612b548160976000858152602001908152602001600020610f8d90919063ffffffff16565b505050565b505050565b828054612b6a906132c0565b90600052602060002090601f016020900481019282612b8c5760008555612bd3565b82601f10612ba557805160ff1916838001178555612bd3565b82800160010185558215612bd3579182015b82811115612bd2578251825591602001919060010190612bb7565b5b509050612be09190612be4565b5090565b5b80821115612bfd576000816000905550600101612be5565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612c4a81612c15565b8114612c5557600080fd5b50565b600081359050612c6781612c41565b92915050565b600060208284031215612c8357612c82612c0b565b5b6000612c9184828501612c58565b91505092915050565b60008115159050919050565b612caf81612c9a565b82525050565b6000602082019050612cca6000830184612ca6565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612d0a578082015181840152602081019050612cef565b83811115612d19576000848401525b50505050565b6000601f19601f8301169050919050565b6000612d3b82612cd0565b612d458185612cdb565b9350612d55818560208601612cec565b612d5e81612d1f565b840191505092915050565b60006020820190508181036000830152612d838184612d30565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612db682612d8b565b9050919050565b612dc681612dab565b8114612dd157600080fd5b50565b600081359050612de381612dbd565b92915050565b6000819050919050565b612dfc81612de9565b8114612e0757600080fd5b50565b600081359050612e1981612df3565b92915050565b60008060408385031215612e3657612e35612c0b565b5b6000612e4485828601612dd4565b9250506020612e5585828601612e0a565b9150509250929050565b612e6881612de9565b82525050565b6000602082019050612e836000830184612e5f565b92915050565b600080600060608486031215612ea257612ea1612c0b565b5b6000612eb086828701612dd4565b9350506020612ec186828701612dd4565b9250506040612ed286828701612e0a565b9150509250925092565b6000819050919050565b612eef81612edc565b8114612efa57600080fd5b50565b600081359050612f0c81612ee6565b92915050565b600060208284031215612f2857612f27612c0b565b5b6000612f3684828501612efd565b91505092915050565b612f4881612edc565b82525050565b6000602082019050612f636000830184612f3f565b92915050565b60008060408385031215612f8057612f7f612c0b565b5b6000612f8e85828601612efd565b9250506020612f9f85828601612dd4565b9150509250929050565b600060ff82169050919050565b612fbf81612fa9565b82525050565b6000602082019050612fda6000830184612fb6565b92915050565b600060208284031215612ff657612ff5612c0b565b5b600061300484828501612e0a565b91505092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61304f82612d1f565b810181811067ffffffffffffffff8211171561306e5761306d613017565b5b80604052505050565b6000613081612c01565b905061308d8282613046565b919050565b600067ffffffffffffffff8211156130ad576130ac613017565b5b6130b682612d1f565b9050602081019050919050565b82818337600083830152505050565b60006130e56130e084613092565b613077565b90508281526020810184848401111561310157613100613012565b5b61310c8482856130c3565b509392505050565b600082601f8301126131295761312861300d565b5b81356131398482602086016130d2565b91505092915050565b6000806040838503121561315957613158612c0b565b5b600083013567ffffffffffffffff81111561317757613176612c10565b5b61318385828601613114565b925050602083013567ffffffffffffffff8111156131a4576131a3612c10565b5b6131b085828601613114565b9150509250929050565b6000602082840312156131d0576131cf612c0b565b5b60006131de84828501612dd4565b91505092915050565b600080604083850312156131fe576131fd612c0b565b5b600061320c85828601612efd565b925050602061321d85828601612e0a565b9150509250929050565b61323081612dab565b82525050565b600060208201905061324b6000830184613227565b92915050565b6000806040838503121561326857613267612c0b565b5b600061327685828601612dd4565b925050602061328785828601612dd4565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806132d857607f821691505b602082108114156132ec576132eb613291565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061334e602883612cdb565b9150613359826132f2565b604082019050919050565b6000602082019050818103600083015261337d81613341565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006133be82612de9565b91506133c983612de9565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156133fe576133fd613384565b5b828201905092915050565b7f45524332305072657365744d696e7465725061757365723a206d75737420686160008201527f76652070617573657220726f6c6520746f20756e706175736500000000000000602082015250565b6000613465603983612cdb565b915061347082613409565b604082019050919050565b6000602082019050818103600083015261349481613458565b9050919050565b7f45524332305072657365744d696e7465725061757365723a206d75737420686160008201527f7665206d696e74657220726f6c6520746f206d696e7400000000000000000000602082015250565b60006134f7603683612cdb565b91506135028261349b565b604082019050919050565b60006020820190508181036000830152613526816134ea565b9050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b6000613589602e83612cdb565b91506135948261352d565b604082019050919050565b600060208201905081810360008301526135b88161357c565b9050919050565b7f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f7760008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b600061361b602483612cdb565b9150613626826135bf565b604082019050919050565b6000602082019050818103600083015261364a8161360e565b9050919050565b7f45524332305072657365744d696e7465725061757365723a206d75737420686160008201527f76652070617573657220726f6c6520746f207061757365000000000000000000602082015250565b60006136ad603783612cdb565b91506136b882613651565b604082019050919050565b600060208201905081810360008301526136dc816136a0565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061373f602583612cdb565b915061374a826136e3565b604082019050919050565b6000602082019050818103600083015261376e81613732565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006137d1602483612cdb565b91506137dc82613775565b604082019050919050565b60006020820190508181036000830152613800816137c4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613863602283612cdb565b915061386e82613807565b604082019050919050565b6000602082019050818103600083015261389281613856565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006138f5602583612cdb565b915061390082613899565b604082019050919050565b60006020820190508181036000830152613924816138e8565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613987602383612cdb565b91506139928261392b565b604082019050919050565b600060208201905081810360008301526139b68161397a565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613a19602683612cdb565b9150613a24826139bd565b604082019050919050565b60006020820190508181036000830152613a4881613a0c565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000613aab602f83612cdb565b9150613ab682613a4f565b604082019050919050565b60006020820190508181036000830152613ada81613a9e565b9050919050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b6000613b17601483612cdb565b9150613b2282613ae1565b602082019050919050565b60006020820190508181036000830152613b4681613b0a565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000613b83601f83612cdb565b9150613b8e82613b4d565b602082019050919050565b60006020820190508181036000830152613bb281613b76565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000613c15602183612cdb565b9150613c2082613bb9565b604082019050919050565b60006020820190508181036000830152613c4481613c08565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000613ca7602283612cdb565b9150613cb282613c4b565b604082019050919050565b60006020820190508181036000830152613cd681613c9a565b9050919050565b6000613ce882612de9565b9150613cf383612de9565b925082821015613d0657613d05613384565b5b828203905092915050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b6000613d47601083612cdb565b9150613d5282613d11565b602082019050919050565b60006020820190508181036000830152613d7681613d3a565b9050919050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000613dbe601783613d7d565b9150613dc982613d88565b601782019050919050565b6000613ddf82612cd0565b613de98185613d7d565b9350613df9818560208601612cec565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000613e3b601183613d7d565b9150613e4682613e05565b601182019050919050565b6000613e5c82613db1565b9150613e688285613dd4565b9150613e7382613e2e565b9150613e7f8284613dd4565b91508190509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f45524332305061757361626c653a20746f6b656e207472616e7366657220776860008201527f696c652070617573656400000000000000000000000000000000000000000000602082015250565b6000613f45602a83612cdb565b9150613f5082613ee9565b604082019050919050565b60006020820190508181036000830152613f7481613f38565b9050919050565b6000613f8682612de9565b9150613f9183612de9565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613fca57613fc9613384565b5b828202905092915050565b6000613fe082612de9565b91506000821415613ff457613ff3613384565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000614035602083612cdb565b915061404082613fff565b602082019050919050565b6000602082019050818103600083015261406481614028565b905091905056fea2646970667358221220c620df51ef28469d43f12087a350c2183c9cc35dee733488e7041f5e1dbc3b5c64736f6c63430008080033",
|
|
676
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061015f5760003560e01c806301ffc9a71461016457806306fdde0314610194578063095ea7b3146101b257806318160ddd146101e257806323b872dd14610200578063248a9ca3146102305780632f2ff15d14610260578063313ce5671461027c57806336568abe1461029a57806339509351146102b65780633f4ba83a146102e657806340c10f19146102f057806342966c681461030c5780634cd88b76146103285780635c975abb1461034457806370a082311461036257806379cc6790146103925780638456cb59146103ae5780639010d07c146103b857806391d14854146103e857806395d89b4114610418578063a217fddf14610436578063a457c2d714610454578063a9059cbb14610484578063ca15c873146104b4578063d5391393146104e4578063d547741f14610502578063dd62ed3e1461051e578063e63ab1e91461054e575b600080fd5b61017e60048036038101906101799190612c6d565b61056c565b60405161018b9190612cb5565b60405180910390f35b61019c6105e6565b6040516101a99190612d69565b60405180910390f35b6101cc60048036038101906101c79190612e1f565b610678565b6040516101d99190612cb5565b60405180910390f35b6101ea610696565b6040516101f79190612e6e565b60405180910390f35b61021a60048036038101906102159190612e89565b6106a0565b6040516102279190612cb5565b60405180910390f35b61024a60048036038101906102459190612f12565b610798565b6040516102579190612f4e565b60405180910390f35b61027a60048036038101906102759190612f69565b6107b8565b005b6102846107ec565b6040516102919190612fc5565b60405180910390f35b6102b460048036038101906102af9190612f69565b6107f5565b005b6102d060048036038101906102cb9190612e1f565b610829565b6040516102dd9190612cb5565b60405180910390f35b6102ee6108d5565b005b61030a60048036038101906103059190612e1f565b61094f565b005b61032660048036038101906103219190612fe0565b6109cd565b005b610342600480360381019061033d9190613142565b6109e1565b005b61034c610ac6565b6040516103599190612cb5565b60405180910390f35b61037c600480360381019061037791906131ba565b610ade565b6040516103899190612e6e565b60405180910390f35b6103ac60048036038101906103a79190612e1f565b610b27565b005b6103b6610ba2565b005b6103d260048036038101906103cd91906131e7565b610c1c565b6040516103df9190613236565b60405180910390f35b61040260048036038101906103fd9190612f69565b610c4b565b60405161040f9190612cb5565b60405180910390f35b610420610cb6565b60405161042d9190612d69565b60405180910390f35b61043e610d48565b60405161044b9190612f4e565b60405180910390f35b61046e60048036038101906104699190612e1f565b610d4f565b60405161047b9190612cb5565b60405180910390f35b61049e60048036038101906104999190612e1f565b610e3a565b6040516104ab9190612cb5565b60405180910390f35b6104ce60048036038101906104c99190612f12565b610e58565b6040516104db9190612e6e565b60405180910390f35b6104ec610e7c565b6040516104f99190612f4e565b60405180910390f35b61051c60048036038101906105179190612f69565b610ea0565b005b61053860048036038101906105339190613251565b610ed4565b6040516105459190612e6e565b60405180910390f35b610556610f5b565b6040516105639190612f4e565b60405180910390f35b60007f5a05180f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806105df57506105de82610fbd565b5b9050919050565b606060cc80546105f5906132c0565b80601f0160208091040260200160405190810160405280929190818152602001828054610621906132c0565b801561066e5780601f106106435761010080835404028352916020019161066e565b820191906000526020600020905b81548152906001019060200180831161065157829003601f168201915b5050505050905090565b600061068c610685611037565b848461103f565b6001905092915050565b600060cb54905090565b60006106ad84848461120a565b600060ca60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106f8611037565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610778576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076f90613364565b60405180910390fd5b61078c85610784611037565b85840361103f565b60019150509392505050565b600060656000838152602001908152602001600020600101549050919050565b6107c2828261148e565b6107e78160976000858152602001908152602001600020610f8d90919063ffffffff16565b505050565b60006010905090565b6107ff82826114b7565b610824816097600085815260200190815260200160002061153a90919063ffffffff16565b505050565b60006108cb610836611037565b848460ca6000610844611037565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108c691906133b3565b61103f565b6001905092915050565b6109067f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610901611037565b610c4b565b610945576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093c9061347b565b60405180910390fd5b61094d61156a565b565b6109807f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a661097b611037565b610c4b565b6109bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b69061350d565b60405180910390fd5b6109c9828261160d565b5050565b6109de6109d8611037565b8261176e565b50565b600060019054906101000a900460ff1680610a07575060008054906101000a900460ff16155b610a46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3d9061359f565b60405180910390fd5b60008060019054906101000a900460ff161590508015610a96576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b610aa08383611947565b8015610ac15760008060016101000a81548160ff0219169083151502179055505b505050565b600061012d60009054906101000a900460ff16905090565b600060c960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000610b3a83610b35611037565b610ed4565b905081811015610b7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7690613631565b60405180910390fd5b610b9383610b8b611037565b84840361103f565b610b9d838361176e565b505050565b610bd37f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610bce611037565b610c4b565b610c12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c09906136c3565b60405180910390fd5b610c1a611a6e565b565b6000610c438260976000868152602001908152602001600020611b1290919063ffffffff16565b905092915050565b60006065600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b606060cd8054610cc5906132c0565b80601f0160208091040260200160405190810160405280929190818152602001828054610cf1906132c0565b8015610d3e5780601f10610d1357610100808354040283529160200191610d3e565b820191906000526020600020905b815481529060010190602001808311610d2157829003601f168201915b5050505050905090565b6000801b81565b60008060ca6000610d5e611037565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610e1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1290613755565b60405180910390fd5b610e2f610e26611037565b8585840361103f565b600191505092915050565b6000610e4e610e47611037565b848461120a565b6001905092915050565b6000610e7560976000848152602001908152602001600020611b2c565b9050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b610eaa8282611b41565b610ecf816097600085815260200190815260200160002061153a90919063ffffffff16565b505050565b600060ca60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b610f898282611b6a565b5050565b6000610fb5836000018373ffffffffffffffffffffffffffffffffffffffff1660001b611c4b565b905092915050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611030575061102f82611cbb565b5b9050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a6906137e7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561111f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111690613879565b60405180910390fd5b8060ca60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111fd9190612e6e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561127a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112719061390b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e19061399d565b60405180910390fd5b6112f5838383611d25565b600060c960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561137c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137390613a2f565b60405180910390fd5b81810360c960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160c960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461141191906133b3565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114759190612e6e565b60405180910390a3611488848484611d35565b50505050565b61149782610798565b6114a8816114a3611037565b611d3a565b6114b28383611b6a565b505050565b6114bf611037565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461152c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152390613ac1565b60405180910390fd5b6115368282611dd7565b5050565b6000611562836000018373ffffffffffffffffffffffffffffffffffffffff1660001b611eb9565b905092915050565b611572610ac6565b6115b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a890613b2d565b60405180910390fd5b600061012d60006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6115f6611037565b6040516116039190613236565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561167d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167490613b99565b60405180910390fd5b61168960008383611d25565b8060cb600082825461169b91906133b3565b925050819055508060c960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116f191906133b3565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117569190612e6e565b60405180910390a361176a60008383611d35565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d590613c2b565b60405180910390fd5b6117ea82600083611d25565b600060c960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611871576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186890613cbd565b60405180910390fd5b81810360c960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160cb60008282546118c99190613cdd565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161192e9190612e6e565b60405180910390a361194283600084611d35565b505050565b600060019054906101000a900460ff168061196d575060008054906101000a900460ff16155b6119ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a39061359f565b60405180910390fd5b60008060019054906101000a900460ff1615905080156119fc576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b611a04611fcd565b611a0c6120a6565b611a1461217f565b611a1c612258565b611a268383612331565b611a2e61243a565b611a36612513565b611a3e612608565b611a4883836126e1565b8015611a695760008060016101000a81548160ff0219169083151502179055505b505050565b611a76610ac6565b15611ab6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aad90613d5d565b60405180910390fd5b600161012d60006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611afb611037565b604051611b089190613236565b60405180910390a1565b6000611b218360000183612832565b60001c905092915050565b6000611b3a8260000161285d565b9050919050565b611b4a82610798565b611b5b81611b56611037565b611d3a565b611b658383611dd7565b505050565b611b748282610c4b565b611c475760016065600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611bec611037565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000611c57838361286e565b611cb0578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050611cb5565b600090505b92915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611d30838383612891565b505050565b505050565b611d448282610c4b565b611dd357611d698173ffffffffffffffffffffffffffffffffffffffff1660146128e9565b611d778360001c60206128e9565b604051602001611d88929190613e51565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dca9190612d69565b60405180910390fd5b5050565b611de18282610c4b565b15611eb55760006065600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611e5a611037565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b60008083600101600084815260200190815260200160002054905060008114611fc1576000600182611eeb9190613cdd565b9050600060018660000180549050611f039190613cdd565b9050818114611f72576000866000018281548110611f2457611f23613e8b565b5b9060005260206000200154905080876000018481548110611f4857611f47613e8b565b5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b85600001805480611f8657611f85613eba565b5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050611fc7565b60009150505b92915050565b600060019054906101000a900460ff1680611ff3575060008054906101000a900460ff16155b612032576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120299061359f565b60405180910390fd5b60008060019054906101000a900460ff161590508015612082576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b80156120a35760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff16806120cc575060008054906101000a900460ff16155b61210b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121029061359f565b60405180910390fd5b60008060019054906101000a900460ff16159050801561215b576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b801561217c5760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff16806121a5575060008054906101000a900460ff16155b6121e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121db9061359f565b60405180910390fd5b60008060019054906101000a900460ff161590508015612234576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b80156122555760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff168061227e575060008054906101000a900460ff16155b6122bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122b49061359f565b60405180910390fd5b60008060019054906101000a900460ff16159050801561230d576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b801561232e5760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff1680612357575060008054906101000a900460ff16155b612396576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238d9061359f565b60405180910390fd5b60008060019054906101000a900460ff1615905080156123e6576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b8260cc90805190602001906123fc929190612b5e565b508160cd9080519060200190612413929190612b5e565b5080156124355760008060016101000a81548160ff0219169083151502179055505b505050565b600060019054906101000a900460ff1680612460575060008054906101000a900460ff16155b61249f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124969061359f565b60405180910390fd5b60008060019054906101000a900460ff1615905080156124ef576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b80156125105760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff1680612539575060008054906101000a900460ff16155b612578576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256f9061359f565b60405180910390fd5b60008060019054906101000a900460ff1615905080156125c8576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b600061012d60006101000a81548160ff02191690831515021790555080156126055760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff168061262e575060008054906101000a900460ff16155b61266d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126649061359f565b60405180910390fd5b60008060019054906101000a900460ff1615905080156126bd576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b80156126de5760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff1680612707575060008054906101000a900460ff16155b612746576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161273d9061359f565b60405180910390fd5b60008060019054906101000a900460ff161590508015612796576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b6127aa6000801b6127a5611037565b612b25565b6127db7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66127d6611037565b612b25565b61280c7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a612807611037565b612b25565b801561282d5760008060016101000a81548160ff0219169083151502179055505b505050565b600082600001828154811061284a57612849613e8b565b5b9060005260206000200154905092915050565b600081600001805490509050919050565b600080836001016000848152602001908152602001600020541415905092915050565b61289c838383612b59565b6128a4610ac6565b156128e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128db90613f5b565b60405180910390fd5b505050565b6060600060028360026128fc9190613f7b565b61290691906133b3565b67ffffffffffffffff81111561291f5761291e613017565b5b6040519080825280601f01601f1916602001820160405280156129515781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061298957612988613e8b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106129ed576129ec613e8b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002612a2d9190613f7b565b612a3791906133b3565b90505b6001811115612ad7577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110612a7957612a78613e8b565b5b1a60f81b828281518110612a9057612a8f613e8b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080612ad090613fd5565b9050612a3a565b5060008414612b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b129061404b565b60405180910390fd5b8091505092915050565b612b2f8282610f7f565b612b548160976000858152602001908152602001600020610f8d90919063ffffffff16565b505050565b505050565b828054612b6a906132c0565b90600052602060002090601f016020900481019282612b8c5760008555612bd3565b82601f10612ba557805160ff1916838001178555612bd3565b82800160010185558215612bd3579182015b82811115612bd2578251825591602001919060010190612bb7565b5b509050612be09190612be4565b5090565b5b80821115612bfd576000816000905550600101612be5565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612c4a81612c15565b8114612c5557600080fd5b50565b600081359050612c6781612c41565b92915050565b600060208284031215612c8357612c82612c0b565b5b6000612c9184828501612c58565b91505092915050565b60008115159050919050565b612caf81612c9a565b82525050565b6000602082019050612cca6000830184612ca6565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612d0a578082015181840152602081019050612cef565b83811115612d19576000848401525b50505050565b6000601f19601f8301169050919050565b6000612d3b82612cd0565b612d458185612cdb565b9350612d55818560208601612cec565b612d5e81612d1f565b840191505092915050565b60006020820190508181036000830152612d838184612d30565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612db682612d8b565b9050919050565b612dc681612dab565b8114612dd157600080fd5b50565b600081359050612de381612dbd565b92915050565b6000819050919050565b612dfc81612de9565b8114612e0757600080fd5b50565b600081359050612e1981612df3565b92915050565b60008060408385031215612e3657612e35612c0b565b5b6000612e4485828601612dd4565b9250506020612e5585828601612e0a565b9150509250929050565b612e6881612de9565b82525050565b6000602082019050612e836000830184612e5f565b92915050565b600080600060608486031215612ea257612ea1612c0b565b5b6000612eb086828701612dd4565b9350506020612ec186828701612dd4565b9250506040612ed286828701612e0a565b9150509250925092565b6000819050919050565b612eef81612edc565b8114612efa57600080fd5b50565b600081359050612f0c81612ee6565b92915050565b600060208284031215612f2857612f27612c0b565b5b6000612f3684828501612efd565b91505092915050565b612f4881612edc565b82525050565b6000602082019050612f636000830184612f3f565b92915050565b60008060408385031215612f8057612f7f612c0b565b5b6000612f8e85828601612efd565b9250506020612f9f85828601612dd4565b9150509250929050565b600060ff82169050919050565b612fbf81612fa9565b82525050565b6000602082019050612fda6000830184612fb6565b92915050565b600060208284031215612ff657612ff5612c0b565b5b600061300484828501612e0a565b91505092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61304f82612d1f565b810181811067ffffffffffffffff8211171561306e5761306d613017565b5b80604052505050565b6000613081612c01565b905061308d8282613046565b919050565b600067ffffffffffffffff8211156130ad576130ac613017565b5b6130b682612d1f565b9050602081019050919050565b82818337600083830152505050565b60006130e56130e084613092565b613077565b90508281526020810184848401111561310157613100613012565b5b61310c8482856130c3565b509392505050565b600082601f8301126131295761312861300d565b5b81356131398482602086016130d2565b91505092915050565b6000806040838503121561315957613158612c0b565b5b600083013567ffffffffffffffff81111561317757613176612c10565b5b61318385828601613114565b925050602083013567ffffffffffffffff8111156131a4576131a3612c10565b5b6131b085828601613114565b9150509250929050565b6000602082840312156131d0576131cf612c0b565b5b60006131de84828501612dd4565b91505092915050565b600080604083850312156131fe576131fd612c0b565b5b600061320c85828601612efd565b925050602061321d85828601612e0a565b9150509250929050565b61323081612dab565b82525050565b600060208201905061324b6000830184613227565b92915050565b6000806040838503121561326857613267612c0b565b5b600061327685828601612dd4565b925050602061328785828601612dd4565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806132d857607f821691505b602082108114156132ec576132eb613291565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061334e602883612cdb565b9150613359826132f2565b604082019050919050565b6000602082019050818103600083015261337d81613341565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006133be82612de9565b91506133c983612de9565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156133fe576133fd613384565b5b828201905092915050565b7f45524332305072657365744d696e7465725061757365723a206d75737420686160008201527f76652070617573657220726f6c6520746f20756e706175736500000000000000602082015250565b6000613465603983612cdb565b915061347082613409565b604082019050919050565b6000602082019050818103600083015261349481613458565b9050919050565b7f45524332305072657365744d696e7465725061757365723a206d75737420686160008201527f7665206d696e74657220726f6c6520746f206d696e7400000000000000000000602082015250565b60006134f7603683612cdb565b91506135028261349b565b604082019050919050565b60006020820190508181036000830152613526816134ea565b9050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b6000613589602e83612cdb565b91506135948261352d565b604082019050919050565b600060208201905081810360008301526135b88161357c565b9050919050565b7f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f7760008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b600061361b602483612cdb565b9150613626826135bf565b604082019050919050565b6000602082019050818103600083015261364a8161360e565b9050919050565b7f45524332305072657365744d696e7465725061757365723a206d75737420686160008201527f76652070617573657220726f6c6520746f207061757365000000000000000000602082015250565b60006136ad603783612cdb565b91506136b882613651565b604082019050919050565b600060208201905081810360008301526136dc816136a0565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061373f602583612cdb565b915061374a826136e3565b604082019050919050565b6000602082019050818103600083015261376e81613732565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006137d1602483612cdb565b91506137dc82613775565b604082019050919050565b60006020820190508181036000830152613800816137c4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613863602283612cdb565b915061386e82613807565b604082019050919050565b6000602082019050818103600083015261389281613856565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006138f5602583612cdb565b915061390082613899565b604082019050919050565b60006020820190508181036000830152613924816138e8565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613987602383612cdb565b91506139928261392b565b604082019050919050565b600060208201905081810360008301526139b68161397a565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613a19602683612cdb565b9150613a24826139bd565b604082019050919050565b60006020820190508181036000830152613a4881613a0c565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000613aab602f83612cdb565b9150613ab682613a4f565b604082019050919050565b60006020820190508181036000830152613ada81613a9e565b9050919050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b6000613b17601483612cdb565b9150613b2282613ae1565b602082019050919050565b60006020820190508181036000830152613b4681613b0a565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000613b83601f83612cdb565b9150613b8e82613b4d565b602082019050919050565b60006020820190508181036000830152613bb281613b76565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000613c15602183612cdb565b9150613c2082613bb9565b604082019050919050565b60006020820190508181036000830152613c4481613c08565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000613ca7602283612cdb565b9150613cb282613c4b565b604082019050919050565b60006020820190508181036000830152613cd681613c9a565b9050919050565b6000613ce882612de9565b9150613cf383612de9565b925082821015613d0657613d05613384565b5b828203905092915050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b6000613d47601083612cdb565b9150613d5282613d11565b602082019050919050565b60006020820190508181036000830152613d7681613d3a565b9050919050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000613dbe601783613d7d565b9150613dc982613d88565b601782019050919050565b6000613ddf82612cd0565b613de98185613d7d565b9350613df9818560208601612cec565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000613e3b601183613d7d565b9150613e4682613e05565b601182019050919050565b6000613e5c82613db1565b9150613e688285613dd4565b9150613e7382613e2e565b9150613e7f8284613dd4565b91508190509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f45524332305061757361626c653a20746f6b656e207472616e7366657220776860008201527f696c652070617573656400000000000000000000000000000000000000000000602082015250565b6000613f45602a83612cdb565b9150613f5082613ee9565b604082019050919050565b60006020820190508181036000830152613f7481613f38565b9050919050565b6000613f8682612de9565b9150613f9183612de9565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613fca57613fc9613384565b5b828202905092915050565b6000613fe082612de9565b91506000821415613ff457613ff3613384565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000614035602083612cdb565b915061404082613fff565b602082019050919050565b6000602082019050818103600083015261406481614028565b905091905056fea2646970667358221220c620df51ef28469d43f12087a350c2183c9cc35dee733488e7041f5e1dbc3b5c64736f6c63430008080033",
|
|
677
677
|
"linkReferences": {},
|
|
678
678
|
"deployedLinkReferences": {}
|
|
679
679
|
}
|
|
@@ -38,8 +38,8 @@
|
|
|
38
38
|
"type": "function"
|
|
39
39
|
}
|
|
40
40
|
],
|
|
41
|
-
"bytecode": "
|
|
42
|
-
"deployedBytecode": "
|
|
41
|
+
"bytecode": "0x608060405234801561001057600080fd5b506107a9806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80633274946114610030575b600080fd5b61004a60048036038101906100459190610376565b610061565b6040516100589291906103e2565b60405180910390f35b60008060006100708585610173565b5090506000806100818888886102a1565b73ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156100c657600080fd5b505afa1580156100da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100fe919061048d565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691508273ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161461015d578082610160565b81815b8095508196505050505050935093915050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156101e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101dc90610563565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161061021f578284610222565b83835b8092508193505050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561029a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610291906105cf565b60405180910390fd5b9250929050565b60008060006102b08585610173565b915091508582826040516020016102c8929190610637565b604051602081830303815290604052805190602001206040516020016102ef929190610731565b6040516020818303038152906040528051906020012060001c925050509392505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061034382610318565b9050919050565b61035381610338565b811461035e57600080fd5b50565b6000813590506103708161034a565b92915050565b60008060006060848603121561038f5761038e610313565b5b600061039d86828701610361565b93505060206103ae86828701610361565b92505060406103bf86828701610361565b9150509250925092565b6000819050919050565b6103dc816103c9565b82525050565b60006040820190506103f760008301856103d3565b61040460208301846103d3565b9392505050565b60006dffffffffffffffffffffffffffff82169050919050565b61042e8161040b565b811461043957600080fd5b50565b60008151905061044b81610425565b92915050565b600063ffffffff82169050919050565b61046a81610451565b811461047557600080fd5b50565b60008151905061048781610461565b92915050565b6000806000606084860312156104a6576104a5610313565b5b60006104b48682870161043c565b93505060206104c58682870161043c565b92505060406104d686828701610478565b9150509250925092565b600082825260208201905092915050565b7f556e697377617056324c6962726172793a204944454e544943414c5f4144445260008201527f4553534553000000000000000000000000000000000000000000000000000000602082015250565b600061054d6025836104e0565b9150610558826104f1565b604082019050919050565b6000602082019050818103600083015261057c81610540565b9050919050565b7f556e697377617056324c6962726172793a205a45524f5f414444524553530000600082015250565b60006105b9601e836104e0565b91506105c482610583565b602082019050919050565b600060208201905081810360008301526105e8816105ac565b9050919050565b60008160601b9050919050565b6000610607826105ef565b9050919050565b6000610619826105fc565b9050919050565b61063161062c82610338565b61060e565b82525050565b60006106438285610620565b6014820191506106538284610620565b6014820191508190509392505050565b600081905092915050565b7fff00000000000000000000000000000000000000000000000000000000000000600082015250565b60006106a4600183610663565b91506106af8261066e565b600182019050919050565b6000819050919050565b6000819050919050565b6106df6106da826106ba565b6106c4565b82525050565b7f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f600082015250565b600061071b602083610663565b9150610726826106e5565b602082019050919050565b600061073c82610697565b91506107488285610620565b60148201915061075882846106ce565b6020820191506107678261070e565b9150819050939250505056fea26469706673582212205bf3fbd0bf99a67bc948697b2d6628fd6a574b297c3c7bf2757f301dbf2438e464736f6c63430008080033",
|
|
42
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80633274946114610030575b600080fd5b61004a60048036038101906100459190610376565b610061565b6040516100589291906103e2565b60405180910390f35b60008060006100708585610173565b5090506000806100818888886102a1565b73ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156100c657600080fd5b505afa1580156100da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100fe919061048d565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691508273ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161461015d578082610160565b81815b8095508196505050505050935093915050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156101e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101dc90610563565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161061021f578284610222565b83835b8092508193505050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561029a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610291906105cf565b60405180910390fd5b9250929050565b60008060006102b08585610173565b915091508582826040516020016102c8929190610637565b604051602081830303815290604052805190602001206040516020016102ef929190610731565b6040516020818303038152906040528051906020012060001c925050509392505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061034382610318565b9050919050565b61035381610338565b811461035e57600080fd5b50565b6000813590506103708161034a565b92915050565b60008060006060848603121561038f5761038e610313565b5b600061039d86828701610361565b93505060206103ae86828701610361565b92505060406103bf86828701610361565b9150509250925092565b6000819050919050565b6103dc816103c9565b82525050565b60006040820190506103f760008301856103d3565b61040460208301846103d3565b9392505050565b60006dffffffffffffffffffffffffffff82169050919050565b61042e8161040b565b811461043957600080fd5b50565b60008151905061044b81610425565b92915050565b600063ffffffff82169050919050565b61046a81610451565b811461047557600080fd5b50565b60008151905061048781610461565b92915050565b6000806000606084860312156104a6576104a5610313565b5b60006104b48682870161043c565b93505060206104c58682870161043c565b92505060406104d686828701610478565b9150509250925092565b600082825260208201905092915050565b7f556e697377617056324c6962726172793a204944454e544943414c5f4144445260008201527f4553534553000000000000000000000000000000000000000000000000000000602082015250565b600061054d6025836104e0565b9150610558826104f1565b604082019050919050565b6000602082019050818103600083015261057c81610540565b9050919050565b7f556e697377617056324c6962726172793a205a45524f5f414444524553530000600082015250565b60006105b9601e836104e0565b91506105c482610583565b602082019050919050565b600060208201905081810360008301526105e8816105ac565b9050919050565b60008160601b9050919050565b6000610607826105ef565b9050919050565b6000610619826105fc565b9050919050565b61063161062c82610338565b61060e565b82525050565b60006106438285610620565b6014820191506106538284610620565b6014820191508190509392505050565b600081905092915050565b7fff00000000000000000000000000000000000000000000000000000000000000600082015250565b60006106a4600183610663565b91506106af8261066e565b600182019050919050565b6000819050919050565b6000819050919050565b6106df6106da826106ba565b6106c4565b82525050565b7f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f600082015250565b600061071b602083610663565b9150610726826106e5565b602082019050919050565b600061073c82610697565b91506107488285610620565b60148201915061075882846106ce565b6020820191506107678261070e565b9150819050939250505056fea26469706673582212205bf3fbd0bf99a67bc948697b2d6628fd6a574b297c3c7bf2757f301dbf2438e464736f6c63430008080033",
|
|
43
43
|
"linkReferences": {},
|
|
44
44
|
"deployedLinkReferences": {}
|
|
45
45
|
}
|