[ { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "newAdmin", "type": "address" } ], "name": "AdminUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "delegator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "fromDelegate", "type": "address" }, { "indexed": true, "internalType": "address", "name": "toDelegate", "type": "address" } ], "name": "DelegateChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "delegate", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "previousBalance", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newBalance", "type": "uint256" } ], "name": "DelegateVotesChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "pid", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Deposit", "type": "event" }, { "anonymous": false, "inputs": [], "name": "EIP712DomainChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "pid", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "EmergencyWithdraw", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint8", "name": "version", "type": "uint8" } ], "name": "Initialized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Paused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Unpaused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "pid", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Withdraw", "type": "event" }, { "inputs": [], "name": "BONUS_MULTIPLIER", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "CLOCK_MODE", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "SCARAB", "outputs": [ { "internalType": "contract IERC20Upgradeable", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_pid", "type": "uint256" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "accessSCARABTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_allocPoint", "type": "uint256" }, { "internalType": "contract IERC20Upgradeable", "name": "_lpToken", "type": "address" }, { "internalType": "bool", "name": "_withUpdate", "type": "bool" } ], "name": "add", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_adminAddress", "type": "address" } ], "name": "admin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "adminAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint32", "name": "pos", "type": "uint32" } ], "name": "checkpoints", "outputs": [ { "components": [ { "internalType": "uint32", "name": "fromBlock", "type": "uint32" }, { "internalType": "uint224", "name": "votes", "type": "uint224" } ], "internalType": "struct ERC20VotesUpgradeable.Checkpoint", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_pid", "type": "uint256" } ], "name": "claimSCARAB", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "clock", "outputs": [ { "internalType": "uint48", "name": "", "type": "uint48" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "delegatee", "type": "address" } ], "name": "delegate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "delegatee", "type": "address" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "uint256", "name": "expiry", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "delegateBySig", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "delegates", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_pid", "type": "uint256" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "deposit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "eip712Domain", "outputs": [ { "internalType": "bytes1", "name": "fields", "type": "bytes1" }, { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "version", "type": "string" }, { "internalType": "uint256", "name": "chainId", "type": "uint256" }, { "internalType": "address", "name": "verifyingContract", "type": "address" }, { "internalType": "bytes32", "name": "salt", "type": "bytes32" }, { "internalType": "uint256[]", "name": "extensions", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_from", "type": "uint256" }, { "internalType": "uint256", "name": "_to", "type": "uint256" } ], "name": "getMultiplier", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "timepoint", "type": "uint256" } ], "name": "getPastTotalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "timepoint", "type": "uint256" } ], "name": "getPastVotes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "getVotes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "contract IERC20Upgradeable", "name": "_scarab", "type": "address" }, { "internalType": "address", "name": "_adminAddress", "type": "address" }, { "internalType": "uint256", "name": "_startBlock", "type": "uint256" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "massUpdatePools", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "numCheckpoints", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_pid", "type": "uint256" }, { "internalType": "address", "name": "_user", "type": "address" } ], "name": "pendingSCARAB", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "permit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "poolInfo", "outputs": [ { "internalType": "contract IERC20Upgradeable", "name": "lpToken", "type": "address" }, { "internalType": "uint256", "name": "allocPoint", "type": "uint256" }, { "internalType": "uint256", "name": "lastRewardBlock", "type": "uint256" }, { "internalType": "uint256", "name": "accScarabPerShare", "type": "uint256" }, { "internalType": "uint256", "name": "lastTotalScarabReward", "type": "uint256" }, { "internalType": "uint256", "name": "lastScarabRewardBalance", "type": "uint256" }, { "internalType": "uint256", "name": "totalScarabReward", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "poolLength", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_pid", "type": "uint256" }, { "internalType": "uint256", "name": "_allocPoint", "type": "uint256" }, { "internalType": "bool", "name": "_withUpdate", "type": "bool" } ], "name": "set", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "contract IAddressContract", "name": "_contractFactory", "type": "address" } ], "name": "setContractAddresses", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "startBlock", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalAllocPoint", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSCARABStaked", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalScarabUsedForPurchase", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_pid", "type": "uint256" } ], "name": "updatePool", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "userInfo", "outputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256", "name": "rewarbaracDebt", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_pid", "type": "uint256" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
608060405234801561001057600080fd5b50613e8f806100206000396000f3fe608060405234801561001057600080fd5b506004361061030c5760003560e01c80636fcfff451161019d5780639ab24eb0116100e9578063d505accf116100a2578063f1127ed81161007c578063f1127ed814610730578063f2fde38b1461076d578063f93986d514610780578063fc6f94681461078a57600080fd5b8063d505accf146106f7578063dd62ed3e1461070a578063e2bbb1581461071d57600080fd5b80639ab24eb01461068e578063a457c2d7146106a1578063a9059cbb146106b4578063bd323017146106c7578063c3cda520146106d1578063d2fe1442146106e457600080fd5b80638da5cb5b1161015657806391ddadf41161013057806391ddadf41461060b57806393f1a40b1461062a578063948f05d01461067257806395d89b411461068657600080fd5b80638da5cb5b146105d45780638dbb1e3a146105e55780638e539e8c146105f857600080fd5b80636fcfff451461054357806370a082311461056b578063715018a6146105945780637ecebe001461059c57806384b0196e146105af5780638aa28550146105ca57600080fd5b8063395093511161025c578063587cde1e116102155780635f273603116101ef5780635f27360314610502578063630b5ba11461051557806363a846f81461051d57806364482f791461053057600080fd5b8063587cde1e1461049f5780635c19a95c146104e35780635c975abb146104f657600080fd5b806339509351146104415780633a46b1a814610454578063441a3e701461046757806348cd4cb11461047a5780634bf5d7e91461048457806351eb05a61461048c57600080fd5b806317caf6f1116102c95780631f88bb87116102a35780631f88bb871461040457806323b872dd14610417578063313ce5671461042a5780633644e5151461043957600080fd5b806317caf6f1146103df57806318160ddd146103e95780631eaaa045146103f157600080fd5b806306fdde0314610311578063081e3eda1461032f578063095ea7b31461034257806313b34825146103655780631526fe271461037a5780631794bb3c146103cc575b600080fd5b61031961079e565b60405161032691906137dc565b60405180910390f35b61016a545b604051908152602001610326565b610355610350366004613804565b610830565b6040519015158152602001610326565b610378610373366004613830565b61084a565b005b61038d610388366004613830565b61099b565b604080516001600160a01b0390981688526020880196909652948601939093526060850191909152608084015260a083015260c082015260e001610326565b6103786103da366004613849565b6109f5565b6103346101655481565b603554610334565b6103786103ff366004613898565b610c1f565b6103786104123660046138da565b610dd7565b610355610425366004613849565b610e65565b60405160128152602001610326565b610334610e89565b61035561044f366004613804565b610e98565b610334610462366004613804565b610eba565b6103786104753660046138f7565b610f3f565b6103346101665481565b6103196110d4565b61037861049a366004613830565b61116f565b6104cb6104ad3660046138da565b6001600160a01b03908116600090815260cc60205260409020541690565b6040516001600160a01b039091168152602001610326565b6103786104f13660046138da565b6112a7565b6101305460ff16610355565b610378610510366004613919565b6112b4565b61037861163e565b61037861052b3660046138da565b61166a565b61037861053e366004613940565b611754565b6105566105513660046138da565b6117e5565b60405163ffffffff9091168152602001610326565b6103346105793660046138da565b6001600160a01b031660009081526033602052604090205490565b610378611807565b6103346105aa3660046138da565b61181b565b6105b7611839565b604051610326979695949392919061396e565b6103346101645481565b60fe546001600160a01b03166104cb565b6103346105f33660046138f7565b6118d7565b610334610606366004613830565b611909565b610613611970565b60405165ffffffffffff9091168152602001610326565b61065d610638366004613a04565b6101696020908152600092835260408084209091529082529020805460019091015482565b60408051928352602083019190915201610326565b610162546104cb906001600160a01b031681565b61031961197b565b61033461069c3660046138da565b61198a565b6103556106af366004613804565b611a0c565b6103556106c2366004613804565b611a87565b6103346101685481565b6103786106df366004613a4a565b611a95565b6103346106f2366004613a04565b611bcb565b610378610705366004613aa4565b611cf7565b610334610718366004613b12565b611e5b565b61037861072b3660046138f7565b611e86565b61074361073e366004613b40565b611fdd565b60408051825163ffffffff1681526020928301516001600160e01b03169281019290925201610326565b61037861077b3660046138da565b612061565b6103346101675481565b610163546104cb906001600160a01b031681565b6060603680546107ad90613b77565b80601f01602080910402602001604051908101604052809291908181526020018280546107d990613b77565b80156108265780601f106107fb57610100808354040283529160200191610826565b820191906000526020600020905b81548152906001019060200180831161080957829003601f168201915b5050505050905090565b60003361083e8185856120d7565b60019150505b92915050565b600061016a828154811061086057610860613bab565b60009182526020808320858452610169825260408085203386529092529220600790910290910191506108928361116f565b60006108cc82600101546108c664e8d4a510006108c0876003015487600001546121fb90919063ffffffff16565b90612207565b90612213565b83549091506108e5906001600160a01b0316338361221f565b61096d610901610168546101675461221390919063ffffffff16565b84546040516370a0823160e01b81523060048201526001600160a01b03909116906370a08231906024015b602060405180830381865afa158015610949573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c69190613bc1565b60058401556003830154825461098d9164e8d4a51000916108c0916121fb565b826001018190555050505050565b61016a81815481106109ac57600080fd5b600091825260209091206007909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039095169650929491939092919087565b600054610100900460ff1615808015610a155750600054600160ff909116105b80610a2f5750303b158015610a2f575060005460ff166001145b610a975760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610aba576000805461ff0019166101001790555b610b006040518060400160405280600681526020016542415241435360d01b8152506040518060400160405280600681526020016542415241435360d01b815250612287565b610b276040518060400160405280600681526020016542415241435360d01b8152506122c7565b610b2f612311565b610b37612338565b610b3f612368565b6001600160a01b038316610b955760405162461bcd60e51b815260206004820152601860248201527f696e697469616c697a653a205a65726f206164647265737300000000000000006044820152606401610a8e565b61016280546001600160a01b038087166001600160a01b0319928316179092556101638054928616929091169190911790556101668290556001610164558015610c19576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b610c2761239c565b8015610c3557610c3561163e565b6000610166544311610c4a5761016654610c4c565b435b61016554909150610c5d90856123f6565b610165556040805160e0810182526001600160a01b039485168152602081019586529081019182526000606082018181526080830182815260a0840183815260c0850184815261016a8054600181018255955294517f17da1ae71935bc1a620f4cc216c63f7b5576c3970bae66f4178d3166b9912544600790950294850180546001600160a01b031916919099161790975596517f17da1ae71935bc1a620f4cc216c63f7b5576c3970bae66f4178d3166b991254583015592517f17da1ae71935bc1a620f4cc216c63f7b5576c3970bae66f4178d3166b991254682015591517f17da1ae71935bc1a620f4cc216c63f7b5576c3970bae66f4178d3166b991254783015593517f17da1ae71935bc1a620f4cc216c63f7b5576c3970bae66f4178d3166b991254882015591517f17da1ae71935bc1a620f4cc216c63f7b5576c3970bae66f4178d3166b99125498301555090517f17da1ae71935bc1a620f4cc216c63f7b5576c3970bae66f4178d3166b991254a90910155565b610ddf61239c565b806001600160a01b0316638f24a3a46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e419190613bda565b61016280546001600160a01b0319166001600160a01b039290921691909117905550565b600033610e73858285612402565b610e7e858585612476565b506001949350505050565b6000610e93612632565b905090565b60003361083e818585610eab8383611e5b565b610eb59190613c0d565b6120d7565b6000610ec4611970565b65ffffffffffff168210610f165760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b6044820152606401610a8e565b6001600160a01b038316600090815260cd60205260409020610f38908361263c565b9392505050565b600061016a8381548110610f5557610f55613bab565b60009182526020808320868452610169825260408085203386529092529220805460079092029092019250831115610fc45760405162461bcd60e51b81526020600482015260126024820152711dda5d1a191c985dce881b9bdd0819dbdbd960721b6044820152606401610a8e565b610fcd8461116f565b6000610ffb82600101546108c664e8d4a510006108c0876003015487600001546121fb90919063ffffffff16565b8354909150611014906001600160a01b0316338361221f565b611030610901610168546101675461221390919063ffffffff16565b600584015581546110419085612213565b8255610167546110519085612213565b61016755600383015482546110709164e8d4a51000916108c0916121fb565b6001830155825461108b906001600160a01b0316338661221f565b6110953385612725565b604051848152859033907ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b568906020015b60405180910390a35050505050565b6060426110df611970565b65ffffffffffff16146111345760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f64650000006044820152606401610a8e565b6040518060400160405280602081526020017f6d6f64653d626c6f636b74696d657374616d702666726f6d3d64656661756c74815250905090565b600061016a828154811061118557611185613bab565b60009182526020808320858452610169825260408085203386529092529220600260079092029092019081015490925043116111c057505050565b60006111de610901610168546101675461221390919063ffffffff16565b905060006112076111fc85600501548461221390919063ffffffff16565b6006860154906123f6565b6005850183905560068501819055610167549091506000819003611256575050436002840155506000600383018190556004830181905560019091018190556005820181905560069091015550565b600061126f86600401548461221390919063ffffffff16565b9050611292611287836108c08464e8d4a510006121fb565b6003880154906123f6565b60038701555050600490930192909255505050565b6112b1338261272f565b50565b610163546001600160a01b0316331461130f5760405162461bcd60e51b815260206004820152601c60248201527f73656e646572206d7573742062652061646d696e2061646472657373000000006044820152606401610a8e565b80611329610168546101675461221390919063ffffffff16565b101561138d5760405162461bcd60e51b815260206004820152602d60248201527f416d6f756e74206d757374206265206c657373207468616e207374616b65642060448201526c14d0d054905088185b5bdd5b9d609a1b6064820152608401610a8e565b600061016a84815481106113a3576113a3613bab565b6000918252602082206007919091020180546040516370a0823160e01b81523060048201529193506001600160a01b0316906370a0823190602401602060405180830381865afa1580156113fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141f9190613bc1565b90508083111561153457815460405163a9059cbb60e01b81526001600160a01b038681166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af115801561147b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149f9190613c20565b6114dd5760405162461bcd60e51b815260206004820152600f60248201526e32b9391034b7103a3930b739b332b960891b6044820152606401610a8e565b610168546114eb90826123f6565b6101685560405181815285906001600160a01b038616907fbb757047c2b5f3974fe26b7c10f732e7bce710b0952a71082702781e62ae05959060200160405180910390a3611637565b815460405163a9059cbb60e01b81526001600160a01b038681166004830152602482018690529091169063a9059cbb906044016020604051808303816000875af1158015611586573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115aa9190613c20565b6115e85760405162461bcd60e51b815260206004820152600f60248201526e32b9391034b7103a3930b739b332b960891b6044820152606401610a8e565b610168546115f690846123f6565b6101685560405183815285906001600160a01b038616907fbb757047c2b5f3974fe26b7c10f732e7bce710b0952a71082702781e62ae0595906020016110c5565b5050505050565b61016a5460005b81811015611666576116568161116f565b61165f81613c3d565b9050611645565b5050565b6001600160a01b0381166116b65760405162461bcd60e51b815260206004820152601360248201527261646d696e3a205a65726f206164647265737360681b6044820152606401610a8e565b610163546001600160a01b031633146116ff5760405162461bcd60e51b815260206004820152600b60248201526a61646d696e3a207775743f60a81b6044820152606401610a8e565b61016380546001600160a01b0319166001600160a01b0383169081179091556040519081527f54e4612788f90384e6843298d7854436f3a585b2c3831ab66abf1de63bfa6c2d9060200160405180910390a150565b61175c61239c565b801561176a5761176a61163e565b6117af826117a961016a868154811061178557611785613bab565b9060005260206000209060070201600101546101655461221390919063ffffffff16565b906123f6565b610165819055508161016a84815481106117cb576117cb613bab565b906000526020600020906007020160010181905550505050565b6001600160a01b038116600090815260cd602052604081205461084490612739565b61180f61239c565b61181960006127a2565b565b6001600160a01b038116600090815260996020526040812054610844565b6000606080600080600060606065546000801b1480156118595750606654155b61189d5760405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606401610a8e565b6118a56127f4565b6118ad612803565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60008282106118ff57610164546118f8906118f28486612213565b906121fb565b9050610844565b6118f88383612213565b6000611913611970565b65ffffffffffff1682106119655760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b6044820152606401610a8e565b61084460ce8361263c565b6000610e9342612812565b6060603780546107ad90613b77565b6001600160a01b038116600090815260cd602052604081205480156119f9576001600160a01b038316600090815260cd60205260409020805460001983019081106119d7576119d7613bab565b60009182526020909120015464010000000090046001600160e01b03166119fc565b60005b6001600160e01b03169392505050565b60003381611a1a8286611e5b565b905083811015611a7a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610a8e565b610e7e82868684036120d7565b60003361083e818585612476565b83421115611ae55760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a207369676e617475726520657870697265640000006044820152606401610a8e565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090611b5f90611b579060a00160405160208183030381529060405280519060200120612879565b8585856128a6565b9050611b6a816128d0565b8614611bb85760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20696e76616c6964206e6f6e6365000000000000006044820152606401610a8e565b611bc2818861272f565b50505050505050565b60008061016a8481548110611be257611be2613bab565b60009182526020808320878452610169825260408085206001600160a01b038916865290925292206003600790920290920190810154610167546002830154929450909143118015611c3357508015155b15611cc4576000611c85611c56610168546101675461221390919063ffffffff16565b86546040516370a0823160e01b81523060048201526001600160a01b03909116906370a082319060240161092c565b90506000611ca086600501548361221390919063ffffffff16565b9050611cbf611cb8846108c08464e8d4a510006121fb565b85906123f6565b935050505b611cec83600101546108c664e8d4a510006108c08688600001546121fb90919063ffffffff16565b979650505050505050565b83421115611d475760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610a8e565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611d768c6128d0565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000611dd182612879565b90506000611de1828787876128a6565b9050896001600160a01b0316816001600160a01b031614611e445760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610a8e565b611e4f8a8a8a6120d7565b50505050505050505050565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b600061016a8381548110611e9c57611e9c613bab565b6000918252602080832086845261016982526040808520338652909252922060079091029091019150611ece8461116f565b805415611f3f576000611f0382600101546108c664e8d4a510006108c0876003015487600001546121fb90919063ffffffff16565b8354909150611f1c906001600160a01b0316338361221f565b611f38610901610168546101675461221390919063ffffffff16565b6005840155505b8154611f56906001600160a01b03163330866128f8565b61016754611f6490846123f6565b610167558054611f7490846123f6565b8082556003830154611f919164e8d4a51000916108c091906121fb565b6001820155611fa03384612930565b604051838152849033907f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159060200160405180910390a350505050565b60408051808201909152600080825260208201526001600160a01b038316600090815260cd60205260409020805463ffffffff841690811061202157612021613bab565b60009182526020918290206040805180820190915291015463ffffffff8116825264010000000090046001600160e01b0316918101919091529392505050565b61206961239c565b6001600160a01b0381166120ce5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a8e565b6112b1816127a2565b6001600160a01b0383166121395760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a8e565b6001600160a01b03821661219a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a8e565b6001600160a01b0383811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610f388284613c6c565b6000610f388284613c99565b6000610f388284613cbb565b6040516001600160a01b03831660248201526044810182905261228290849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261293a565b505050565b600054610100900460ff166122ae5760405162461bcd60e51b8152600401610a8e90613cce565b60366122ba8382613d67565b5060376122828282613d67565b600054610100900460ff166122ee5760405162461bcd60e51b8152600401610a8e90613cce565b6112b181604051806040016040528060018152602001603160f81b815250612a0f565b600054610100900460ff166118195760405162461bcd60e51b8152600401610a8e90613cce565b600054610100900460ff1661235f5760405162461bcd60e51b8152600401610a8e90613cce565b611819336127a2565b600054610100900460ff1661238f5760405162461bcd60e51b8152600401610a8e90613cce565b610130805460ff19169055565b60fe546001600160a01b031633146118195760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a8e565b6000610f388284613c0d565b600061240e8484611e5b565b90506000198114610c1957818110156124695760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610a8e565b610c1984848484036120d7565b6001600160a01b0383166124da5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a8e565b6001600160a01b03821661253c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a8e565b612547838383612a5e565b6001600160a01b038316600090815260336020526040902054818110156125bf5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610a8e565b6001600160a01b0380851660008181526033602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061261f9086815260200190565b60405180910390a3610c19848484612ac6565b6000610e93612ad1565b81546000908181600581111561269657600061265784612b45565b6126619085613cbb565b600088815260209020909150869082015463ffffffff16111561268657809150612694565b612691816001613c0d565b92505b505b808210156126e35760006126aa8383612c2d565b600088815260209020909150869082015463ffffffff1611156126cf578091506126dd565b6126da816001613c0d565b92505b50612696565b801561270f576000868152602090208101600019015464010000000090046001600160e01b0316612712565b60005b6001600160e01b03169695505050505050565b6116668282612c48565b6116668282612c60565b600063ffffffff82111561279e5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608401610a8e565b5090565b60fe80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6060606780546107ad90613b77565b6060606880546107ad90613b77565b600065ffffffffffff82111561279e5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b6064820152608401610a8e565b6000610844612886612632565b8360405161190160f01b8152600281019290925260228201526042902090565b60008060006128b787878787612cda565b915091506128c481612d9e565b5090505b949350505050565b6001600160a01b03811660009081526099602052604090208054600181018255905b50919050565b6040516001600160a01b0380851660248301528316604482015260648101829052610c199085906323b872dd60e01b9060840161224b565b6116668282612ee8565b600061298f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612f729092919063ffffffff16565b90508051600014806129b05750808060200190518101906129b09190613c20565b6122825760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610a8e565b600054610100900460ff16612a365760405162461bcd60e51b8152600401610a8e90613cce565b6067612a428382613d67565b506068612a4f8282613d67565b50506000606581905560665550565b6001600160a01b0383161580612a7b57506001600160a01b038216155b15612a8557505050565b60405162461bcd60e51b81526020600482015260166024820152752737b7103a3930b739b332b930b13632903a37b5b2b760511b6044820152606401610a8e565b612282838383612f81565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f612afc612fb3565b612b0461300c565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b600081600003612b5757506000919050565b60006001612b648461303d565b901c6001901b90506001818481612b7d57612b7d613c83565b048201901c90506001818481612b9557612b95613c83565b048201901c90506001818481612bad57612bad613c83565b048201901c90506001818481612bc557612bc5613c83565b048201901c90506001818481612bdd57612bdd613c83565b048201901c90506001818481612bf557612bf5613c83565b048201901c90506001818481612c0d57612c0d613c83565b048201901c9050610f3881828581612c2757612c27613c83565b046130d1565b6000612c3c6002848418613c99565b610f3890848416613c0d565b612c5282826130e7565b610c1960ce6122138361322e565b6001600160a01b03828116600081815260cc6020818152604080842080546033845282862054949093528787166001600160a01b03198416811790915590519190951694919391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610c198284836133a3565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612d115750600090506003612d95565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612d65573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116612d8e57600060019250925050612d95565b9150600090505b94509492505050565b6000816004811115612db257612db2613e27565b03612dba5750565b6001816004811115612dce57612dce613e27565b03612e1b5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610a8e565b6002816004811115612e2f57612e2f613e27565b03612e7c5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610a8e565b6003816004811115612e9057612e90613e27565b036112b15760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610a8e565b612ef282826134e0565b6035546001600160e01b031015612f645760405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201526f766572666c6f77696e6720766f74657360801b6064820152608401610a8e565b610c1960ce6123f68361322e565b60606128c884846000856135b5565b6001600160a01b03838116600090815260cc6020526040808220548584168352912054612282929182169116836133a3565b600080612fbe6127f4565b805190915015612fd5578051602090910120919050565b6065548015612fe45792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b600080613017612803565b80519091501561302e578051602090910120919050565b6066548015612fe45792915050565b600080608083901c1561305257608092831c92015b604083901c1561306457604092831c92015b602083901c1561307657602092831c92015b601083901c1561308857601092831c92015b600883901c1561309a57600892831c92015b600483901c156130ac57600492831c92015b600283901c156130be57600292831c92015b600183901c156108445760010192915050565b60008183106130e05781610f38565b5090919050565b6001600160a01b0382166131475760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610a8e565b61315382600083612a5e565b6001600160a01b038216600090815260336020526040902054818110156131c75760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610a8e565b6001600160a01b03831660008181526033602090815260408083208686039055603580548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361228283600084612ac6565b8254600090819081811561327b5760008781526020902082016000190160408051808201909152905463ffffffff8116825264010000000090046001600160e01b03166020820152613290565b60408051808201909152600080825260208201525b905080602001516001600160e01b031693506132b084868863ffffffff16565b92506000821180156132da57506132c5611970565b65ffffffffffff16816000015163ffffffff16145b1561331f576132e883613685565b60008881526020902083016000190180546001600160e01b03929092166401000000000263ffffffff909216919091179055613399565b866040518060400160405280613343613336611970565b65ffffffffffff16612739565b63ffffffff16815260200161335786613685565b6001600160e01b0390811690915282546001810184556000938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b5050935093915050565b816001600160a01b0316836001600160a01b0316141580156133c55750600081115b15612282576001600160a01b03831615613453576001600160a01b038316600090815260cd602052604081208190613400906122138561322e565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051613448929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615612282576001600160a01b038216600090815260cd602052604081208190613489906123f68561322e565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516134d1929190918252602082015260400190565b60405180910390a25050505050565b6001600160a01b0382166135365760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610a8e565b61354260008383612a5e565b80603560008282546135549190613c0d565b90915550506001600160a01b0382166000818152603360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361166660008383612ac6565b6060824710156136165760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610a8e565b600080866001600160a01b031685876040516136329190613e3d565b60006040518083038185875af1925050503d806000811461366f576040519150601f19603f3d011682016040523d82523d6000602084013e613674565b606091505b5091509150611cec878383876136ee565b60006001600160e01b0382111561279e5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b6064820152608401610a8e565b6060831561375d578251600003613756576001600160a01b0385163b6137565760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610a8e565b50816128c8565b6128c883838151156137725781518083602001fd5b8060405162461bcd60e51b8152600401610a8e91906137dc565b60005b838110156137a757818101518382015260200161378f565b50506000910152565b600081518084526137c881602086016020860161378c565b601f01601f19169290920160200192915050565b602081526000610f3860208301846137b0565b6001600160a01b03811681146112b157600080fd5b6000806040838503121561381757600080fd5b8235613822816137ef565b946020939093013593505050565b60006020828403121561384257600080fd5b5035919050565b60008060006060848603121561385e57600080fd5b8335613869816137ef565b92506020840135613879816137ef565b929592945050506040919091013590565b80151581146112b157600080fd5b6000806000606084860312156138ad57600080fd5b8335925060208401356138bf816137ef565b915060408401356138cf8161388a565b809150509250925092565b6000602082840312156138ec57600080fd5b8135610f38816137ef565b6000806040838503121561390a57600080fd5b50508035926020909101359150565b60008060006060848603121561392e57600080fd5b833592506020840135613879816137ef565b60008060006060848603121561395557600080fd5b833592506020840135915060408401356138cf8161388a565b60ff60f81b881681526000602060e08184015261398e60e084018a6137b0565b83810360408501526139a0818a6137b0565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b818110156139f2578351835292840192918401916001016139d6565b50909c9b505050505050505050505050565b60008060408385031215613a1757600080fd5b823591506020830135613a29816137ef565b809150509250929050565b803560ff81168114613a4557600080fd5b919050565b60008060008060008060c08789031215613a6357600080fd5b8635613a6e816137ef565b95506020870135945060408701359350613a8a60608801613a34565b92506080870135915060a087013590509295509295509295565b600080600080600080600060e0888a031215613abf57600080fd5b8735613aca816137ef565b96506020880135613ada816137ef565b95506040880135945060608801359350613af660808901613a34565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215613b2557600080fd5b8235613b30816137ef565b91506020830135613a29816137ef565b60008060408385031215613b5357600080fd5b8235613b5e816137ef565b9150602083013563ffffffff81168114613a2957600080fd5b600181811c90821680613b8b57607f821691505b6020821081036128f257634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060208284031215613bd357600080fd5b5051919050565b600060208284031215613bec57600080fd5b8151610f38816137ef565b634e487b7160e01b600052601160045260246000fd5b8082018082111561084457610844613bf7565b600060208284031215613c3257600080fd5b8151610f388161388a565b600060018201613c4f57613c4f613bf7565b5060010190565b634e487b7160e01b600052604160045260246000fd5b808202811582820484141761084457610844613bf7565b634e487b7160e01b600052601260045260246000fd5b600082613cb657634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561084457610844613bf7565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b601f82111561228257600081815260208120601f850160051c81016020861015613d405750805b601f850160051c820191505b81811015613d5f57828155600101613d4c565b505050505050565b815167ffffffffffffffff811115613d8157613d81613c56565b613d9581613d8f8454613b77565b84613d19565b602080601f831160018114613dca5760008415613db25750858301515b600019600386901b1c1916600185901b178555613d5f565b600085815260208120601f198616915b82811015613df957888601518255948401946001909101908401613dda565b5085821015613e175787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052602160045260246000fd5b60008251613e4f81846020870161378c565b919091019291505056fea26469706673582212201b258e88c1da0e7023d262aa1d9c5722d47e189c0cd0ade0d089dc4ad9de690d64736f6c63430008130033