// This file was autogenerated by Hardhat, do not edit it.
// prettier-ignore
// tslint:disable
// eslint-disable
// biome-ignore format: see above

export interface WitPriceFeedsUpgradableV3$Type {
  readonly _format: "hh3-artifact-1";
  readonly contractName: "WitPriceFeedsUpgradableV3";
  readonly sourceName: "contracts/apps/WitPriceFeedsUpgradableV3.sol";
  readonly abi: [{"inputs":[{"internalType":"address","name":"_witOracle","type":"address"},{"internalType":"bytes32","name":"_versionTag","type":"bytes32"},{"internalType":"bool","name":"_upgradable","type":"bool"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"DeviantPrice","type":"error"},{"inputs":[],"name":"HotPrice","type":"error"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"range","type":"uint256"}],"name":"IndexOutOfBounds","type":"error"},{"inputs":[],"name":"InvalidArgument","type":"error"},{"inputs":[],"name":"InvalidGovernanceTarget","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"name":"InvalidLengthEncoding","type":"error"},{"inputs":[],"name":"InvalidUpdateData","type":"error"},{"inputs":[],"name":"InvalidUpdateDataSource","type":"error"},{"inputs":[],"name":"NoFreshUpdate","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"inputs":[],"name":"PriceFeedNotFound","type":"error"},{"inputs":[],"name":"PriceFeedNotFoundWithinRange","type":"error"},{"inputs":[],"name":"StalePrice","type":"error"},{"inputs":[{"internalType":"uint256","name":"read","type":"uint256"},{"internalType":"uint256","name":"expected","type":"uint256"}],"name":"UnexpectedMajorType","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"by","type":"address"},{"indexed":true,"internalType":"address","name":"master","type":"address"},{"indexed":true,"internalType":"address","name":"clone","type":"address"}],"name":"Cloned","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferStarted","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":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"IWitPriceFeedsTypes.ID4","name":"id4","type":"bytes4"},{"indexed":false,"internalType":"string","name":"caption","type":"string"},{"indexed":false,"internalType":"int8","name":"exponent","type":"int8"},{"indexed":false,"internalType":"enum IWitPriceFeedsTypes.Mappers","name":"mapper","type":"uint8"},{"indexed":false,"internalType":"string[]","name":"dependencies","type":"string[]"}],"name":"PriceFeedMapper","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"IWitPriceFeedsTypes.ID4","name":"id4","type":"bytes4"},{"indexed":false,"internalType":"string","name":"caption","type":"string"},{"indexed":false,"internalType":"int8","name":"exponent","type":"int8"},{"indexed":false,"internalType":"enum IWitPriceFeedsTypes.Oracles","name":"oracle","type":"uint8"},{"indexed":false,"internalType":"address","name":"oracleAddress","type":"address"},{"indexed":false,"internalType":"bytes32","name":"oracleSources","type":"bytes32"}],"name":"PriceFeedOracle","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"IWitPriceFeedsTypes.ID4","name":"id4","type":"bytes4"},{"indexed":false,"internalType":"string","name":"caption","type":"string"}],"name":"PriceFeedRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"IWitPriceFeedsTypes.ID4","name":"ID4","type":"bytes4"},{"indexed":false,"internalType":"Witnet.Timestamp","name":"timestamp","type":"uint64"},{"indexed":false,"internalType":"Witnet.TransactionHash","name":"trail","type":"bytes32"},{"indexed":false,"internalType":"uint64","name":"price","type":"uint64"},{"indexed":false,"internalType":"int56","name":"deltaPrice","type":"int56"},{"indexed":false,"internalType":"int8","name":"exponent","type":"int8"}],"name":"PriceFeedUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"id","type":"bytes32"},{"indexed":false,"internalType":"uint64","name":"publishTime","type":"uint64"},{"indexed":false,"internalType":"int64","name":"price","type":"int64"},{"indexed":false,"internalType":"uint64","name":"","type":"uint64"}],"name":"PriceFeedUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"IWitPriceFeedsTypes.ID4","name":"id4","type":"bytes4"},{"indexed":false,"internalType":"string","name":"caption","type":"string"},{"components":[{"internalType":"uint24","name":"callbackGas","type":"uint24"},{"internalType":"bool","name":"computeEma","type":"bool"},{"internalType":"uint24","name":"cooldownSecs","type":"uint24"},{"internalType":"uint24","name":"heartbeatSecs","type":"uint24"},{"internalType":"uint16","name":"maxDeviation1000","type":"uint16"},{"internalType":"uint16","name":"minWitnesses","type":"uint16"}],"indexed":false,"internalType":"struct IWitPriceFeedsTypes.UpdateConditions","name":"conditions","type":"tuple"}],"name":"PriceFeedUpdateConditions","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"baseAddr","type":"address"},{"indexed":true,"internalType":"bytes32","name":"baseCodehash","type":"bytes32"},{"indexed":false,"internalType":"string","name":"versionTag","type":"string"}],"name":"Upgraded","type":"event"},{"stateMutability":"nonpayable","type":"fallback"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"base","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"class","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_curator","type":"address"}],"name":"clone","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cloned","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"codehash","outputs":[{"internalType":"bytes32","name":"_codehash","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"consumer","outputs":[{"internalType":"contract IWitPriceFeedsConsumer","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"symbol","type":"string"}],"name":"createChainlinkAggregator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"defaultUpdateConditions","outputs":[{"components":[{"internalType":"uint24","name":"callbackGas","type":"uint24"},{"internalType":"bool","name":"computeEma","type":"bool"},{"internalType":"uint24","name":"cooldownSecs","type":"uint24"},{"internalType":"uint24","name":"heartbeatSecs","type":"uint24"},{"internalType":"uint16","name":"maxDeviation1000","type":"uint16"},{"internalType":"uint16","name":"minWitnesses","type":"uint16"}],"internalType":"struct IWitPriceFeedsTypes.UpdateConditions","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"footprint","outputs":[{"internalType":"bytes4","name":"_footprint","type":"bytes4"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"IWitPyth.ID","name":"_id","type":"bytes32"}],"name":"getEmaPrice","outputs":[{"components":[{"internalType":"int64","name":"price","type":"int64"},{"internalType":"uint64","name":"conf","type":"uint64"},{"internalType":"int32","name":"expo","type":"int32"},{"internalType":"uint256","name":"publishTime","type":"uint256"}],"internalType":"struct IWitPyth.PythPrice","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"IWitPyth.ID","name":"_id","type":"bytes32"},{"internalType":"uint64","name":"_age","type":"uint64"}],"name":"getEmaPriceNotOlderThan","outputs":[{"components":[{"internalType":"int64","name":"price","type":"int64"},{"internalType":"uint64","name":"conf","type":"uint64"},{"internalType":"int32","name":"expo","type":"int32"},{"internalType":"uint256","name":"publishTime","type":"uint256"}],"internalType":"struct IWitPyth.PythPrice","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"IWitPyth.ID","name":"_id","type":"bytes32"}],"name":"getEmaPriceUnsafe","outputs":[{"components":[{"internalType":"int64","name":"price","type":"int64"},{"internalType":"uint64","name":"conf","type":"uint64"},{"internalType":"int32","name":"expo","type":"int32"},{"internalType":"uint256","name":"publishTime","type":"uint256"}],"internalType":"struct IWitPyth.PythPrice","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"IWitPyth.ID","name":"_id","type":"bytes32"}],"name":"getPrice","outputs":[{"components":[{"internalType":"int64","name":"price","type":"int64"},{"internalType":"uint64","name":"conf","type":"uint64"},{"internalType":"int32","name":"expo","type":"int32"},{"internalType":"uint256","name":"publishTime","type":"uint256"}],"internalType":"struct IWitPyth.PythPrice","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"IWitPriceFeedsTypes.ID4","name":"_id4","type":"bytes4"}],"name":"getPrice","outputs":[{"components":[{"internalType":"int8","name":"exponent","type":"int8"},{"internalType":"uint64","name":"price","type":"uint64"},{"internalType":"int56","name":"deltaPrice","type":"int56"},{"internalType":"Witnet.Timestamp","name":"timestamp","type":"uint64"},{"internalType":"Witnet.TransactionHash","name":"trail","type":"bytes32"}],"internalType":"struct IWitPriceFeedsTypes.Price","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"IWitPyth.ID","name":"_id","type":"bytes32"},{"internalType":"uint64","name":"_age","type":"uint64"}],"name":"getPriceNotOlderThan","outputs":[{"components":[{"internalType":"int64","name":"price","type":"int64"},{"internalType":"uint64","name":"conf","type":"uint64"},{"internalType":"int32","name":"expo","type":"int32"},{"internalType":"uint256","name":"publishTime","type":"uint256"}],"internalType":"struct IWitPyth.PythPrice","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"IWitPriceFeedsTypes.ID4","name":"_id4","type":"bytes4"},{"internalType":"uint24","name":"_age","type":"uint24"}],"name":"getPriceNotOlderThan","outputs":[{"components":[{"internalType":"int8","name":"exponent","type":"int8"},{"internalType":"uint64","name":"price","type":"uint64"},{"internalType":"int56","name":"deltaPrice","type":"int56"},{"internalType":"Witnet.Timestamp","name":"timestamp","type":"uint64"},{"internalType":"Witnet.TransactionHash","name":"trail","type":"bytes32"}],"internalType":"struct IWitPriceFeedsTypes.Price","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"IWitPyth.ID","name":"_id","type":"bytes32"}],"name":"getPriceUnsafe","outputs":[{"components":[{"internalType":"int64","name":"price","type":"int64"},{"internalType":"uint64","name":"conf","type":"uint64"},{"internalType":"int32","name":"expo","type":"int32"},{"internalType":"uint256","name":"publishTime","type":"uint256"}],"internalType":"struct IWitPyth.PythPrice","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"IWitPriceFeedsTypes.ID4","name":"_id4","type":"bytes4"}],"name":"getPriceUnsafe","outputs":[{"components":[{"internalType":"int8","name":"exponent","type":"int8"},{"internalType":"uint64","name":"price","type":"uint64"},{"internalType":"int56","name":"deltaPrice","type":"int56"},{"internalType":"Witnet.Timestamp","name":"timestamp","type":"uint64"},{"internalType":"Witnet.TransactionHash","name":"trail","type":"bytes32"}],"internalType":"struct IWitPriceFeedsTypes.Price","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"name":"getUpdateFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"string","name":"_symbol","type":"string"}],"name":"hash","outputs":[{"internalType":"IWitPyth.ID","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"_initData","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_curator","type":"address"},{"components":[{"internalType":"uint24","name":"callbackGas","type":"uint24"},{"internalType":"bool","name":"computeEma","type":"bool"},{"internalType":"uint24","name":"cooldownSecs","type":"uint24"},{"internalType":"uint24","name":"heartbeatSecs","type":"uint24"},{"internalType":"uint16","name":"maxDeviation1000","type":"uint16"},{"internalType":"uint16","name":"minWitnesses","type":"uint16"}],"internalType":"struct IWitPriceFeedsTypes.UpdateConditions","name":"_defaultUpdateConditions","type":"tuple"}],"name":"initializeClone","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isUpgradable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"}],"name":"isUpgradableFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"IWitPriceFeedsTypes.ID4","name":"_id4","type":"bytes4"}],"name":"lookupPriceFeed","outputs":[{"components":[{"internalType":"IWitPyth.ID","name":"id","type":"bytes32"},{"internalType":"int8","name":"exponent","type":"int8"},{"internalType":"string","name":"symbol","type":"string"},{"components":[{"internalType":"enum IWitPriceFeedsTypes.Mappers","name":"class","type":"uint8"},{"internalType":"string[]","name":"deps","type":"string[]"}],"internalType":"struct IWitPriceFeedsTypes.Mapper","name":"mapper","type":"tuple"},{"components":[{"internalType":"enum IWitPriceFeedsTypes.Oracles","name":"class","type":"uint8"},{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes32","name":"sources","type":"bytes32"}],"internalType":"struct IWitPriceFeedsTypes.Oracle","name":"oracle","type":"tuple"},{"components":[{"internalType":"uint24","name":"callbackGas","type":"uint24"},{"internalType":"bool","name":"computeEma","type":"bool"},{"internalType":"uint24","name":"cooldownSecs","type":"uint24"},{"internalType":"uint24","name":"heartbeatSecs","type":"uint24"},{"internalType":"uint16","name":"maxDeviation1000","type":"uint16"},{"internalType":"uint16","name":"minWitnesses","type":"uint16"}],"internalType":"struct IWitPriceFeedsTypes.UpdateConditions","name":"updateConditions","type":"tuple"},{"components":[{"internalType":"int8","name":"exponent","type":"int8"},{"internalType":"uint64","name":"price","type":"uint64"},{"internalType":"int56","name":"deltaPrice","type":"int56"},{"internalType":"Witnet.Timestamp","name":"timestamp","type":"uint64"},{"internalType":"Witnet.TransactionHash","name":"trail","type":"bytes32"}],"internalType":"struct IWitPriceFeedsTypes.Price","name":"lastUpdate","type":"tuple"}],"internalType":"struct IWitPriceFeedsTypes.Info","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"IWitPriceFeedsTypes.ID4","name":"_id4","type":"bytes4"}],"name":"lookupPriceFeedCaption","outputs":[{"internalType":"string","name":"_symbol","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"IWitPriceFeedsTypes.ID4","name":"_id4","type":"bytes4"}],"name":"lookupPriceFeedExponent","outputs":[{"internalType":"int8","name":"","type":"int8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"IWitPriceFeedsTypes.ID4","name":"_id4","type":"bytes4"}],"name":"lookupPriceFeedID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lookupPriceFeeds","outputs":[{"components":[{"internalType":"IWitPyth.ID","name":"id","type":"bytes32"},{"internalType":"int8","name":"exponent","type":"int8"},{"internalType":"string","name":"symbol","type":"string"},{"components":[{"internalType":"enum IWitPriceFeedsTypes.Mappers","name":"class","type":"uint8"},{"internalType":"string[]","name":"deps","type":"string[]"}],"internalType":"struct IWitPriceFeedsTypes.Mapper","name":"mapper","type":"tuple"},{"components":[{"internalType":"enum IWitPriceFeedsTypes.Oracles","name":"class","type":"uint8"},{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes32","name":"sources","type":"bytes32"}],"internalType":"struct IWitPriceFeedsTypes.Oracle","name":"oracle","type":"tuple"},{"components":[{"internalType":"uint24","name":"callbackGas","type":"uint24"},{"internalType":"bool","name":"computeEma","type":"bool"},{"internalType":"uint24","name":"cooldownSecs","type":"uint24"},{"internalType":"uint24","name":"heartbeatSecs","type":"uint24"},{"internalType":"uint16","name":"maxDeviation1000","type":"uint16"},{"internalType":"uint16","name":"minWitnesses","type":"uint16"}],"internalType":"struct IWitPriceFeedsTypes.UpdateConditions","name":"updateConditions","type":"tuple"},{"components":[{"internalType":"int8","name":"exponent","type":"int8"},{"internalType":"uint64","name":"price","type":"uint64"},{"internalType":"int56","name":"deltaPrice","type":"int56"},{"internalType":"Witnet.Timestamp","name":"timestamp","type":"uint64"},{"internalType":"Witnet.TransactionHash","name":"trail","type":"bytes32"}],"internalType":"struct IWitPriceFeedsTypes.Price","name":"lastUpdate","type":"tuple"}],"internalType":"struct IWitPriceFeedsTypes.Info[]","name":"_infos","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"Witnet.TransactionHash","name":"witDrTxHash","type":"bytes32"},{"internalType":"Witnet.RadonHash","name":"queryRadHash","type":"bytes32"},{"components":[{"internalType":"uint16","name":"witResultMaxSize","type":"uint16"},{"internalType":"uint16","name":"witCommitteeSize","type":"uint16"},{"internalType":"uint64","name":"witUnitaryReward","type":"uint64"}],"internalType":"struct Witnet.QuerySLA","name":"queryParams","type":"tuple"},{"internalType":"Witnet.Timestamp","name":"resultTimestamp","type":"uint64"},{"internalType":"bytes","name":"resultCborBytes","type":"bytes"}],"internalType":"struct Witnet.DataPushReport","name":"report","type":"tuple"},{"internalType":"bytes","name":"proof","type":"bytes"}],"name":"pushDataReport","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"bool","name":"_recursively","type":"bool"}],"name":"removePriceFeed","outputs":[{"internalType":"bytes4","name":"_footprint","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_consumer","type":"address"}],"name":"settleConsumer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint24","name":"callbackGas","type":"uint24"},{"internalType":"bool","name":"computeEma","type":"bool"},{"internalType":"uint24","name":"cooldownSecs","type":"uint24"},{"internalType":"uint24","name":"heartbeatSecs","type":"uint24"},{"internalType":"uint16","name":"maxDeviation1000","type":"uint16"},{"internalType":"uint16","name":"minWitnesses","type":"uint16"}],"internalType":"struct IWitPriceFeedsTypes.UpdateConditions","name":"_conditions","type":"tuple"}],"name":"settleDefaultUpdateConditions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"int8","name":"_exponent","type":"int8"},{"internalType":"enum IWitPriceFeedsTypes.Mappers","name":"_mapper","type":"uint8"},{"internalType":"string[]","name":"_deps","type":"string[]"}],"name":"settlePriceFeedMapper","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"int8","name":"_exponent","type":"int8"},{"internalType":"enum IWitPriceFeedsTypes.Oracles","name":"_oracle","type":"uint8"},{"internalType":"address","name":"_oracleAddress","type":"address"},{"internalType":"bytes32","name":"_oracleSources","type":"bytes32"}],"name":"settlePriceFeedOracle","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"int8","name":"_exponent","type":"int8"},{"internalType":"bytes","name":"_radonBytecode","type":"bytes"}],"name":"settlePriceFeedRadonBytecode","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"int8","name":"_exponent","type":"int8"},{"internalType":"Witnet.RadonHash","name":"_radonHash","type":"bytes32"}],"name":"settlePriceFeedRadonHash","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_symbol","type":"string"},{"components":[{"internalType":"uint24","name":"callbackGas","type":"uint24"},{"internalType":"bool","name":"computeEma","type":"bool"},{"internalType":"uint24","name":"cooldownSecs","type":"uint24"},{"internalType":"uint24","name":"heartbeatSecs","type":"uint24"},{"internalType":"uint16","name":"maxDeviation1000","type":"uint16"},{"internalType":"uint16","name":"minWitnesses","type":"uint16"}],"internalType":"struct IWitPriceFeedsTypes.UpdateConditions","name":"_conditions","type":"tuple"}],"name":"settlePriceFeedUpdateConditions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"specs","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"string","name":"_caption","type":"string"}],"name":"supportsCaption","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_id","type":"bytes32"}],"name":"valueFor","outputs":[{"internalType":"int256","name":"_value","type":"int256"},{"internalType":"uint256","name":"_timestamp","type":"uint256"},{"internalType":"uint256","name":"_status","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"witOracle","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}];
  readonly bytecode: "0x6101606040523060e052348015610014575f5ffd5b5060405161602338038061602383398101604081905261003391610312565b8233806100405733610042565b805b3060805283151560c0526001600160a01b03811661007a57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b610083816102a7565b505f826001600160a01b03163b116100dd5760405162461bcd60e51b815260206004820152601560248201527f696e6578697374656e74207769742f6f7261636c6500000000000000000000006044820152606401610071565b5f826001600160a01b031663adb7c3f76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561011a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061013e9190610361565b90506001600160e01b03198116636d11bc5160e11b148061016f57506001600160e01b031981166304722eaf60e31b145b6101bb5760405162461bcd60e51b815260206004820152601660248201527f756e636f6d706c69616e74207769742f6f7261636c65000000000000000000006044820152606401610071565b50506001600160a01b031661010052506040805160c081018252620f424081525f6020808301829052610384838501526201518060608401526080830191909152600360a0909201919091527fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390480546001600160701b0319166c030000015180000384000f4240179055610120929092528051808201909152601781527f696f2e7769746e65742e707269636566656564732e7633000000000000000000910152507f33f433a1d48c1d0bc6c5dce7fc5ae960b57aa338a1fb7b7ecbcbeaf0cf1deb3d6101405261038f565b600180546001600160a01b03191690556102c0816102c3565b50565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5f5f60608486031215610324575f5ffd5b83516001600160a01b038116811461033a575f5ffd5b6020850151604086015191945092508015158114610356575f5ffd5b809150509250925092565b5f60208284031215610371575f5ffd5b81516001600160e01b031981168114610388575f5ffd5b9392505050565b60805160a05160c05160e051610100516101205161014051615beb6104385f395f6104bf01525f6112c401525f8181610337015281816114a7015281816117ac015261217b01525f818161049601528181611067015281816110bf01528181611c8f01528181611fef0152818161303f01526130ec01525f81816104e3015261168c01525f50505f818161063101528181610f4101528181611009015261109d0152615beb5ff3fe608060405234801561000f575f5ffd5b50600436106102d4575f3560e01c80639474f45b11610180578063c5010d17116100e7578063e36a1d9e116100a0578063f2fde38b1161007a578063f2fde38b1461078e578063f78eea83146107a1578063fa78a971146107cf578063fd91c054146107e2576102d4565b8063e36a1d9e14610755578063e56bd31514610768578063e59a78081461077b576102d4565b8063c5010d17146106ee578063c66f4c0a14610701578063c70f2f7314610714578063d9ea438f14610727578063e27b10881461073a578063e30c39781461074d576102d4565b8063aba146ff11610139578063aba146ff14610656578063adb7c3f714610669578063b411ee9414610676578063b4fd729614610689578063b5dcc9111461044e578063bff852fa146106b9576102d4565b80639474f45b146105f457806396834ad3146105f457806397445409146106075780639d61f28b146103e4578063a04daef014610627578063a9e954b91461062f576102d4565b80635479d9401161023f578063715018a6116101f85780638124b78e116101d25780638124b78e1461058b5780638a416ea91461059e5780638da5cb5b146105cf5780639190795f146105df576102d4565b8063715018a61461056857806379393a8b1461057057806379ba509714610583576102d4565b80635479d940146104e157806354fd4d5014610507578063608921931461051c57806367e559ac1461052f5780636b58960a146105425780636d0d6a7e14610555576102d4565b80633108e1b8116102915780633108e1b81461043957806331d98b3f1461044e578063439fab91146104615780634c7510d0146104745780635001f3b51461049457806352d1902d146104ba576102d4565b80630683bcd2146103095780631014d37514610332578063158ef93e14610371578063238e0a8a1461039e578063274d45db146103bf578063288b5e67146103e4575b610307604051806040016040528060128152602001711d5b9cdd5c1c1bdc9d1959081b595d1a1bd960721b8152506107f5565b005b61031c610317366004613a28565b610866565b6040516103299190613c50565b60405180910390f35b6103597f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610329565b5f516020615b565f395f51905f5254600160601b900461ffff1615155b6040519015158152602001610329565b6103b16103ac366004613ca6565b610bf0565b604051908152602001610329565b6103d26103cd366004613a28565b610bf8565b6040515f9190910b8152602001610329565b6103f76103f2366004613d03565b610c15565b6040516103299190815160070b81526020808301516001600160401b03169082015260408083015160030b908201526060918201519181019190915260800190565b610441610d22565b6040516103299190613d31565b6103f761045c366004613d94565b610de2565b61030761046f366004613e98565b610e40565b610487610482366004613ee9565b611143565b6040516103299190613f3b565b7f0000000000000000000000000000000000000000000000000000000000000000610359565b6103b17f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000061038e565b61050f6112bd565b6040516103299190613f50565b61048761052a366004613f6f565b6112ed565b61048761053d366004614034565b61147d565b61038e6105503660046140c8565b611689565b6103076105633660046140e3565b6116dd565b610307611c0c565b61030761057e3660046140c8565b611c1f565b610307611dc4565b6103596105993660046140c8565b611dcc565b7fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390554600160a01b900460e01b610487565b5f546001600160a01b0316610359565b6105e7611e52565b604051610329919061414e565b6103f7610602366004613d94565b611ed1565b61061a610615366004613a28565b611f17565b604051610329919061415c565b61038e611fb3565b7f00000000000000000000000000000000000000000000000000000000000000003f6103b1565b610307610664366004614180565b61201d565b6363708c9360e01b610487565b6103b1610684366004613e98565b61208d565b7fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba53905546001600160a01b0316610359565b6040805180820190915260198152785769745072696365466565647355706772616461626c65563360381b602082015261050f565b61038e6106fc366004613ca6565b612097565b61061a61070f366004613a28565b6120f5565b61048761072236600461419a565b612152565b61061a610735366004614202565b61235b565b61050f610748366004613a28565b612407565b6103596124a0565b6103b1610763366004613a28565b6124b3565b610359610776366004613ca6565b6124bd565b61048761078936600461422e565b6125ce565b61030761079c3660046140c8565b612626565b6107b46107af366004613d94565b61263a565b60408051938452602084019290925290820152606001610329565b6103076107dd3660046142b0565b61277c565b6103596107f0366004614300565b6127e6565b6040805180820190915260198152785769745072696365466565647355706772616461626c65563360381b60208201528160405160200161083792919061434b565b60408051601f198184030181529082905262461bcd60e51b825261085d91600401613f50565b60405180910390fd5b61086e61393c565b5f6108788361299c565b6001810154909150600160501b900460ff1660605f82600481111561089f5761089f613a71565b14610a12575f6108b86001600160e01b031987166129d8565b905080516001600160401b038111156108d3576108d3613dab565b60405190808252806020026020018201604052801561090657816020015b60608152602001906001900390816108f15790505b5091505f5b8151811015610a0f575f516020615b765f395f51905f526001015f8383815181106109385761093861436b565b60200260200101516001600160e01b0319166001600160e01b03191681526020019081526020015f205f01805461096e9061437f565b80601f016020809104026020016040519081016040528092919081815260200182805461099a9061437f565b80156109e55780601f106109bc576101008083540402835291602001916109e5565b820191905f5260205f20905b8154815290600101906020018083116109c857829003601f168201915b50505050508382815181106109fc576109fc61436b565b602090810291909101015260010161090b565b50505b600183015460028401546040805160e08101909152600160581b830460ff1692600160601b90046001600160a01b03169080610a4d8a612aa1565b81526001880154600160201b90045f0b602082015287546040909101908890610a759061437f565b80601f0160208091040260200160405190810160405280929190818152602001828054610aa19061437f565b8015610aec5780601f10610ac357610100808354040283529160200191610aec565b820191905f5260205f20905b815481529060010190602001808311610acf57829003601f168201915b505050505081526020016040518060400160405280886004811115610b1357610b13613a71565b81526020018781525081526020016040518060600160405280866003811115610b3e57610b3e613a71565b8152602001846001600160a01b03168152602001858152508152602001610b6788600401612b13565b815260200173__$2bc6e2b54ed0220eba705c4bcfa4927117$__63974454098b6040518263ffffffff1660e01b8152600401610ba39190613f3b565b60a060405180830381865af4158015610bbe573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610be291906143cd565b905298975050505050505050565b5f5b92915050565b5f610c028261299c565b60010154600160201b90045f0b92915050565b604080516080810182525f808252602082018190528183018190526060820152905163d9ea438f60e01b81526001600160e01b03198416600482015262ffffff83166024820152610d1b9073__$2bc6e2b54ed0220eba705c4bcfa4927117$__9063d9ea438f906044015b60a060405180830381865af4158015610c9b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cbf91906143cd565b60408051608080820183525f80835260208084018290528385018290526060938401829052845192830185528581015160070b835282018190528451900b92810192909252918201516001600160401b03169181019190915290565b9392505050565b5f516020615b765f395f51905f528054606091906001600160401b03811115610d4d57610d4d613dab565b604051908082528060200260200182016040528015610d8657816020015b610d7361393c565b815260200190600190039081610d6b5790505b5091505f5b8251811015610ddd57610db8610317838381548110610dac57610dac61436b565b905f5260205f20015490565b838281518110610dca57610dca61436b565b6020908102919091010152600101610d8b565b505090565b604080516080810182525f808252602082018190529181018290526060810191909152610bf273__$2bc6e2b54ed0220eba705c4bcfa4927117$__63c66f4c0a845b6040518263ffffffff1660e01b8152600401610c809190613f3b565b5f516020615b565f395f51905f5254610e9a90600160601b900461ffff161580610e6f5750610e6d611fb3565b155b6040518060400160405280600d81526020016c6e6f74206f6e20636c6f6e657360981b815250612c8c565b5f546001600160a01b031680610ed05781806020019051810190610ebe91906144b3565b92509050610ecb81612c9e565b610f18565b336001600160a01b03821614610f185760405162461bcd60e51b815260206004820152600d60248201526c3737ba103a34329037bbb732b960991b604482015260640161085d565b5f516020615b965f395f51905f525415801590610f6357505f516020615b965f395f51905f52547f00000000000000000000000000000000000000000000000000000000000000003f145b15610fa65760405162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b604482015260640161085d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd546001600160a01b0316611007577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd80546001600160a01b031916301790555b7f00000000000000000000000000000000000000000000000000000000000000003f5f516020615b965f395f51905f52557f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561109b82612cb7565b7f00000000000000000000000000000000000000000000000000000000000000003f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166110f85f546001600160a01b031690565b6001600160a01b03167fe73e754121f0bad1327816970101955bfffdf53d270ac509d777c25be070d7f661112a6112bd565b6040516111379190613f50565b60405180910390a45050565b5f61114c612dc0565b5f61119161118e86868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061208d92505050565b90565b6040516303e8c70160e51b81526001600160e01b031982166004820152841515602482015290915073__$2bc6e2b54ed0220eba705c4bcfa4927117$__90637d18e020906044015f6040518083038186803b1580156111ee575f5ffd5b505af4158015611200573d5f5f3e3d5ffd5b50505050336001600160a01b03167f757500535198cca670e5ed07230e87648f077ff0ec74b0cef5df05db58a9961882878760405161124193929190614528565b60405180910390a273__$2bc6e2b54ed0220eba705c4bcfa4927117$__63fce897db6040518163ffffffff1660e01b8152600401602060405180830381865af4158015611290573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112b4919061454a565b95945050505050565b60606112e87f0000000000000000000000000000000000000000000000000000000000000000612dec565b905090565b5f6112f6612dc0565b6040516301d63b7f60e01b815273__$2bc6e2b54ed0220eba705c4bcfa4927117$__906301d63b7f90611337908a908a908a908a908a908a906004016145a6565b602060405180830381865af4925050508015611370575060408051601f3d908101601f1916820190925261136d9181019061454a565b60015b6113e35761137c614639565b806308c379a0036113aa5750611390614651565b8061139b57506113ac565b6113a4816107f5565b50611473565b505b3d8080156113d5576040519150601f19603f3d011682016040523d82523d5f602084013e6113da565b606091505b506113a4612e94565b336001600160a01b03167fc15d7f9f6442190dc6f24107279211aeb0c9e831201b7660eb0dee70e439380461144f61118e8b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061208d92505050565b8a8a8a8a8a8a60405161146897969594939291906146d3565b60405180910390a290505b9695505050505050565b5f611486612dc0565b73__$2bc6e2b54ed0220eba705c4bcfa4927117$__630873d81d87878686897f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa158015611501573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115259190614776565b6040518763ffffffff1660e01b815260040161154696959493929190614791565b6040805180830381865af492505050801561157e575060408051601f3d908101601f1916820190925261157b918101906147dd565b60015b6115f15761158a614639565b806308c379a0036115b8575061159e614651565b806115a957506115ba565b6115b2816107f5565b506112b4565b505b3d8080156115e3576040519150601f19603f3d011682016040523d82523d5f602084013e6115e8565b606091505b506115b2612e94565b336001600160a01b03167fae160f4bc68d30bb720cf2faa436df303e1cb02624a87bf4af0a30d51783d87b61165d61118e8b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061208d92505050565b8a8a8a5f30886040516116769796959493929190614809565b60405180910390a2509695505050505050565b5f7f00000000000000000000000000000000000000000000000000000000000000008015610bf25750816001600160a01b03166116cd5f546001600160a01b031690565b6001600160a01b03161492915050565b6020838101355f9081527fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba53903909152604090205460e01b6001600160e01b0319811661173b5760405163e60dce7160e01b815260040160405180910390fd5b5f6117458261299c565b90505f61175482600401612b13565b60a081015190915061ffff16611770608088016060890161487a565b61ffff161015611793576040516363daeb7760e01b815260040160405180910390fd5b604051633686b53f60e11b81525f906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636d0d6a7e906117e5908a908a908a90600401614895565b5f604051808303815f875af1158015611800573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526118279190810190614a42565b90505f815160ff81111561183d5761183d613a71565b14801561185f575060048160200151601381111561185d5761185d613a71565b145b61187c5760405163734fff6760e11b815260040160405180910390fd5b600583015460808201516001600160401b03600160c01b90920482169116116118b857604051636f162bfd60e11b815260040160405180910390fd5b604082015160058401546118e19162ffffff1690600160c01b90046001600160401b0316614b11565b6001600160401b031681608001516001600160401b0316101561191757604051630fbbc58160e01b815260040160405180910390fd5b60058301546080820151600160b81b82045f90810b92909161194891600160c01b90046001600160401b0316614b30565b600586015462ffffff919091169150600160401b90046001600160401b03165f61197185612ec5565b90505f61197e8383614b4f565b90505f5f8260060b12156119ba578361199683614b7e565b6119a2906103e8614ba2565b66ffffffffffffff166119b59190614bc1565b6119da565b836119c7836103e8614ba2565b66ffffffffffffff166119da9190614bc1565b9050876080015161ffff165f1480611a035750876080015161ffff16816001600160401b031611155b611a2057604051637b0d2bb560e01b815260040160405180910390fd5b60058901805460808901516001600160401b03908116600160c01b026001600160c01b03918716600160401b026fffffffffffffffff00000000000000001966ffffffffffffff8816600160801b021676ffffffffffffffffffffffffffffff000000000000000019909416939093179290921716179055604087015160068a01555f611ab75f516020615b765f395f51905f5290565b600501546001600160a01b031603611b46576080808801516040808a015181516001600160401b039384168152602081019190915291861690820152600684900b60608201525f88900b918101919091526001600160e01b03198b16907f0800977f281a92a8fb15f0b059791b2ffcc82fdc78be5227cec46afdb45f947d9060a00160405180910390a2611bfd565b5f516020615b765f395f51905f526005015460808801516040808a0151905163292e503960e11b81526001600160e01b03198e1660048201526001600160401b03928316602482015260448101919091528186166064820152600685900b608482015290871660a48201525f88900b60c48201526001600160a01b039091169063525ca0729060e4015f604051808303815f87803b158015611be6575f5ffd5b505af1158015611bf8573d5f5f3e3d5ffd5b505050505b50505050505050505050505050565b611c14612dc0565b611c1d5f612c9e565b565b611c27611fb3565b611c6e5760405162461bcd60e51b8152602060048201526018602482015277436c6f6e61626c653a206f6e6c79206f6e20636c6f6e657360401b604482015260640161085d565b611c76612dc0565b611d836001600160a01b0382163014801590611cc457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b8015611cd957505f826001600160a01b03163b115b8015611d555750306001600160a01b0316826001600160a01b0316635f1cf1376040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d26573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d4a9190614776565b6001600160a01b0316145b6040518060400160405280601081526020016f34b73b30b634b21031b7b739bab6b2b960811b815250612c8c565b7fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390580546001600160a01b0319166001600160a01b0392909216919091179055565b611c1d612fa0565b5f611dd561301b565b604051633f64701560e21b81526001600160a01b03919091169063fd91c05490611e129085905f516020615b565f395f51905f5290600401614bfa565b6020604051808303815f875af1158015611e2e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bf29190614776565b611e5a6139d2565b506040805160c0810182525f516020615b565f395f51905f525462ffffff808216835260ff630100000083041615156020840152600160201b8204811693830193909352600160381b8104909216606082015261ffff600160501b830481166080830152600160601b90920490911660a082015290565b604080516080810182525f808252602082018190529181018290526060810191909152610bf273__$2bc6e2b54ed0220eba705c4bcfa4927117$__639744540984610e24565b6040805160a0810182525f808252602082018190528183018190526060820181905260808201529051639744540960e01b815273__$2bc6e2b54ed0220eba705c4bcfa4927117$__90639744540990611f74908590600401613f3b565b60a060405180830381865af4158015611f8f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bf291906143cd565b5f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc600101546001600160a01b031630148015906112e85750507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630141590565b612025612dc0565b61206f61203f61203a36849003840184614c62565b61314e565b60405180604001604052806012815260200171696e76616c696420636f6e646974696f6e7360701b815250612c8c565b805f516020615b565f395f51905f526120888282614d09565b505050565b5f610bf282613182565b5f5f6120e26120dd61118e86868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061208d92505050565b61299c565b90506120ed816131b1565b949350505050565b6040805160a0810182525f808252602082018190528183018190526060820181905260808201529051636337a60560e11b815273__$2bc6e2b54ed0220eba705c4bcfa4927117$__9063c66f4c0a90611f74908590600401613f3b565b5f61215b612dc0565b73__$2bc6e2b54ed0220eba705c4bcfa4927117$__63ef0bf0a0868685877f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121d5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121f99190614776565b6040518663ffffffff1660e01b8152600401612219959493929190614e10565b602060405180830381865af4925050508015612252575060408051601f3d908101601f1916820190925261224f9181019061454a565b60015b6122c55761225e614639565b806308c379a00361228c5750612272614651565b8061227d575061228e565b612286816107f5565b506120ed565b505b3d8080156122b7576040519150601f19603f3d011682016040523d82523d5f602084013e6122bc565b606091505b50612286612e94565b336001600160a01b03167fae160f4bc68d30bb720cf2faa436df303e1cb02624a87bf4af0a30d51783d87b61233161118e89898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061208d92505050565b8888885f308a60405161234a9796959493929190614809565b60405180910390a295945050505050565b6040805160a0810182525f80825260208201819052818301819052606082018190526080820152905163d9ea438f60e01b81526001600160e01b03198416600482015262ffffff8316602482015273__$2bc6e2b54ed0220eba705c4bcfa4927117$__9063d9ea438f9060440160a060405180830381865af41580156123e3573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d1b91906143cd565b60606124128261299c565b805461241d9061437f565b80601f01602080910402602001604051908101604052809291908181526020018280546124499061437f565b80156124945780601f1061246b57610100808354040283529160200191612494565b820191905f5260205f20905b81548152906001019060200180831161247757829003601f168201915b50505050509050919050565b5f6112e86001546001600160a01b031690565b5f610bf282612aa1565b5f6124c88383612097565b6124e557604051630295d7cd60e31b815260040160405180910390fd5b5f604051806020016124f690613a06565b6020820181038252601f19601f8201166040525090505f3061254f61118e87878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061208d92505050565b60405160609290921b6bffffffffffffffffffffffff191660208301526001600160e01b031916603482015260380160405160208183030381529060405290505f61259a8383613206565b9050806001600160a01b03163b5f036112b4575f6125b88484613287565b90505f8151602083015ff5979650505050505050565b5f6125d7612dc0565b61261b87878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250899250889150879050866132b3565b979650505050505050565b61262e612dc0565b61263781613390565b50565b5f808083816126488261299c565b90505f61265782600401612b13565b6060810151604051631752c19f60e01b8152600481018590526001600160e01b03198616602482015262ffffff90911660448201529091505f9073__$2bc6e2b54ed0220eba705c4bcfa4927117$__90631752c19f9060640160c060405180830381865af41580156126cb573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126ef9190614e4b565b80519091506001600160401b031661270b57806020015161270e565b80515b6001600160401b0316965080608001516001600160401b03169550855f1461276757816060015162ffffff1681608001516127499190614b11565b6001600160401b0316421161275f5760c861276b565b61019061276b565b6101945b61ffff169450505050509193909250565b612784612dc0565b61279961203f61203a36849003840184614c62565b61208883838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506127e19250505036849003840184614c62565b6133c1565b5f6127ef611fb3565b6128365760405162461bcd60e51b8152602060048201526018602482015277436c6f6e61626c653a206f6e6c79206f6e20636c6f6e657360401b604482015260640161085d565b5f61283f6134e5565b805490915060ff600160401b82041615906001600160401b03165f811580156128655750825b90505f826001600160401b031660011480156128805750303b155b90508115801561288e575080155b156128ac5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156128d657845460ff60401b1916600160401b1785555b60408051808201909152600c81526b3d32b9379031bab930ba37b960a11b602082015261290f906001600160a01b038a16151590612c8c565b61291888612c9e565b61292d61203f61203a368a90038a018a614c62565b865f516020615b565f395f51905f526129468282614d09565b5030965050831561299157845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505092915050565b6001600160e01b031981165f9081527fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390160205260408120610bf2565b6001600160e01b031981165f9081527fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390160209081526040918290206003015482516008808252610120820190945260609391929091908201610100803683370190505091505f5b6008811015612a9957816001600160e01b031981165f03612a605750612a99565b80848381518110612a7357612a7361436b565b6001600160e01b03199092166020928302919091018201529290921b9150600101612a3f565b825250919050565b6001600160e01b031981165f9081527fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390160205260408120600101545f516020615b765f395f51905f528054909163ffffffff16908110612b0357612b0361436b565b905f5260205f2001549050919050565b612b1b6139d2565b6040805160c0810190915282545f516020615b565f395f51905f529190819062ffffff1615612b5057845462ffffff16612b58565b825462ffffff165b62ffffff16815284546020909101906301000000900460ff1680612b84575082546301000000900460ff165b151581528454602090910190600160201b900462ffffff1615612bb4578454600160201b900462ffffff16612bc3565b8254600160201b900462ffffff165b62ffffff90811682528554602090920191600160381b90041615612bf4578454600160381b900462ffffff16612c03565b8254600160381b900462ffffff165b62ffffff1681528454602090910190600160501b900461ffff1615612c34578454600160501b900461ffff16612c42565b8254600160501b900461ffff165b61ffff90811682528554602090920191600160601b90041615612c71578454600160601b900461ffff16612c7f565b8254600160601b900461ffff165b61ffff1690529392505050565b81612c9a57612c9a816107f5565b5050565b600180546001600160a01b03191690556126378161350d565b5f516020615b965f395f51905f52541580612d4b57506040805160c0810182525f516020615b565f395f51905f525462ffffff808216835260ff630100000083041615156020840152600160201b8204811693830193909352600160381b8104909216606082015261ffff600160501b830481166080830152600160601b90920490911660a0820152612d499061314e565b155b1561263757506040805160c081018252620f424081525f60208201819052610384928201929092526201518060608201526080810191909152600360a0909101525f516020615b565f395f51905f5280546dffffffffffffffffffffffffffff19166c030000015180000384000f4240179055565b5f546001600160a01b03163314611c1d5760405163118cdaa760e01b815233600482015260240161085d565b60605f612df88361355c565b6001600160401b03811115612e0f57612e0f613dab565b6040519080825280601f01601f191660200182016040528015612e39576020820181803683370190505b5090505f5b8151811015612e8d57838160208110612e5957612e5961436b565b1a60f81b828281518110612e6f57612e6f61436b565b60200101906001600160f81b03191690815f1a905350600101612e3e565b5092915050565b611c1d6040518060400160405280601081526020016f1d5b9a185b991b1959081c995d995c9d60821b8152506107f5565b5f816004612ed282613599565b158015612f045750806013811115612eec57612eec613a71565b82602001516013811115612f0257612f02613a71565b145b612f505760405162461bcd60e51b815260206004820152601760248201527f63626f723a2063616e6e6f742066657463682064617461000000000000000000604482015260640161085d565b612f5d8460a001516135a6565b9250612f6c8260a001516135f5565b82602001906013811115612f8257612f82613a71565b90816013811115612f9557612f95613a71565b815250505050919050565b3380612faa6124a0565b6001600160a01b0316146130125760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b606482015260840161085d565b61263781612c9e565b5f5f613081604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81527f000000000000000000000000000000000000000000000000000000000000000060601b60148201526e5af43d82803e903d91602b57fd5bf360881b602882015290565b90506037815ff091506001600160a01b0382166130e05760405162461bcd60e51b815260206004820152601760248201527f436c6f6e61626c653a20435245415445206661696c6564000000000000000000604482015260640161085d565b6001600160a01b0382167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316336001600160a01b03167ff376596be5039d6b2fb36fead4c8a370eae426e790a869be8db074ab608cc24860405160405180910390a45090565b80515f9062ffffff161580159061316d57505f826060015162ffffff16115b8015610bf257505060a0015161ffff16151590565b5f816040516020016131949190613f50565b604051602081830303815290604052805190602001209050919050565b60028101545f901515806131e657506001820154600160501b900460ff1660048111156131e0576131e0613a71565b60ff1615155b80610bf257505060010154600160601b90046001600160a01b0316151590565b5f6001600160f81b0319308261321c8686613287565b805160209182012060405161326895949392016001600160f81b031994909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051601f1981840301815291905280516020909101209392505050565b6060828260405160200161329c929190614ed3565b604051602081830303815290604052905092915050565b6040516001623c7a3760e21b031981525f9073__$2bc6e2b54ed0220eba705c4bcfa4927117$__9063ff0e1724906132f79089908990899089908990600401614ee7565b602060405180830381865af4925050508015613330575060408051601f3d908101601f1916820190925261332d9181019061454a565b60015b61333c5761158a614639565b337fae160f4bc68d30bb720cf2faa436df303e1cb02624a87bf4af0a30d51783d87b61336a61118e8a61208d565b898989898960405161338196959493929190614f2c565b60405180910390a290506112b4565b613398612dc0565b6001600160a01b03811661301257604051631e4fbdf760e01b81525f600482015260240161085d565b5f6133ce61118e8461208d565b90505f6133da8261299c565b835160048201805460208701516040880151606089015160808a015160a08b015162ffffff97881663ffffffff19909616959095176301000000851515021769ffffffffffff000000001916600160201b9388169390930262ffffff60381b191692909217600160381b96909116959095029490941763ffffffff60501b1916600160501b61ffff9586160261ffff60601b191617600160601b949092169390930217905590915061349a5760058101805467ffffffffffffffff191690555b336001600160a01b03167ffce4e4e8186972930aa2a85773b7285ff9bd4d0b530ad546e582202e59f63abd8386866040516134d793929190614f81565b60405180910390a250505050565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610bf2565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5b6020811015613594578181602081106135795761357961436b565b1a60f81b6001600160f81b031916156135945760010161355e565b919050565b5f610bf2825f01516136b7565b5f815f8060ff16826040015160ff16146135e457604080830151905161800560e51b815260ff9182166004820152908216602482015260440161085d565b6120ed845f015185606001516136ee565b5f6136098251805151602090910151101590565b613594576006826040015160ff16116136515760408201516502020183808360d11b9060ff166007811061363f5761363f61436b565b1a6013811115610bf257610bf2613a71565b816040015160ff1660070361359457816060015160ff166014148061367d5750816060015160ff166015145b1561368a57506002919050565b6019826060015160ff16101580156136aa5750601b826060015160ff1611155b1561359457506005919050565b5f60f08260ff8111156136cc576136cc613a71565b1480610bf2575060f18260ff8111156136e7576136e7613a71565b1492915050565b5f60188260ff161015613705575060ff8116610bf2565b8160ff1660180361372357613719836137b5565b60ff169050610bf2565b8160ff166019036137425761373783613815565b61ffff169050610bf2565b8160ff16601a036137635761375683613880565b63ffffffff169050610bf2565b8160ff16601b0361377e57613777836138de565b9050610bf2565b8160ff16601f0361379757506001600160401b03610bf2565b604051636d785b1360e01b815260ff8316600482015260240161085d565b5f8160200151825f015151808211156137eb576040516363a056dd60e01b8152600481018390526024810182905260440161085d565b835160208501805180830160010151955090819061380882614fb3565b8152505050505050919050565b5f816020015160026138279190614fcb565b82515180821115613855576040516363a056dd60e01b8152600481018390526024810182905260440161085d565b83516020850180516002818401810151965090916138738284614fcb565b9052509395945050505050565b5f816020015160046138929190614fcb565b825151808211156138c0576040516363a056dd60e01b8152600481018390526024810182905260440161085d565b83516020850180516004818401810151965090916138738284614fcb565b5f816020015160086138f09190614fcb565b8251518082111561391e576040516363a056dd60e01b8152600481018390526024810182905260440161085d565b83516020850180516008818401810151965090916138738284614fcb565b6040518060e001604052805f81526020015f5f0b815260200160608152602001613976604080518082019091525f81526060602082015290565b8152604080516060810182525f80825260208281018290529282015291019081526020016139a26139d2565b81526040805160a0810182525f808252602082810182905292820181905260608201819052608082015291015290565b6040805160c0810182525f80825260208201819052918101829052606081018290526080810182905260a081019190915290565b610b7780614fdf83390190565b6001600160e01b031981168114612637575f5ffd5b5f60208284031215613a38575f5ffd5b8135610d1b81613a13565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b634e487b7160e01b5f52602160045260245ffd5b60058110613a9557613a95613a71565b9052565b60048110613a9557613a95613a71565b613ab4828251613a99565b6020818101516001600160a01b031690830152604090810151910152565b62ffffff815116825260208101511515602083015262ffffff604082015116604083015262ffffff606082015116606083015261ffff608082015116608083015261ffff60a08201511660a08301525050565b80515f0b82526001600160401b036020820151166020830152604081015160060b60408301526001600160401b036060820151166060830152608081015160808301525050565b8051825260208101515f0b60208301525f60408201516102406040850152613b98610240850182613a43565b90506060830151848203606086015260408201613bb6838351613a85565b602091820151604084840152805191829052909101906060600582901b8401810191908401905f5b81811015613c1057605f19868503018352613bfa848651613a43565b6020958601959094509290920191600101613bde565b50505060808501519250613c276080870184613aa9565b60a08501519250613c3b60e0870184613ad2565b60c085015192506112b46101a0870184613b25565b602081525f610d1b6020830184613b6c565b5f5f83601f840112613c72575f5ffd5b5081356001600160401b03811115613c88575f5ffd5b602083019150836020828501011115613c9f575f5ffd5b9250929050565b5f5f60208385031215613cb7575f5ffd5b82356001600160401b03811115613ccc575f5ffd5b613cd885828601613c62565b90969095509350505050565b6001600160401b0381168114612637575f5ffd5b803561359481613ce4565b5f5f60408385031215613d14575f5ffd5b823591506020830135613d2681613ce4565b809150509250929050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015613d8857603f19878603018452613d73858351613b6c565b94506020938401939190910190600101613d57565b50929695505050505050565b5f60208284031215613da4575f5ffd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b60c081018181106001600160401b0382111715613dde57613dde613dab565b60405250565b604081018181106001600160401b0382111715613dde57613dde613dab565b601f8201601f191681016001600160401b0381118282101715613e2857613e28613dab565b6040525050565b5f6001600160401b03821115613e4757613e47613dab565b50601f01601f191660200190565b5f613e5f83613e2f565b604051613e6c8282613e03565b809250848152858585011115613e80575f5ffd5b848460208301375f6020868301015250509392505050565b5f60208284031215613ea8575f5ffd5b81356001600160401b03811115613ebd575f5ffd5b8201601f81018413613ecd575f5ffd5b6120ed84823560208401613e55565b8015158114612637575f5ffd5b5f5f5f60408486031215613efb575f5ffd5b83356001600160401b03811115613f10575f5ffd5b613f1c86828701613c62565b9094509250506020840135613f3081613edc565b809150509250925092565b6001600160e01b031991909116815260200190565b602081525f610d1b6020830184613a43565b805f0b8114612637575f5ffd5b5f5f5f5f5f5f60808789031215613f84575f5ffd5b86356001600160401b03811115613f99575f5ffd5b613fa589828a01613c62565b9097509550506020870135613fb981613f62565b9350604087013560058110613fcc575f5ffd5b925060608701356001600160401b03811115613fe6575f5ffd5b8701601f81018913613ff6575f5ffd5b80356001600160401b0381111561400b575f5ffd5b8960208260051b840101111561401f575f5ffd5b60208201935080925050509295509295509295565b5f5f5f5f5f60608688031215614048575f5ffd5b85356001600160401b0381111561405d575f5ffd5b61406988828901613c62565b909650945050602086013561407d81613f62565b925060408601356001600160401b03811115614097575f5ffd5b6140a388828901613c62565b969995985093965092949392505050565b6001600160a01b0381168114612637575f5ffd5b5f602082840312156140d8575f5ffd5b8135610d1b816140b4565b5f5f5f604084860312156140f5575f5ffd5b83356001600160401b0381111561410a575f5ffd5b840160e0818703121561411b575f5ffd5b925060208401356001600160401b03811115614135575f5ffd5b61414186828701613c62565b9497909650939450505050565b60c08101610bf28284613ad2565b60a08101610bf28284613b25565b5f60c0828403121561417a575f5ffd5b50919050565b5f60c08284031215614190575f5ffd5b610d1b838361416a565b5f5f5f5f606085870312156141ad575f5ffd5b84356001600160401b038111156141c2575f5ffd5b6141ce87828801613c62565b90955093505060208501356141e281613f62565b9396929550929360400135925050565b62ffffff81168114612637575f5ffd5b5f5f60408385031215614213575f5ffd5b823561421e81613a13565b91506020830135613d26816141f2565b5f5f5f5f5f5f60a08789031215614243575f5ffd5b86356001600160401b03811115614258575f5ffd5b61426489828a01613c62565b909750955050602087013561427881613f62565b935060408701356004811061428b575f5ffd5b9250606087013561429b816140b4565b95989497509295919493608090920135925050565b5f5f5f60e084860312156142c2575f5ffd5b83356001600160401b038111156142d7575f5ffd5b6142e386828701613c62565b90945092506142f79050856020860161416a565b90509250925092565b5f5f60e08385031215614311575f5ffd5b823561431c816140b4565b915061432b846020850161416a565b90509250929050565b5f81518060208401855e5f93019283525090919050565b5f6143568285614334565b6101d160f51b81526112b46002820185614334565b634e487b7160e01b5f52603260045260245ffd5b600181811c9082168061439357607f821691505b60208210810361417a57634e487b7160e01b5f52602260045260245ffd5b805161359481613ce4565b8051600681900b8114613594575f5ffd5b5f60a08284031280156143de575f5ffd5b5060405160a081016001600160401b038111828210171561440157614401613dab565b604052825161440f81613f62565b8152602083015161441f81613ce4565b6020820152614430604084016143bc565b6040820152606083015161444381613ce4565b60608201526080928301519281019290925250919050565b5f82601f83011261446a575f5ffd5b815161447581613e2f565b6040516144828282613e03565b828152856020848701011115614496575f5ffd5b8260208601602083015e5f92810160200192909252509392505050565b5f5f604083850312156144c4575f5ffd5b82516144cf816140b4565b60208401519092506001600160401b038111156144ea575f5ffd5b6144f68582860161445b565b9150509250929050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b63ffffffff60e01b84168152604060208201525f6112b4604083018486614500565b5f6020828403121561455a575f5ffd5b8151610d1b81613a13565b5f5f8335601e1984360301811261457a575f5ffd5b83016020810192503590506001600160401b03811115614598575f5ffd5b803603821315613c9f575f5ffd5b608081525f6145b960808301888a614500565b865f0b60208401526145ce6040840187613a85565b8281036060840152838152602080820190600586901b830101865f5b8781101561462857848303601f19018452614605828a614565565b614610858284614500565b602096870196909550939093019250506001016145ea565b50909b9a5050505050505050505050565b5f60033d111561118e5760045f5f3e505f5160e01c90565b5f60443d101561465e5790565b6040513d600319016004823e80513d60248201116001600160401b038211171561468757505090565b80820180516001600160401b038111156146a2575050505090565b3d84016003190182820160200111156146bc575050505090565b6146cb60208285010185613e03565b509392505050565b63ffffffff60e01b8816815260a060208201525f6146f560a08301888a614500565b865f0b604084015261470a6060840187613a85565b8281036080840152838152602080820190600586901b830101865f5b8781101561476457848303601f19018452614741828a614565565b61474c858284614500565b60209687019690955093909301925050600101614726565b50909c9b505050505050505050505050565b5f60208284031215614786575f5ffd5b8151610d1b816140b4565b608081525f6147a460808301888a614500565b82810360208401526147b7818789614500565b5f9590950b604084015250506001600160a01b0391909116606090910152949350505050565b5f5f604083850312156147ee575f5ffd5b82516147f981613a13565b6020939093015192949293505050565b63ffffffff60e01b8816815260c060208201525f61482b60c08301888a614500565b9050855f0b60408301526148426060830186613a99565b6001600160a01b0393909316608082015260a0015295945050505050565b61ffff81168114612637575f5ffd5b803561359481614860565b5f6020828403121561488a575f5ffd5b8135610d1b81614860565b6040808252843582820152602085013560608301525f908501356148b881614860565b61ffff16608083015260608501356148cf81614860565b61ffff1660a083015260808501356148e681613ce4565b6001600160401b031660c083015261490060a08601613cf8565b6001600160401b031660e083015261491b60c0860186614565565b60e061010085015261493261012085018284614500565b9150508281036020840152611473818587614500565b805160148110613594575f5ffd5b805160ff81168114613594575f5ffd5b5f60c08284031215614976575f5ffd5b60405161498281613dbf565b80915082516001600160401b0381111561499a575f5ffd5b8301604081860312156149ab575f5ffd5b6040516149b781613de4565b81516001600160401b038111156149cc575f5ffd5b6149d88782850161445b565b8252506020918201518282015282526149f2908401614956565b6020820152614a0360408401614956565b6040820152614a1460608401614956565b6060820152614a25608084016143b1565b6080820152614a3660a084016143b1565b60a08201525092915050565b5f60208284031215614a52575f5ffd5b81516001600160401b03811115614a67575f5ffd5b820160c08185031215614a78575f5ffd5b604051614a8481613dbf565b81516101008110614a93575f5ffd5b8152614aa160208301614948565b60208201526040828101519082015260608083015190820152614ac6608083016143b1565b608082015260a08201516001600160401b03811115614ae3575f5ffd5b614aef86828501614966565b60a083015250949350505050565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b038181168382160190811115610bf257610bf2614afd565b6001600160401b038281168282160390811115610bf257610bf2614afd565b600782810b9082900b03677fffffffffffffff198112677fffffffffffffff82131715610bf257610bf2614afd565b5f8160060b667fffffffffffff198103614b9a57614b9a614afd565b5f0392915050565b5f8260060b8260060b028060060b9150808214612e8d57612e8d614afd565b5f6001600160401b03831680614be557634e487b7160e01b5f52601260045260245ffd5b806001600160401b0384160491505092915050565b6001600160a01b0383168152815462ffffff808216602080850191909152601883901c60ff161515604085015282901c81166060840152603882901c166080830152605081901c61ffff1660a083015260e0820190606081901c61ffff1660c08401526146cb565b5f60c0828403128015614c73575f5ffd5b50604051614c8081613dbf565b8235614c8b816141f2565b81526020830135614c9b81613edc565b60208201526040830135614cae816141f2565b60408201526060830135614cc1816141f2565b60608201526080830135614cd481614860565b6080820152614ce560a0840161486f565b60a08201529392505050565b5f8135610bf2816141f2565b5f8135610bf281614860565b8135614d14816141f2565b62ffffff8116905081548162ffffff1982161783556020840135614d3781613edc565b63ffffffff199190911690911790151560181b63ff000000161781555f6040830135614d62816141f2565b825466ffffff00000000191660209190911b66ffffff000000001617825550614db2614d9060608401614cf1565b825462ffffff60381b191660389190911b69ffffff0000000000000016178255565b614de1614dc160808401614cfd565b82805461ffff60501b191660509290921b61ffff60501b16919091179055565b612c9a614df060a08401614cfd565b82805461ffff60601b191660609290921b61ffff60601b16919091179055565b608081525f614e23608083018789614500565b6020830195909552505f9290920b60408301526001600160a01b031660609091015292915050565b5f60c0828403128015614e5c575f5ffd5b50604051614e6981613dbf565b8251614e7481613ce4565b81526020830151614e8481613ce4565b6020820152614e95604084016143bc565b60408201526060830151614ea881613f62565b60608201526080830151614ebb81613ce4565b608082015260a0928301519281019290925250919050565b5f6120ed614ee18386614334565b84614334565b60a081525f614ef960a0830188613a43565b9050855f0b6020830152614f106040830186613a99565b6001600160a01b03939093166060820152608001529392505050565b63ffffffff60e01b8716815260c060208201525f614f4d60c0830188613a43565b9050855f0b6040830152614f646060830186613a99565b6001600160a01b0393909316608082015260a00152949350505050565b63ffffffff60e01b8416815261010060208201525f614fa4610100830185613a43565b90506120ed6040830184613ad2565b5f60018201614fc457614fc4614afd565b5060010190565b80820180821115610bf257610bf2614afd56fe610100604052348015610010575f5ffd5b50604051610b77380380610b7783398101604081905261002f916100c1565b6001600160e01b0319811660808190526040516371b50ecf60e11b815260048101919091526001600160a01b0383169063e36a1d9e90602401602060405180830381865afa158015610083573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100a79190610110565b60a052506001600160a01b031660c081905260e052610127565b5f5f604083850312156100d2575f5ffd5b82516001600160a01b03811681146100e8575f5ffd5b60208401519092506001600160e01b031981168114610105575f5ffd5b809150509250929050565b5f60208284031215610120575f5ffd5b5051919050565b60805160a05160c05160e0516109d16101a65f395f818160ee01528181610322015281816103f4015281816104cb01528181610569015261065701525f61024e01525f61013201525f818161021a015281816102970152818161035101528181610423015281816104f801528181610598015261068601526109d15ff3fe608060405234801561000f575f5ffd5b50600436106100e5575f3560e01c80638205bf6a11610088578063b5ab58dc11610063578063b5ab58dc14610202578063e9159d6414610215578063f98d06f014610249578063feaf968c14610270575f5ffd5b80638205bf6a146101a857806395d89b41146101b05780639a6fc8f5146101b8575f5ffd5b806350d25bcd116100c357806350d25bcd1461017c57806354fd4d5014610184578063668a0f021461018b5780637284e41614610193575f5ffd5b80631014d375146100e9578063311893341461012d578063313ce56714610162575b5f5ffd5b6101107f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6101547f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610124565b61016a610278565b60405160ff9091168152602001610124565b61015461031e565b6003610154565b6101546103d8565b61019b6103e6565b604051610124919061072e565b6101546103f0565b61019b6104b1565b6101cb6101c6366004610763565b610561565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a001610124565b610154610210366004610793565b610640565b61023c7f000000000000000000000000000000000000000000000000000000000000000081565b60405161012491906107aa565b6101107f000000000000000000000000000000000000000000000000000000000000000081565b6101cb61064f565b60405163274d45db60e01b81525f908190339063274d45db906102bf907f0000000000000000000000000000000000000000000000000000000000000000906004016107aa565b602060405180830381865afa1580156102da573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102fe91906107d4565b90505f815f0b1261030f5780610318565b610318816107ed565b91505090565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663974454097f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040161038c91906107aa565b60a060405180830381865afa1580156103a7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103cb9190610872565b6020015160070b92915050565b5f6103e16103f0565b905090565b60606103e16104b1565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663974454097f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040161045e91906107aa565b60a060405180830381865afa158015610479573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049d9190610872565b6060015167ffffffffffffffff1692915050565b604051631c4f621160e31b81526060906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e27b108890610520907f0000000000000000000000000000000000000000000000000000000000000000906004016107aa565b5f60405180830381865afa15801561053a573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526103e19190810190610907565b5f5f5f5f5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663974454097f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016105d391906107aa565b60a060405180830381865afa1580156105ee573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106129190610872565b6060810151602090910151979860079890980b9767ffffffffffffffff909116965086955088945092505050565b5f61064961031e565b92915050565b5f5f5f5f5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663974454097f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016106c191906107aa565b60a060405180830381865afa1580156106dc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107009190610872565b606081015160209091015167ffffffffffffffff9091169760079190910b9650879550859450849350915050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f60208284031215610773575f5ffd5b813569ffffffffffffffffffff8116811461078c575f5ffd5b9392505050565b5f602082840312156107a3575f5ffd5b5035919050565b6001600160e01b031991909116815260200190565b80515f81900b81146107cf575f5ffd5b919050565b5f602082840312156107e4575f5ffd5b61078c826107bf565b5f81810b6080810161080d57634e487b7160e01b5f52601160045260245ffd5b5f0392915050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561085257610852610815565b604052919050565b67ffffffffffffffff8116811461086f575f5ffd5b50565b5f60a0828403128015610883575f5ffd5b5060405160a0810167ffffffffffffffff811182821017156108a7576108a7610815565b6040526108b3836107bf565b815260208301516108c38161085a565b60208201526040830151600681900b81146108dc575f5ffd5b604082015260608301516108ef8161085a565b60608201526080928301519281019290925250919050565b5f60208284031215610917575f5ffd5b815167ffffffffffffffff81111561092d575f5ffd5b8201601f8101841361093d575f5ffd5b805167ffffffffffffffff81111561095757610957610815565b61096a601f8201601f1916602001610829565b81815285602083850101111561097e575f5ffd5b8160208401602083015e5f9181016020019190915294935050505056fea26469706673582212207fa6cfbe8c65c501885776a68960feb8fd0d4d488f13fa7ebb6cb904043bcc1b64736f6c634300081e0033c5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba53904c5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba53900360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbea2646970667358221220794d625b4f6c784d71ff49fec02258c4803965d569745081844c2abccc51db1c64736f6c634300081e0033";
  readonly deployedBytecode: "0x608060405234801561000f575f5ffd5b50600436106102d4575f3560e01c80639474f45b11610180578063c5010d17116100e7578063e36a1d9e116100a0578063f2fde38b1161007a578063f2fde38b1461078e578063f78eea83146107a1578063fa78a971146107cf578063fd91c054146107e2576102d4565b8063e36a1d9e14610755578063e56bd31514610768578063e59a78081461077b576102d4565b8063c5010d17146106ee578063c66f4c0a14610701578063c70f2f7314610714578063d9ea438f14610727578063e27b10881461073a578063e30c39781461074d576102d4565b8063aba146ff11610139578063aba146ff14610656578063adb7c3f714610669578063b411ee9414610676578063b4fd729614610689578063b5dcc9111461044e578063bff852fa146106b9576102d4565b80639474f45b146105f457806396834ad3146105f457806397445409146106075780639d61f28b146103e4578063a04daef014610627578063a9e954b91461062f576102d4565b80635479d9401161023f578063715018a6116101f85780638124b78e116101d25780638124b78e1461058b5780638a416ea91461059e5780638da5cb5b146105cf5780639190795f146105df576102d4565b8063715018a61461056857806379393a8b1461057057806379ba509714610583576102d4565b80635479d940146104e157806354fd4d5014610507578063608921931461051c57806367e559ac1461052f5780636b58960a146105425780636d0d6a7e14610555576102d4565b80633108e1b8116102915780633108e1b81461043957806331d98b3f1461044e578063439fab91146104615780634c7510d0146104745780635001f3b51461049457806352d1902d146104ba576102d4565b80630683bcd2146103095780631014d37514610332578063158ef93e14610371578063238e0a8a1461039e578063274d45db146103bf578063288b5e67146103e4575b610307604051806040016040528060128152602001711d5b9cdd5c1c1bdc9d1959081b595d1a1bd960721b8152506107f5565b005b61031c610317366004613a28565b610866565b6040516103299190613c50565b60405180910390f35b6103597f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610329565b5f516020615b565f395f51905f5254600160601b900461ffff1615155b6040519015158152602001610329565b6103b16103ac366004613ca6565b610bf0565b604051908152602001610329565b6103d26103cd366004613a28565b610bf8565b6040515f9190910b8152602001610329565b6103f76103f2366004613d03565b610c15565b6040516103299190815160070b81526020808301516001600160401b03169082015260408083015160030b908201526060918201519181019190915260800190565b610441610d22565b6040516103299190613d31565b6103f761045c366004613d94565b610de2565b61030761046f366004613e98565b610e40565b610487610482366004613ee9565b611143565b6040516103299190613f3b565b7f0000000000000000000000000000000000000000000000000000000000000000610359565b6103b17f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000061038e565b61050f6112bd565b6040516103299190613f50565b61048761052a366004613f6f565b6112ed565b61048761053d366004614034565b61147d565b61038e6105503660046140c8565b611689565b6103076105633660046140e3565b6116dd565b610307611c0c565b61030761057e3660046140c8565b611c1f565b610307611dc4565b6103596105993660046140c8565b611dcc565b7fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390554600160a01b900460e01b610487565b5f546001600160a01b0316610359565b6105e7611e52565b604051610329919061414e565b6103f7610602366004613d94565b611ed1565b61061a610615366004613a28565b611f17565b604051610329919061415c565b61038e611fb3565b7f00000000000000000000000000000000000000000000000000000000000000003f6103b1565b610307610664366004614180565b61201d565b6363708c9360e01b610487565b6103b1610684366004613e98565b61208d565b7fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba53905546001600160a01b0316610359565b6040805180820190915260198152785769745072696365466565647355706772616461626c65563360381b602082015261050f565b61038e6106fc366004613ca6565b612097565b61061a61070f366004613a28565b6120f5565b61048761072236600461419a565b612152565b61061a610735366004614202565b61235b565b61050f610748366004613a28565b612407565b6103596124a0565b6103b1610763366004613a28565b6124b3565b610359610776366004613ca6565b6124bd565b61048761078936600461422e565b6125ce565b61030761079c3660046140c8565b612626565b6107b46107af366004613d94565b61263a565b60408051938452602084019290925290820152606001610329565b6103076107dd3660046142b0565b61277c565b6103596107f0366004614300565b6127e6565b6040805180820190915260198152785769745072696365466565647355706772616461626c65563360381b60208201528160405160200161083792919061434b565b60408051601f198184030181529082905262461bcd60e51b825261085d91600401613f50565b60405180910390fd5b61086e61393c565b5f6108788361299c565b6001810154909150600160501b900460ff1660605f82600481111561089f5761089f613a71565b14610a12575f6108b86001600160e01b031987166129d8565b905080516001600160401b038111156108d3576108d3613dab565b60405190808252806020026020018201604052801561090657816020015b60608152602001906001900390816108f15790505b5091505f5b8151811015610a0f575f516020615b765f395f51905f526001015f8383815181106109385761093861436b565b60200260200101516001600160e01b0319166001600160e01b03191681526020019081526020015f205f01805461096e9061437f565b80601f016020809104026020016040519081016040528092919081815260200182805461099a9061437f565b80156109e55780601f106109bc576101008083540402835291602001916109e5565b820191905f5260205f20905b8154815290600101906020018083116109c857829003601f168201915b50505050508382815181106109fc576109fc61436b565b602090810291909101015260010161090b565b50505b600183015460028401546040805160e08101909152600160581b830460ff1692600160601b90046001600160a01b03169080610a4d8a612aa1565b81526001880154600160201b90045f0b602082015287546040909101908890610a759061437f565b80601f0160208091040260200160405190810160405280929190818152602001828054610aa19061437f565b8015610aec5780601f10610ac357610100808354040283529160200191610aec565b820191905f5260205f20905b815481529060010190602001808311610acf57829003601f168201915b505050505081526020016040518060400160405280886004811115610b1357610b13613a71565b81526020018781525081526020016040518060600160405280866003811115610b3e57610b3e613a71565b8152602001846001600160a01b03168152602001858152508152602001610b6788600401612b13565b815260200173__$2bc6e2b54ed0220eba705c4bcfa4927117$__63974454098b6040518263ffffffff1660e01b8152600401610ba39190613f3b565b60a060405180830381865af4158015610bbe573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610be291906143cd565b905298975050505050505050565b5f5b92915050565b5f610c028261299c565b60010154600160201b90045f0b92915050565b604080516080810182525f808252602082018190528183018190526060820152905163d9ea438f60e01b81526001600160e01b03198416600482015262ffffff83166024820152610d1b9073__$2bc6e2b54ed0220eba705c4bcfa4927117$__9063d9ea438f906044015b60a060405180830381865af4158015610c9b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cbf91906143cd565b60408051608080820183525f80835260208084018290528385018290526060938401829052845192830185528581015160070b835282018190528451900b92810192909252918201516001600160401b03169181019190915290565b9392505050565b5f516020615b765f395f51905f528054606091906001600160401b03811115610d4d57610d4d613dab565b604051908082528060200260200182016040528015610d8657816020015b610d7361393c565b815260200190600190039081610d6b5790505b5091505f5b8251811015610ddd57610db8610317838381548110610dac57610dac61436b565b905f5260205f20015490565b838281518110610dca57610dca61436b565b6020908102919091010152600101610d8b565b505090565b604080516080810182525f808252602082018190529181018290526060810191909152610bf273__$2bc6e2b54ed0220eba705c4bcfa4927117$__63c66f4c0a845b6040518263ffffffff1660e01b8152600401610c809190613f3b565b5f516020615b565f395f51905f5254610e9a90600160601b900461ffff161580610e6f5750610e6d611fb3565b155b6040518060400160405280600d81526020016c6e6f74206f6e20636c6f6e657360981b815250612c8c565b5f546001600160a01b031680610ed05781806020019051810190610ebe91906144b3565b92509050610ecb81612c9e565b610f18565b336001600160a01b03821614610f185760405162461bcd60e51b815260206004820152600d60248201526c3737ba103a34329037bbb732b960991b604482015260640161085d565b5f516020615b965f395f51905f525415801590610f6357505f516020615b965f395f51905f52547f00000000000000000000000000000000000000000000000000000000000000003f145b15610fa65760405162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b604482015260640161085d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd546001600160a01b0316611007577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd80546001600160a01b031916301790555b7f00000000000000000000000000000000000000000000000000000000000000003f5f516020615b965f395f51905f52557f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561109b82612cb7565b7f00000000000000000000000000000000000000000000000000000000000000003f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166110f85f546001600160a01b031690565b6001600160a01b03167fe73e754121f0bad1327816970101955bfffdf53d270ac509d777c25be070d7f661112a6112bd565b6040516111379190613f50565b60405180910390a45050565b5f61114c612dc0565b5f61119161118e86868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061208d92505050565b90565b6040516303e8c70160e51b81526001600160e01b031982166004820152841515602482015290915073__$2bc6e2b54ed0220eba705c4bcfa4927117$__90637d18e020906044015f6040518083038186803b1580156111ee575f5ffd5b505af4158015611200573d5f5f3e3d5ffd5b50505050336001600160a01b03167f757500535198cca670e5ed07230e87648f077ff0ec74b0cef5df05db58a9961882878760405161124193929190614528565b60405180910390a273__$2bc6e2b54ed0220eba705c4bcfa4927117$__63fce897db6040518163ffffffff1660e01b8152600401602060405180830381865af4158015611290573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112b4919061454a565b95945050505050565b60606112e87f0000000000000000000000000000000000000000000000000000000000000000612dec565b905090565b5f6112f6612dc0565b6040516301d63b7f60e01b815273__$2bc6e2b54ed0220eba705c4bcfa4927117$__906301d63b7f90611337908a908a908a908a908a908a906004016145a6565b602060405180830381865af4925050508015611370575060408051601f3d908101601f1916820190925261136d9181019061454a565b60015b6113e35761137c614639565b806308c379a0036113aa5750611390614651565b8061139b57506113ac565b6113a4816107f5565b50611473565b505b3d8080156113d5576040519150601f19603f3d011682016040523d82523d5f602084013e6113da565b606091505b506113a4612e94565b336001600160a01b03167fc15d7f9f6442190dc6f24107279211aeb0c9e831201b7660eb0dee70e439380461144f61118e8b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061208d92505050565b8a8a8a8a8a8a60405161146897969594939291906146d3565b60405180910390a290505b9695505050505050565b5f611486612dc0565b73__$2bc6e2b54ed0220eba705c4bcfa4927117$__630873d81d87878686897f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa158015611501573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115259190614776565b6040518763ffffffff1660e01b815260040161154696959493929190614791565b6040805180830381865af492505050801561157e575060408051601f3d908101601f1916820190925261157b918101906147dd565b60015b6115f15761158a614639565b806308c379a0036115b8575061159e614651565b806115a957506115ba565b6115b2816107f5565b506112b4565b505b3d8080156115e3576040519150601f19603f3d011682016040523d82523d5f602084013e6115e8565b606091505b506115b2612e94565b336001600160a01b03167fae160f4bc68d30bb720cf2faa436df303e1cb02624a87bf4af0a30d51783d87b61165d61118e8b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061208d92505050565b8a8a8a5f30886040516116769796959493929190614809565b60405180910390a2509695505050505050565b5f7f00000000000000000000000000000000000000000000000000000000000000008015610bf25750816001600160a01b03166116cd5f546001600160a01b031690565b6001600160a01b03161492915050565b6020838101355f9081527fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba53903909152604090205460e01b6001600160e01b0319811661173b5760405163e60dce7160e01b815260040160405180910390fd5b5f6117458261299c565b90505f61175482600401612b13565b60a081015190915061ffff16611770608088016060890161487a565b61ffff161015611793576040516363daeb7760e01b815260040160405180910390fd5b604051633686b53f60e11b81525f906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636d0d6a7e906117e5908a908a908a90600401614895565b5f604051808303815f875af1158015611800573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526118279190810190614a42565b90505f815160ff81111561183d5761183d613a71565b14801561185f575060048160200151601381111561185d5761185d613a71565b145b61187c5760405163734fff6760e11b815260040160405180910390fd5b600583015460808201516001600160401b03600160c01b90920482169116116118b857604051636f162bfd60e11b815260040160405180910390fd5b604082015160058401546118e19162ffffff1690600160c01b90046001600160401b0316614b11565b6001600160401b031681608001516001600160401b0316101561191757604051630fbbc58160e01b815260040160405180910390fd5b60058301546080820151600160b81b82045f90810b92909161194891600160c01b90046001600160401b0316614b30565b600586015462ffffff919091169150600160401b90046001600160401b03165f61197185612ec5565b90505f61197e8383614b4f565b90505f5f8260060b12156119ba578361199683614b7e565b6119a2906103e8614ba2565b66ffffffffffffff166119b59190614bc1565b6119da565b836119c7836103e8614ba2565b66ffffffffffffff166119da9190614bc1565b9050876080015161ffff165f1480611a035750876080015161ffff16816001600160401b031611155b611a2057604051637b0d2bb560e01b815260040160405180910390fd5b60058901805460808901516001600160401b03908116600160c01b026001600160c01b03918716600160401b026fffffffffffffffff00000000000000001966ffffffffffffff8816600160801b021676ffffffffffffffffffffffffffffff000000000000000019909416939093179290921716179055604087015160068a01555f611ab75f516020615b765f395f51905f5290565b600501546001600160a01b031603611b46576080808801516040808a015181516001600160401b039384168152602081019190915291861690820152600684900b60608201525f88900b918101919091526001600160e01b03198b16907f0800977f281a92a8fb15f0b059791b2ffcc82fdc78be5227cec46afdb45f947d9060a00160405180910390a2611bfd565b5f516020615b765f395f51905f526005015460808801516040808a0151905163292e503960e11b81526001600160e01b03198e1660048201526001600160401b03928316602482015260448101919091528186166064820152600685900b608482015290871660a48201525f88900b60c48201526001600160a01b039091169063525ca0729060e4015f604051808303815f87803b158015611be6575f5ffd5b505af1158015611bf8573d5f5f3e3d5ffd5b505050505b50505050505050505050505050565b611c14612dc0565b611c1d5f612c9e565b565b611c27611fb3565b611c6e5760405162461bcd60e51b8152602060048201526018602482015277436c6f6e61626c653a206f6e6c79206f6e20636c6f6e657360401b604482015260640161085d565b611c76612dc0565b611d836001600160a01b0382163014801590611cc457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b8015611cd957505f826001600160a01b03163b115b8015611d555750306001600160a01b0316826001600160a01b0316635f1cf1376040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d26573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d4a9190614776565b6001600160a01b0316145b6040518060400160405280601081526020016f34b73b30b634b21031b7b739bab6b2b960811b815250612c8c565b7fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390580546001600160a01b0319166001600160a01b0392909216919091179055565b611c1d612fa0565b5f611dd561301b565b604051633f64701560e21b81526001600160a01b03919091169063fd91c05490611e129085905f516020615b565f395f51905f5290600401614bfa565b6020604051808303815f875af1158015611e2e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bf29190614776565b611e5a6139d2565b506040805160c0810182525f516020615b565f395f51905f525462ffffff808216835260ff630100000083041615156020840152600160201b8204811693830193909352600160381b8104909216606082015261ffff600160501b830481166080830152600160601b90920490911660a082015290565b604080516080810182525f808252602082018190529181018290526060810191909152610bf273__$2bc6e2b54ed0220eba705c4bcfa4927117$__639744540984610e24565b6040805160a0810182525f808252602082018190528183018190526060820181905260808201529051639744540960e01b815273__$2bc6e2b54ed0220eba705c4bcfa4927117$__90639744540990611f74908590600401613f3b565b60a060405180830381865af4158015611f8f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bf291906143cd565b5f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc600101546001600160a01b031630148015906112e85750507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630141590565b612025612dc0565b61206f61203f61203a36849003840184614c62565b61314e565b60405180604001604052806012815260200171696e76616c696420636f6e646974696f6e7360701b815250612c8c565b805f516020615b565f395f51905f526120888282614d09565b505050565b5f610bf282613182565b5f5f6120e26120dd61118e86868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061208d92505050565b61299c565b90506120ed816131b1565b949350505050565b6040805160a0810182525f808252602082018190528183018190526060820181905260808201529051636337a60560e11b815273__$2bc6e2b54ed0220eba705c4bcfa4927117$__9063c66f4c0a90611f74908590600401613f3b565b5f61215b612dc0565b73__$2bc6e2b54ed0220eba705c4bcfa4927117$__63ef0bf0a0868685877f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121d5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121f99190614776565b6040518663ffffffff1660e01b8152600401612219959493929190614e10565b602060405180830381865af4925050508015612252575060408051601f3d908101601f1916820190925261224f9181019061454a565b60015b6122c55761225e614639565b806308c379a00361228c5750612272614651565b8061227d575061228e565b612286816107f5565b506120ed565b505b3d8080156122b7576040519150601f19603f3d011682016040523d82523d5f602084013e6122bc565b606091505b50612286612e94565b336001600160a01b03167fae160f4bc68d30bb720cf2faa436df303e1cb02624a87bf4af0a30d51783d87b61233161118e89898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061208d92505050565b8888885f308a60405161234a9796959493929190614809565b60405180910390a295945050505050565b6040805160a0810182525f80825260208201819052818301819052606082018190526080820152905163d9ea438f60e01b81526001600160e01b03198416600482015262ffffff8316602482015273__$2bc6e2b54ed0220eba705c4bcfa4927117$__9063d9ea438f9060440160a060405180830381865af41580156123e3573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d1b91906143cd565b60606124128261299c565b805461241d9061437f565b80601f01602080910402602001604051908101604052809291908181526020018280546124499061437f565b80156124945780601f1061246b57610100808354040283529160200191612494565b820191905f5260205f20905b81548152906001019060200180831161247757829003601f168201915b50505050509050919050565b5f6112e86001546001600160a01b031690565b5f610bf282612aa1565b5f6124c88383612097565b6124e557604051630295d7cd60e31b815260040160405180910390fd5b5f604051806020016124f690613a06565b6020820181038252601f19601f8201166040525090505f3061254f61118e87878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061208d92505050565b60405160609290921b6bffffffffffffffffffffffff191660208301526001600160e01b031916603482015260380160405160208183030381529060405290505f61259a8383613206565b9050806001600160a01b03163b5f036112b4575f6125b88484613287565b90505f8151602083015ff5979650505050505050565b5f6125d7612dc0565b61261b87878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250899250889150879050866132b3565b979650505050505050565b61262e612dc0565b61263781613390565b50565b5f808083816126488261299c565b90505f61265782600401612b13565b6060810151604051631752c19f60e01b8152600481018590526001600160e01b03198616602482015262ffffff90911660448201529091505f9073__$2bc6e2b54ed0220eba705c4bcfa4927117$__90631752c19f9060640160c060405180830381865af41580156126cb573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126ef9190614e4b565b80519091506001600160401b031661270b57806020015161270e565b80515b6001600160401b0316965080608001516001600160401b03169550855f1461276757816060015162ffffff1681608001516127499190614b11565b6001600160401b0316421161275f5760c861276b565b61019061276b565b6101945b61ffff169450505050509193909250565b612784612dc0565b61279961203f61203a36849003840184614c62565b61208883838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506127e19250505036849003840184614c62565b6133c1565b5f6127ef611fb3565b6128365760405162461bcd60e51b8152602060048201526018602482015277436c6f6e61626c653a206f6e6c79206f6e20636c6f6e657360401b604482015260640161085d565b5f61283f6134e5565b805490915060ff600160401b82041615906001600160401b03165f811580156128655750825b90505f826001600160401b031660011480156128805750303b155b90508115801561288e575080155b156128ac5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156128d657845460ff60401b1916600160401b1785555b60408051808201909152600c81526b3d32b9379031bab930ba37b960a11b602082015261290f906001600160a01b038a16151590612c8c565b61291888612c9e565b61292d61203f61203a368a90038a018a614c62565b865f516020615b565f395f51905f526129468282614d09565b5030965050831561299157845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505092915050565b6001600160e01b031981165f9081527fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390160205260408120610bf2565b6001600160e01b031981165f9081527fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390160209081526040918290206003015482516008808252610120820190945260609391929091908201610100803683370190505091505f5b6008811015612a9957816001600160e01b031981165f03612a605750612a99565b80848381518110612a7357612a7361436b565b6001600160e01b03199092166020928302919091018201529290921b9150600101612a3f565b825250919050565b6001600160e01b031981165f9081527fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390160205260408120600101545f516020615b765f395f51905f528054909163ffffffff16908110612b0357612b0361436b565b905f5260205f2001549050919050565b612b1b6139d2565b6040805160c0810190915282545f516020615b565f395f51905f529190819062ffffff1615612b5057845462ffffff16612b58565b825462ffffff165b62ffffff16815284546020909101906301000000900460ff1680612b84575082546301000000900460ff165b151581528454602090910190600160201b900462ffffff1615612bb4578454600160201b900462ffffff16612bc3565b8254600160201b900462ffffff165b62ffffff90811682528554602090920191600160381b90041615612bf4578454600160381b900462ffffff16612c03565b8254600160381b900462ffffff165b62ffffff1681528454602090910190600160501b900461ffff1615612c34578454600160501b900461ffff16612c42565b8254600160501b900461ffff165b61ffff90811682528554602090920191600160601b90041615612c71578454600160601b900461ffff16612c7f565b8254600160601b900461ffff165b61ffff1690529392505050565b81612c9a57612c9a816107f5565b5050565b600180546001600160a01b03191690556126378161350d565b5f516020615b965f395f51905f52541580612d4b57506040805160c0810182525f516020615b565f395f51905f525462ffffff808216835260ff630100000083041615156020840152600160201b8204811693830193909352600160381b8104909216606082015261ffff600160501b830481166080830152600160601b90920490911660a0820152612d499061314e565b155b1561263757506040805160c081018252620f424081525f60208201819052610384928201929092526201518060608201526080810191909152600360a0909101525f516020615b565f395f51905f5280546dffffffffffffffffffffffffffff19166c030000015180000384000f4240179055565b5f546001600160a01b03163314611c1d5760405163118cdaa760e01b815233600482015260240161085d565b60605f612df88361355c565b6001600160401b03811115612e0f57612e0f613dab565b6040519080825280601f01601f191660200182016040528015612e39576020820181803683370190505b5090505f5b8151811015612e8d57838160208110612e5957612e5961436b565b1a60f81b828281518110612e6f57612e6f61436b565b60200101906001600160f81b03191690815f1a905350600101612e3e565b5092915050565b611c1d6040518060400160405280601081526020016f1d5b9a185b991b1959081c995d995c9d60821b8152506107f5565b5f816004612ed282613599565b158015612f045750806013811115612eec57612eec613a71565b82602001516013811115612f0257612f02613a71565b145b612f505760405162461bcd60e51b815260206004820152601760248201527f63626f723a2063616e6e6f742066657463682064617461000000000000000000604482015260640161085d565b612f5d8460a001516135a6565b9250612f6c8260a001516135f5565b82602001906013811115612f8257612f82613a71565b90816013811115612f9557612f95613a71565b815250505050919050565b3380612faa6124a0565b6001600160a01b0316146130125760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b606482015260840161085d565b61263781612c9e565b5f5f613081604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81527f000000000000000000000000000000000000000000000000000000000000000060601b60148201526e5af43d82803e903d91602b57fd5bf360881b602882015290565b90506037815ff091506001600160a01b0382166130e05760405162461bcd60e51b815260206004820152601760248201527f436c6f6e61626c653a20435245415445206661696c6564000000000000000000604482015260640161085d565b6001600160a01b0382167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316336001600160a01b03167ff376596be5039d6b2fb36fead4c8a370eae426e790a869be8db074ab608cc24860405160405180910390a45090565b80515f9062ffffff161580159061316d57505f826060015162ffffff16115b8015610bf257505060a0015161ffff16151590565b5f816040516020016131949190613f50565b604051602081830303815290604052805190602001209050919050565b60028101545f901515806131e657506001820154600160501b900460ff1660048111156131e0576131e0613a71565b60ff1615155b80610bf257505060010154600160601b90046001600160a01b0316151590565b5f6001600160f81b0319308261321c8686613287565b805160209182012060405161326895949392016001600160f81b031994909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051601f1981840301815291905280516020909101209392505050565b6060828260405160200161329c929190614ed3565b604051602081830303815290604052905092915050565b6040516001623c7a3760e21b031981525f9073__$2bc6e2b54ed0220eba705c4bcfa4927117$__9063ff0e1724906132f79089908990899089908990600401614ee7565b602060405180830381865af4925050508015613330575060408051601f3d908101601f1916820190925261332d9181019061454a565b60015b61333c5761158a614639565b337fae160f4bc68d30bb720cf2faa436df303e1cb02624a87bf4af0a30d51783d87b61336a61118e8a61208d565b898989898960405161338196959493929190614f2c565b60405180910390a290506112b4565b613398612dc0565b6001600160a01b03811661301257604051631e4fbdf760e01b81525f600482015260240161085d565b5f6133ce61118e8461208d565b90505f6133da8261299c565b835160048201805460208701516040880151606089015160808a015160a08b015162ffffff97881663ffffffff19909616959095176301000000851515021769ffffffffffff000000001916600160201b9388169390930262ffffff60381b191692909217600160381b96909116959095029490941763ffffffff60501b1916600160501b61ffff9586160261ffff60601b191617600160601b949092169390930217905590915061349a5760058101805467ffffffffffffffff191690555b336001600160a01b03167ffce4e4e8186972930aa2a85773b7285ff9bd4d0b530ad546e582202e59f63abd8386866040516134d793929190614f81565b60405180910390a250505050565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610bf2565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5b6020811015613594578181602081106135795761357961436b565b1a60f81b6001600160f81b031916156135945760010161355e565b919050565b5f610bf2825f01516136b7565b5f815f8060ff16826040015160ff16146135e457604080830151905161800560e51b815260ff9182166004820152908216602482015260440161085d565b6120ed845f015185606001516136ee565b5f6136098251805151602090910151101590565b613594576006826040015160ff16116136515760408201516502020183808360d11b9060ff166007811061363f5761363f61436b565b1a6013811115610bf257610bf2613a71565b816040015160ff1660070361359457816060015160ff166014148061367d5750816060015160ff166015145b1561368a57506002919050565b6019826060015160ff16101580156136aa5750601b826060015160ff1611155b1561359457506005919050565b5f60f08260ff8111156136cc576136cc613a71565b1480610bf2575060f18260ff8111156136e7576136e7613a71565b1492915050565b5f60188260ff161015613705575060ff8116610bf2565b8160ff1660180361372357613719836137b5565b60ff169050610bf2565b8160ff166019036137425761373783613815565b61ffff169050610bf2565b8160ff16601a036137635761375683613880565b63ffffffff169050610bf2565b8160ff16601b0361377e57613777836138de565b9050610bf2565b8160ff16601f0361379757506001600160401b03610bf2565b604051636d785b1360e01b815260ff8316600482015260240161085d565b5f8160200151825f015151808211156137eb576040516363a056dd60e01b8152600481018390526024810182905260440161085d565b835160208501805180830160010151955090819061380882614fb3565b8152505050505050919050565b5f816020015160026138279190614fcb565b82515180821115613855576040516363a056dd60e01b8152600481018390526024810182905260440161085d565b83516020850180516002818401810151965090916138738284614fcb565b9052509395945050505050565b5f816020015160046138929190614fcb565b825151808211156138c0576040516363a056dd60e01b8152600481018390526024810182905260440161085d565b83516020850180516004818401810151965090916138738284614fcb565b5f816020015160086138f09190614fcb565b8251518082111561391e576040516363a056dd60e01b8152600481018390526024810182905260440161085d565b83516020850180516008818401810151965090916138738284614fcb565b6040518060e001604052805f81526020015f5f0b815260200160608152602001613976604080518082019091525f81526060602082015290565b8152604080516060810182525f80825260208281018290529282015291019081526020016139a26139d2565b81526040805160a0810182525f808252602082810182905292820181905260608201819052608082015291015290565b6040805160c0810182525f80825260208201819052918101829052606081018290526080810182905260a081019190915290565b610b7780614fdf83390190565b6001600160e01b031981168114612637575f5ffd5b5f60208284031215613a38575f5ffd5b8135610d1b81613a13565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b634e487b7160e01b5f52602160045260245ffd5b60058110613a9557613a95613a71565b9052565b60048110613a9557613a95613a71565b613ab4828251613a99565b6020818101516001600160a01b031690830152604090810151910152565b62ffffff815116825260208101511515602083015262ffffff604082015116604083015262ffffff606082015116606083015261ffff608082015116608083015261ffff60a08201511660a08301525050565b80515f0b82526001600160401b036020820151166020830152604081015160060b60408301526001600160401b036060820151166060830152608081015160808301525050565b8051825260208101515f0b60208301525f60408201516102406040850152613b98610240850182613a43565b90506060830151848203606086015260408201613bb6838351613a85565b602091820151604084840152805191829052909101906060600582901b8401810191908401905f5b81811015613c1057605f19868503018352613bfa848651613a43565b6020958601959094509290920191600101613bde565b50505060808501519250613c276080870184613aa9565b60a08501519250613c3b60e0870184613ad2565b60c085015192506112b46101a0870184613b25565b602081525f610d1b6020830184613b6c565b5f5f83601f840112613c72575f5ffd5b5081356001600160401b03811115613c88575f5ffd5b602083019150836020828501011115613c9f575f5ffd5b9250929050565b5f5f60208385031215613cb7575f5ffd5b82356001600160401b03811115613ccc575f5ffd5b613cd885828601613c62565b90969095509350505050565b6001600160401b0381168114612637575f5ffd5b803561359481613ce4565b5f5f60408385031215613d14575f5ffd5b823591506020830135613d2681613ce4565b809150509250929050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015613d8857603f19878603018452613d73858351613b6c565b94506020938401939190910190600101613d57565b50929695505050505050565b5f60208284031215613da4575f5ffd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b60c081018181106001600160401b0382111715613dde57613dde613dab565b60405250565b604081018181106001600160401b0382111715613dde57613dde613dab565b601f8201601f191681016001600160401b0381118282101715613e2857613e28613dab565b6040525050565b5f6001600160401b03821115613e4757613e47613dab565b50601f01601f191660200190565b5f613e5f83613e2f565b604051613e6c8282613e03565b809250848152858585011115613e80575f5ffd5b848460208301375f6020868301015250509392505050565b5f60208284031215613ea8575f5ffd5b81356001600160401b03811115613ebd575f5ffd5b8201601f81018413613ecd575f5ffd5b6120ed84823560208401613e55565b8015158114612637575f5ffd5b5f5f5f60408486031215613efb575f5ffd5b83356001600160401b03811115613f10575f5ffd5b613f1c86828701613c62565b9094509250506020840135613f3081613edc565b809150509250925092565b6001600160e01b031991909116815260200190565b602081525f610d1b6020830184613a43565b805f0b8114612637575f5ffd5b5f5f5f5f5f5f60808789031215613f84575f5ffd5b86356001600160401b03811115613f99575f5ffd5b613fa589828a01613c62565b9097509550506020870135613fb981613f62565b9350604087013560058110613fcc575f5ffd5b925060608701356001600160401b03811115613fe6575f5ffd5b8701601f81018913613ff6575f5ffd5b80356001600160401b0381111561400b575f5ffd5b8960208260051b840101111561401f575f5ffd5b60208201935080925050509295509295509295565b5f5f5f5f5f60608688031215614048575f5ffd5b85356001600160401b0381111561405d575f5ffd5b61406988828901613c62565b909650945050602086013561407d81613f62565b925060408601356001600160401b03811115614097575f5ffd5b6140a388828901613c62565b969995985093965092949392505050565b6001600160a01b0381168114612637575f5ffd5b5f602082840312156140d8575f5ffd5b8135610d1b816140b4565b5f5f5f604084860312156140f5575f5ffd5b83356001600160401b0381111561410a575f5ffd5b840160e0818703121561411b575f5ffd5b925060208401356001600160401b03811115614135575f5ffd5b61414186828701613c62565b9497909650939450505050565b60c08101610bf28284613ad2565b60a08101610bf28284613b25565b5f60c0828403121561417a575f5ffd5b50919050565b5f60c08284031215614190575f5ffd5b610d1b838361416a565b5f5f5f5f606085870312156141ad575f5ffd5b84356001600160401b038111156141c2575f5ffd5b6141ce87828801613c62565b90955093505060208501356141e281613f62565b9396929550929360400135925050565b62ffffff81168114612637575f5ffd5b5f5f60408385031215614213575f5ffd5b823561421e81613a13565b91506020830135613d26816141f2565b5f5f5f5f5f5f60a08789031215614243575f5ffd5b86356001600160401b03811115614258575f5ffd5b61426489828a01613c62565b909750955050602087013561427881613f62565b935060408701356004811061428b575f5ffd5b9250606087013561429b816140b4565b95989497509295919493608090920135925050565b5f5f5f60e084860312156142c2575f5ffd5b83356001600160401b038111156142d7575f5ffd5b6142e386828701613c62565b90945092506142f79050856020860161416a565b90509250925092565b5f5f60e08385031215614311575f5ffd5b823561431c816140b4565b915061432b846020850161416a565b90509250929050565b5f81518060208401855e5f93019283525090919050565b5f6143568285614334565b6101d160f51b81526112b46002820185614334565b634e487b7160e01b5f52603260045260245ffd5b600181811c9082168061439357607f821691505b60208210810361417a57634e487b7160e01b5f52602260045260245ffd5b805161359481613ce4565b8051600681900b8114613594575f5ffd5b5f60a08284031280156143de575f5ffd5b5060405160a081016001600160401b038111828210171561440157614401613dab565b604052825161440f81613f62565b8152602083015161441f81613ce4565b6020820152614430604084016143bc565b6040820152606083015161444381613ce4565b60608201526080928301519281019290925250919050565b5f82601f83011261446a575f5ffd5b815161447581613e2f565b6040516144828282613e03565b828152856020848701011115614496575f5ffd5b8260208601602083015e5f92810160200192909252509392505050565b5f5f604083850312156144c4575f5ffd5b82516144cf816140b4565b60208401519092506001600160401b038111156144ea575f5ffd5b6144f68582860161445b565b9150509250929050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b63ffffffff60e01b84168152604060208201525f6112b4604083018486614500565b5f6020828403121561455a575f5ffd5b8151610d1b81613a13565b5f5f8335601e1984360301811261457a575f5ffd5b83016020810192503590506001600160401b03811115614598575f5ffd5b803603821315613c9f575f5ffd5b608081525f6145b960808301888a614500565b865f0b60208401526145ce6040840187613a85565b8281036060840152838152602080820190600586901b830101865f5b8781101561462857848303601f19018452614605828a614565565b614610858284614500565b602096870196909550939093019250506001016145ea565b50909b9a5050505050505050505050565b5f60033d111561118e5760045f5f3e505f5160e01c90565b5f60443d101561465e5790565b6040513d600319016004823e80513d60248201116001600160401b038211171561468757505090565b80820180516001600160401b038111156146a2575050505090565b3d84016003190182820160200111156146bc575050505090565b6146cb60208285010185613e03565b509392505050565b63ffffffff60e01b8816815260a060208201525f6146f560a08301888a614500565b865f0b604084015261470a6060840187613a85565b8281036080840152838152602080820190600586901b830101865f5b8781101561476457848303601f19018452614741828a614565565b61474c858284614500565b60209687019690955093909301925050600101614726565b50909c9b505050505050505050505050565b5f60208284031215614786575f5ffd5b8151610d1b816140b4565b608081525f6147a460808301888a614500565b82810360208401526147b7818789614500565b5f9590950b604084015250506001600160a01b0391909116606090910152949350505050565b5f5f604083850312156147ee575f5ffd5b82516147f981613a13565b6020939093015192949293505050565b63ffffffff60e01b8816815260c060208201525f61482b60c08301888a614500565b9050855f0b60408301526148426060830186613a99565b6001600160a01b0393909316608082015260a0015295945050505050565b61ffff81168114612637575f5ffd5b803561359481614860565b5f6020828403121561488a575f5ffd5b8135610d1b81614860565b6040808252843582820152602085013560608301525f908501356148b881614860565b61ffff16608083015260608501356148cf81614860565b61ffff1660a083015260808501356148e681613ce4565b6001600160401b031660c083015261490060a08601613cf8565b6001600160401b031660e083015261491b60c0860186614565565b60e061010085015261493261012085018284614500565b9150508281036020840152611473818587614500565b805160148110613594575f5ffd5b805160ff81168114613594575f5ffd5b5f60c08284031215614976575f5ffd5b60405161498281613dbf565b80915082516001600160401b0381111561499a575f5ffd5b8301604081860312156149ab575f5ffd5b6040516149b781613de4565b81516001600160401b038111156149cc575f5ffd5b6149d88782850161445b565b8252506020918201518282015282526149f2908401614956565b6020820152614a0360408401614956565b6040820152614a1460608401614956565b6060820152614a25608084016143b1565b6080820152614a3660a084016143b1565b60a08201525092915050565b5f60208284031215614a52575f5ffd5b81516001600160401b03811115614a67575f5ffd5b820160c08185031215614a78575f5ffd5b604051614a8481613dbf565b81516101008110614a93575f5ffd5b8152614aa160208301614948565b60208201526040828101519082015260608083015190820152614ac6608083016143b1565b608082015260a08201516001600160401b03811115614ae3575f5ffd5b614aef86828501614966565b60a083015250949350505050565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b038181168382160190811115610bf257610bf2614afd565b6001600160401b038281168282160390811115610bf257610bf2614afd565b600782810b9082900b03677fffffffffffffff198112677fffffffffffffff82131715610bf257610bf2614afd565b5f8160060b667fffffffffffff198103614b9a57614b9a614afd565b5f0392915050565b5f8260060b8260060b028060060b9150808214612e8d57612e8d614afd565b5f6001600160401b03831680614be557634e487b7160e01b5f52601260045260245ffd5b806001600160401b0384160491505092915050565b6001600160a01b0383168152815462ffffff808216602080850191909152601883901c60ff161515604085015282901c81166060840152603882901c166080830152605081901c61ffff1660a083015260e0820190606081901c61ffff1660c08401526146cb565b5f60c0828403128015614c73575f5ffd5b50604051614c8081613dbf565b8235614c8b816141f2565b81526020830135614c9b81613edc565b60208201526040830135614cae816141f2565b60408201526060830135614cc1816141f2565b60608201526080830135614cd481614860565b6080820152614ce560a0840161486f565b60a08201529392505050565b5f8135610bf2816141f2565b5f8135610bf281614860565b8135614d14816141f2565b62ffffff8116905081548162ffffff1982161783556020840135614d3781613edc565b63ffffffff199190911690911790151560181b63ff000000161781555f6040830135614d62816141f2565b825466ffffff00000000191660209190911b66ffffff000000001617825550614db2614d9060608401614cf1565b825462ffffff60381b191660389190911b69ffffff0000000000000016178255565b614de1614dc160808401614cfd565b82805461ffff60501b191660509290921b61ffff60501b16919091179055565b612c9a614df060a08401614cfd565b82805461ffff60601b191660609290921b61ffff60601b16919091179055565b608081525f614e23608083018789614500565b6020830195909552505f9290920b60408301526001600160a01b031660609091015292915050565b5f60c0828403128015614e5c575f5ffd5b50604051614e6981613dbf565b8251614e7481613ce4565b81526020830151614e8481613ce4565b6020820152614e95604084016143bc565b60408201526060830151614ea881613f62565b60608201526080830151614ebb81613ce4565b608082015260a0928301519281019290925250919050565b5f6120ed614ee18386614334565b84614334565b60a081525f614ef960a0830188613a43565b9050855f0b6020830152614f106040830186613a99565b6001600160a01b03939093166060820152608001529392505050565b63ffffffff60e01b8716815260c060208201525f614f4d60c0830188613a43565b9050855f0b6040830152614f646060830186613a99565b6001600160a01b0393909316608082015260a00152949350505050565b63ffffffff60e01b8416815261010060208201525f614fa4610100830185613a43565b90506120ed6040830184613ad2565b5f60018201614fc457614fc4614afd565b5060010190565b80820180821115610bf257610bf2614afd56fe610100604052348015610010575f5ffd5b50604051610b77380380610b7783398101604081905261002f916100c1565b6001600160e01b0319811660808190526040516371b50ecf60e11b815260048101919091526001600160a01b0383169063e36a1d9e90602401602060405180830381865afa158015610083573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100a79190610110565b60a052506001600160a01b031660c081905260e052610127565b5f5f604083850312156100d2575f5ffd5b82516001600160a01b03811681146100e8575f5ffd5b60208401519092506001600160e01b031981168114610105575f5ffd5b809150509250929050565b5f60208284031215610120575f5ffd5b5051919050565b60805160a05160c05160e0516109d16101a65f395f818160ee01528181610322015281816103f4015281816104cb01528181610569015261065701525f61024e01525f61013201525f818161021a015281816102970152818161035101528181610423015281816104f801528181610598015261068601526109d15ff3fe608060405234801561000f575f5ffd5b50600436106100e5575f3560e01c80638205bf6a11610088578063b5ab58dc11610063578063b5ab58dc14610202578063e9159d6414610215578063f98d06f014610249578063feaf968c14610270575f5ffd5b80638205bf6a146101a857806395d89b41146101b05780639a6fc8f5146101b8575f5ffd5b806350d25bcd116100c357806350d25bcd1461017c57806354fd4d5014610184578063668a0f021461018b5780637284e41614610193575f5ffd5b80631014d375146100e9578063311893341461012d578063313ce56714610162575b5f5ffd5b6101107f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6101547f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610124565b61016a610278565b60405160ff9091168152602001610124565b61015461031e565b6003610154565b6101546103d8565b61019b6103e6565b604051610124919061072e565b6101546103f0565b61019b6104b1565b6101cb6101c6366004610763565b610561565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a001610124565b610154610210366004610793565b610640565b61023c7f000000000000000000000000000000000000000000000000000000000000000081565b60405161012491906107aa565b6101107f000000000000000000000000000000000000000000000000000000000000000081565b6101cb61064f565b60405163274d45db60e01b81525f908190339063274d45db906102bf907f0000000000000000000000000000000000000000000000000000000000000000906004016107aa565b602060405180830381865afa1580156102da573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102fe91906107d4565b90505f815f0b1261030f5780610318565b610318816107ed565b91505090565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663974454097f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040161038c91906107aa565b60a060405180830381865afa1580156103a7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103cb9190610872565b6020015160070b92915050565b5f6103e16103f0565b905090565b60606103e16104b1565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663974454097f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040161045e91906107aa565b60a060405180830381865afa158015610479573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049d9190610872565b6060015167ffffffffffffffff1692915050565b604051631c4f621160e31b81526060906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e27b108890610520907f0000000000000000000000000000000000000000000000000000000000000000906004016107aa565b5f60405180830381865afa15801561053a573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526103e19190810190610907565b5f5f5f5f5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663974454097f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016105d391906107aa565b60a060405180830381865afa1580156105ee573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106129190610872565b6060810151602090910151979860079890980b9767ffffffffffffffff909116965086955088945092505050565b5f61064961031e565b92915050565b5f5f5f5f5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663974454097f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016106c191906107aa565b60a060405180830381865afa1580156106dc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107009190610872565b606081015160209091015167ffffffffffffffff9091169760079190910b9650879550859450849350915050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f60208284031215610773575f5ffd5b813569ffffffffffffffffffff8116811461078c575f5ffd5b9392505050565b5f602082840312156107a3575f5ffd5b5035919050565b6001600160e01b031991909116815260200190565b80515f81900b81146107cf575f5ffd5b919050565b5f602082840312156107e4575f5ffd5b61078c826107bf565b5f81810b6080810161080d57634e487b7160e01b5f52601160045260245ffd5b5f0392915050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561085257610852610815565b604052919050565b67ffffffffffffffff8116811461086f575f5ffd5b50565b5f60a0828403128015610883575f5ffd5b5060405160a0810167ffffffffffffffff811182821017156108a7576108a7610815565b6040526108b3836107bf565b815260208301516108c38161085a565b60208201526040830151600681900b81146108dc575f5ffd5b604082015260608301516108ef8161085a565b60608201526080928301519281019290925250919050565b5f60208284031215610917575f5ffd5b815167ffffffffffffffff81111561092d575f5ffd5b8201601f8101841361093d575f5ffd5b805167ffffffffffffffff81111561095757610957610815565b61096a601f8201601f1916602001610829565b81815285602083850101111561097e575f5ffd5b8160208401602083015e5f9181016020019190915294935050505056fea26469706673582212207fa6cfbe8c65c501885776a68960feb8fd0d4d488f13fa7ebb6cb904043bcc1b64736f6c634300081e0033c5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba53904c5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba53900360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbea2646970667358221220794d625b4f6c784d71ff49fec02258c4803965d569745081844c2abccc51db1c64736f6c634300081e0033";
  readonly linkReferences: {"project/contracts/data/WitPriceFeedsDataLib.sol":{"WitPriceFeedsDataLib":[{"length":20,"start":4006},{"length":20,"start":4250},{"length":20,"start":4674},{"length":20,"start":5619},{"length":20,"start":5763},{"length":20,"start":5949},{"length":20,"start":6336},{"length":20,"start":9009},{"length":20,"start":9092},{"length":20,"start":9570},{"length":20,"start":9621},{"length":20,"start":10211},{"length":20,"start":10955},{"length":20,"start":14079}]}};
  readonly deployedLinkReferences: {"project/contracts/data/WitPriceFeedsDataLib.sol":{"WitPriceFeedsDataLib":[{"length":20,"start":2926},{"length":20,"start":3170},{"length":20,"start":3594},{"length":20,"start":4539},{"length":20,"start":4683},{"length":20,"start":4869},{"length":20,"start":5256},{"length":20,"start":7929},{"length":20,"start":8012},{"length":20,"start":8490},{"length":20,"start":8541},{"length":20,"start":9131},{"length":20,"start":9875},{"length":20,"start":12999}]}};
  readonly immutableReferences: {"4002":[{"length":32,"start":4804}],"4094":[{"length":32,"start":1215}],"4426":[{"length":32,"start":823},{"length":32,"start":5287},{"length":32,"start":6060},{"length":32,"start":8571}],"45353":[{"length":32,"start":1174},{"length":32,"start":4199},{"length":32,"start":4287},{"length":32,"start":7311},{"length":32,"start":8175},{"length":32,"start":12351},{"length":32,"start":12524}],"45824":[{"length":32,"start":1585},{"length":32,"start":3905},{"length":32,"start":4105},{"length":32,"start":4253}],"45828":[{"length":32,"start":1251},{"length":32,"start":5772}]};
  readonly inputSourceName: "project/contracts/apps/WitPriceFeedsUpgradableV3.sol";
  readonly buildInfoId: "solc-0_8_30-47301052af11a5aa5062e9b98ca44d5e142950cf";
};

import "hardhat/types/artifacts";
declare module "hardhat/types/artifacts" {
  interface ArtifactMap {
    ["WitPriceFeedsUpgradableV3"]: WitPriceFeedsUpgradableV3$Type;
    ["contracts/apps/WitPriceFeedsUpgradableV3.sol:WitPriceFeedsUpgradableV3"]: WitPriceFeedsUpgradableV3$Type;
  }
}