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

export interface WitOracleTrustableZkSync$Type {
  readonly _format: "hh3-artifact-1";
  readonly contractName: "WitOracleTrustableZkSync";
  readonly sourceName: "contracts/core/trustable/WitOracleTrustableZkSync.sol";
  readonly abi: [{"inputs":[{"internalType":"contract WitOracleRadonRegistry","name":"_registry","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"InvalidDataReport","type":"error"},{"inputs":[],"name":"InvalidInitialization","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":"ReentrancyGuardReentrantCall","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"queryId","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"BatchReportError","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":"uint256","name":"value","type":"uint256"}],"name":"Received","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address[]","name":"reporters","type":"address[]"}],"name":"ReportersSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address[]","name":"reporters","type":"address[]"}],"name":"ReportersUnset","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"evmRequester","type":"address"},{"indexed":false,"internalType":"uint256","name":"evmGasPrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"evmReward","type":"uint256"},{"indexed":false,"internalType":"Witnet.QueryId","name":"queryId","type":"uint64"},{"indexed":false,"internalType":"Witnet.RadonHash","name":"radonHash","type":"bytes32"},{"components":[{"internalType":"uint16","name":"witResultMaxSize","type":"uint16"},{"internalType":"uint16","name":"witCommitteeSize","type":"uint16"},{"internalType":"uint64","name":"witUnitaryReward","type":"uint64"}],"indexed":false,"internalType":"struct Witnet.QuerySLA","name":"radonParams","type":"tuple"}],"name":"WitOracleQuery","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"Witnet.QueryId","name":"queryId","type":"uint64"},{"indexed":false,"internalType":"uint256","name":"evmGasPrice","type":"uint256"}],"name":"WitOracleQueryReport","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"Witnet.QueryId","name":"queryId","type":"uint64"},{"indexed":false,"internalType":"address","name":"evmConsumer","type":"address"},{"indexed":false,"internalType":"uint256","name":"evmGasPrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"evmCallbackGas","type":"uint256"}],"name":"WitOracleQueryReportDelivery","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"Witnet.QueryId","name":"queryId","type":"uint64"},{"indexed":false,"internalType":"address","name":"evmDisputer","type":"address"}],"name":"WitOracleQueryReportDispute","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"Witnet.QueryId","name":"queryId","type":"uint64"},{"indexed":false,"internalType":"address","name":"evmSender","type":"address"},{"indexed":false,"internalType":"uint256","name":"evmGasPrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"evmReward","type":"uint256"}],"name":"WitOracleQueryUpgrade","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"evmOrigin","type":"address"},{"indexed":true,"internalType":"address","name":"evmConsumer","type":"address"},{"indexed":false,"internalType":"address","name":"evmReporter","type":"address"},{"indexed":false,"internalType":"Witnet.TransactionHash","name":"witDrTxHash","type":"bytes32"},{"indexed":false,"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"}],"indexed":false,"internalType":"struct Witnet.QuerySLA","name":"queryParams","type":"tuple"},{"indexed":false,"internalType":"Witnet.Timestamp","name":"resultTimestamp","type":"uint64"},{"indexed":false,"internalType":"bytes","name":"resultCborBytes","type":"bytes"}],"name":"WitOracleReport","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"Witnet.QueryId","name":"queryId","type":"uint64"},{"indexed":false,"internalType":"address","name":"evmConsumer","type":"address"},{"indexed":false,"internalType":"uint256","name":"evmGasPrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"evmCallbackActualGas","type":"uint256"},{"indexed":false,"internalType":"string","name":"evmCallbackRevertReason","type":"string"},{"indexed":false,"internalType":"bytes","name":"resultCborBytes","type":"bytes"}],"name":"WitOracleResportDeliveryFailed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"evmReward","type":"uint256"},{"components":[{"internalType":"uint8","name":"numWitnesses","type":"uint8"},{"internalType":"uint64","name":"witnessReward","type":"uint64"}],"indexed":false,"internalType":"struct IWitOracleLegacy.RadonSLA","name":"witnetSLA","type":"tuple"}],"name":"WitnetQuery","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":"channel","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"class","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"codehash","outputs":[{"internalType":"bytes32","name":"_codehash","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currency","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"deleteQuery","outputs":[{"internalType":"Witnet.QueryEvmReward","name":"","type":"uint72"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deployer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_evmGasPrice","type":"uint256"}],"name":"estimateBaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_gasPrice","type":"uint256"},{"internalType":"uint16","name":"","type":"uint16"}],"name":"estimateBaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"gasPrice","type":"uint256"},{"internalType":"bytes32","name":"radHash","type":"bytes32"}],"name":"estimateBaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_evmGasPrice","type":"uint256"},{"internalType":"uint24","name":"_callbackGas","type":"uint24"}],"name":"estimateBaseFeeWithCallback","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_evmGasPrice","type":"uint256"},{"internalType":"uint256","name":"_evmWitPrice","type":"uint256"},{"components":[{"internalType":"uint16","name":"witResultMaxSize","type":"uint16"},{"internalType":"uint16","name":"witCommitteeSize","type":"uint16"},{"internalType":"uint64","name":"witUnitaryReward","type":"uint64"}],"internalType":"struct Witnet.QuerySLA","name":"_querySLA","type":"tuple"}],"name":"estimateExtraFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_queryIds","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"uint256","name":"_evmGasPrice","type":"uint256"},{"internalType":"uint256","name":"_evmWitPrice","type":"uint256"}],"name":"estimateReportEarnings","outputs":[{"internalType":"uint256","name":"_revenues","type":"uint256"},{"internalType":"uint256","name":"_expenses","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"Witnet.QueryId[]","name":"_queryIds","type":"uint64[]"}],"name":"extractRadonBytecodes","outputs":[{"internalType":"bytes[]","name":"_bytecodes","type":"bytes[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"queryIds","type":"uint256[]"}],"name":"extractWitnetDataRequests","outputs":[{"internalType":"bytes[]","name":"","type":"bytes[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"queryId","type":"uint256"}],"name":"fetchQueryResponse","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getNextQueryId","outputs":[{"internalType":"Witnet.QueryId","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"Witnet.QueryId","name":"_queryId","type":"uint64"}],"name":"getQuery","outputs":[{"components":[{"components":[{"internalType":"address","name":"requester","type":"address"},{"internalType":"uint24","name":"callbackGas","type":"uint24"},{"internalType":"bytes","name":"radonBytecode","type":"bytes"},{"internalType":"Witnet.RadonHash","name":"radonHash","type":"bytes32"}],"internalType":"struct Witnet.QueryRequest","name":"request","type":"tuple"},{"components":[{"internalType":"address","name":"reporter","type":"address"},{"internalType":"Witnet.Timestamp","name":"resultTimestamp","type":"uint64"},{"internalType":"Witnet.TransactionHash","name":"resultDrTxHash","type":"bytes32"},{"internalType":"bytes","name":"resultCborBytes","type":"bytes"},{"internalType":"address","name":"disputer","type":"address"}],"internalType":"struct Witnet.QueryResponse","name":"response","type":"tuple"},{"components":[{"internalType":"uint16","name":"witResultMaxSize","type":"uint16"},{"internalType":"uint16","name":"witCommitteeSize","type":"uint16"},{"internalType":"uint64","name":"witUnitaryReward","type":"uint64"}],"internalType":"struct Witnet.QuerySLA","name":"slaParams","type":"tuple"},{"internalType":"Witnet.QueryUUID","name":"uuid","type":"bytes15"},{"internalType":"Witnet.QueryEvmReward","name":"reward","type":"uint72"},{"internalType":"Witnet.BlockNumber","name":"checkpoint","type":"uint64"}],"internalType":"struct Witnet.Query","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"queryId","type":"uint256"}],"name":"getQuery","outputs":[{"components":[{"components":[{"internalType":"address","name":"requester","type":"address"},{"internalType":"uint24","name":"callbackGas","type":"uint24"},{"internalType":"uint72","name":"evmReward","type":"uint72"},{"internalType":"bytes","name":"radonBytecode","type":"bytes"},{"internalType":"bytes32","name":"radonHash","type":"bytes32"},{"components":[{"internalType":"uint8","name":"numWitnesses","type":"uint8"},{"internalType":"uint64","name":"witnessReward","type":"uint64"}],"internalType":"struct IWitOracleLegacy.RadonSLA","name":"radonParams","type":"tuple"}],"internalType":"struct IWitOracleLegacy.QueryRequest","name":"request","type":"tuple"},{"components":[{"internalType":"address","name":"reporter","type":"address"},{"internalType":"uint64","name":"finality","type":"uint64"},{"internalType":"uint32","name":"timestamp","type":"uint32"},{"internalType":"bytes32","name":"trail","type":"bytes32"},{"internalType":"bytes","name":"cborBytes","type":"bytes"}],"internalType":"struct IWitOracleLegacy.QueryResponse","name":"response","type":"tuple"}],"internalType":"struct IWitOracleLegacy.Query","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryEvmReward","outputs":[{"internalType":"Witnet.QueryEvmReward","name":"","type":"uint72"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"queryId","type":"uint256"}],"name":"getQueryRequest","outputs":[{"components":[{"internalType":"address","name":"requester","type":"address"},{"internalType":"uint24","name":"callbackGas","type":"uint24"},{"internalType":"uint72","name":"evmReward","type":"uint72"},{"internalType":"bytes","name":"radonBytecode","type":"bytes"},{"internalType":"bytes32","name":"radonHash","type":"bytes32"},{"components":[{"internalType":"uint8","name":"numWitnesses","type":"uint8"},{"internalType":"uint64","name":"witnessReward","type":"uint64"}],"internalType":"struct IWitOracleLegacy.RadonSLA","name":"radonParams","type":"tuple"}],"internalType":"struct IWitOracleLegacy.QueryRequest","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"Witnet.QueryId","name":"_queryId","type":"uint64"}],"name":"getQueryRequest","outputs":[{"components":[{"internalType":"address","name":"requester","type":"address"},{"internalType":"uint24","name":"callbackGas","type":"uint24"},{"internalType":"bytes","name":"radonBytecode","type":"bytes"},{"internalType":"Witnet.RadonHash","name":"radonHash","type":"bytes32"}],"internalType":"struct Witnet.QueryRequest","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"Witnet.QueryId","name":"_queryId","type":"uint64"}],"name":"getQueryResponse","outputs":[{"components":[{"internalType":"address","name":"reporter","type":"address"},{"internalType":"Witnet.Timestamp","name":"resultTimestamp","type":"uint64"},{"internalType":"Witnet.TransactionHash","name":"resultDrTxHash","type":"bytes32"},{"internalType":"bytes","name":"resultCborBytes","type":"bytes"},{"internalType":"address","name":"disputer","type":"address"}],"internalType":"struct Witnet.QueryResponse","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"queryId","type":"uint256"}],"name":"getQueryResponse","outputs":[{"components":[{"internalType":"address","name":"reporter","type":"address"},{"internalType":"uint64","name":"finality","type":"uint64"},{"internalType":"uint32","name":"timestamp","type":"uint32"},{"internalType":"bytes32","name":"trail","type":"bytes32"},{"internalType":"bytes","name":"cborBytes","type":"bytes"}],"internalType":"struct IWitOracleLegacy.QueryResponse","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"queryId","type":"uint256"}],"name":"getQueryResponseStatus","outputs":[{"internalType":"enum IWitOracleLegacy.QueryResponseStatus","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryResult","outputs":[{"components":[{"internalType":"enum Witnet.ResultStatus","name":"status","type":"uint8"},{"internalType":"enum Witnet.RadonDataTypes","name":"dataType","type":"uint8"},{"internalType":"Witnet.TransactionHash","name":"drTxHash","type":"bytes32"},{"internalType":"uint256","name":"finality","type":"uint256"},{"internalType":"Witnet.Timestamp","name":"timestamp","type":"uint64"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"cursor","type":"uint256"}],"internalType":"struct WitnetBuffer.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct WitnetCBOR.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.DataResult","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"queryId","type":"uint256"}],"name":"getQueryResultCborBytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"queryId","type":"uint256"}],"name":"getQueryResultError","outputs":[{"components":[{"internalType":"uint8","name":"code","type":"uint8"},{"internalType":"string","name":"reason","type":"string"}],"internalType":"struct IWitOracleLegacy.ResultError","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryResultStatus","outputs":[{"internalType":"enum Witnet.ResultStatus","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryResultStatusDescription","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryResultTrails","outputs":[{"internalType":"bytes32","name":"queryUUID","type":"bytes32"},{"internalType":"Witnet.TransactionHash","name":"resultDrTxHash","type":"bytes32"},{"internalType":"Witnet.Timestamp","name":"resultTimestamp","type":"uint64"},{"internalType":"uint256","name":"resultFinalityBlock","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryStatus","outputs":[{"internalType":"enum Witnet.QueryStatus","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_queryIds","type":"uint256[]"}],"name":"getQueryStatusBatch","outputs":[{"internalType":"enum Witnet.QueryStatus[]","name":"_status","type":"uint8[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryStatusString","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"_initData","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_queryResponseReporter","type":"address"}],"name":"isReporter","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":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"_signature","type":"bytes"}],"name":"parseDataReport","outputs":[{"components":[{"internalType":"enum Witnet.ResultStatus","name":"status","type":"uint8"},{"internalType":"enum Witnet.RadonDataTypes","name":"dataType","type":"uint8"},{"internalType":"Witnet.TransactionHash","name":"drTxHash","type":"bytes32"},{"internalType":"uint256","name":"finality","type":"uint256"},{"internalType":"Witnet.Timestamp","name":"timestamp","type":"uint64"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"cursor","type":"uint256"}],"internalType":"struct WitnetBuffer.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct WitnetCBOR.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.DataResult","name":"_result","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_queryRadHash","type":"bytes32"},{"components":[{"internalType":"uint8","name":"numWitnesses","type":"uint8"},{"internalType":"uint64","name":"witnessReward","type":"uint64"}],"internalType":"struct IWitOracleLegacy.RadonSLA","name":"_querySLA","type":"tuple"}],"name":"postRequest","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_queryRadHash","type":"bytes32"},{"components":[{"internalType":"uint8","name":"numWitnesses","type":"uint8"},{"internalType":"uint64","name":"witnessReward","type":"uint64"}],"internalType":"struct IWitOracleLegacy.RadonSLA","name":"_querySLA","type":"tuple"},{"internalType":"uint24","name":"_queryCallbackGas","type":"uint24"}],"name":"postRequestWithCallback","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","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":"_signature","type":"bytes"}],"name":"pushDataReport","outputs":[{"components":[{"internalType":"enum Witnet.ResultStatus","name":"status","type":"uint8"},{"internalType":"enum Witnet.RadonDataTypes","name":"dataType","type":"uint8"},{"internalType":"Witnet.TransactionHash","name":"drTxHash","type":"bytes32"},{"internalType":"uint256","name":"finality","type":"uint256"},{"internalType":"Witnet.Timestamp","name":"timestamp","type":"uint64"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"cursor","type":"uint256"}],"internalType":"struct WitnetBuffer.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct WitnetCBOR.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.DataResult","name":"","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"Witnet.RadonHash","name":"_queryRAD","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":"_querySLA","type":"tuple"}],"name":"queryData","outputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"Witnet.RadonHash","name":"_queryRAD","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":"_querySLA","type":"tuple"},{"components":[{"internalType":"address","name":"consumer","type":"address"},{"internalType":"uint24","name":"gasLimit","type":"uint24"}],"internalType":"struct Witnet.QueryCallback","name":"_queryCallback","type":"tuple"}],"name":"queryDataWithCallback","outputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"registry","outputs":[{"internalType":"contract IWitOracleRadonRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"Witnet.QueryId","name":"_queryId","type":"uint64"},{"internalType":"Witnet.Timestamp","name":"_resultTimestamp","type":"uint64"},{"internalType":"Witnet.TransactionHash","name":"_witDrTxHash","type":"bytes32"},{"internalType":"bytes","name":"_resultCborBytes","type":"bytes"}],"name":"reportResult","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"queryId","type":"uint256"},{"internalType":"bytes32","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"resultCborBytes","type":"bytes"}],"name":"reportResult","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"Witnet.QueryId","name":"_queryId","type":"uint64"},{"internalType":"Witnet.TransactionHash","name":"_witDrTxHash","type":"bytes32"},{"internalType":"bytes","name":"_resultCborBytes","type":"bytes"}],"name":"reportResult","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"queryId","type":"uint256"},{"internalType":"uint32","name":"resultTimestamp","type":"uint32"},{"internalType":"bytes32","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"resultCborBytes","type":"bytes"}],"name":"reportResult","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"queryId","type":"uint256"},{"internalType":"uint32","name":"resultTimestamp","type":"uint32"},{"internalType":"bytes32","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"resultCborBytes","type":"bytes"}],"internalType":"struct IWitOracleLegacy.BatchResultLegacy[]","name":"results","type":"tuple[]"}],"name":"reportResultBatch","outputs":[{"internalType":"uint256","name":"_batchReward","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"Witnet.QueryId","name":"queryId","type":"uint64"},{"internalType":"Witnet.Timestamp","name":"resultTimestamp","type":"uint64"},{"internalType":"Witnet.TransactionHash","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"resultCborBytes","type":"bytes"}],"internalType":"struct IWitOracleQueriableTrustableReporter.BatchResult[]","name":"_batchResults","type":"tuple[]"}],"name":"reportResultBatch","outputs":[{"internalType":"uint256","name":"_batchReward","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_queryResponseReporters","type":"address[]"}],"name":"setReporters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"specs","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_exReporters","type":"address[]"}],"name":"unsetReporters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"upgradeQueryEvmReward","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}];
  readonly bytecode: "0x610220604052336101005261c3506102005234801561001c575f5ffd5b50604051615e73380380615e7383398101604081905261003b91610356565b6040805160808101825261c350815261ea60602080830191909152620111708284015261565460608301528251808401909352601983527f696f2e7769746e65742e70726f786961626c652e626f61726400000000000000908301527f7a6b73796e632d6578706572696d656e74616c000000000000000000000000009183905f9060019085908233806100e957604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6100f28161026d565b5030608052151560c052600160025560e0919091528051602091820120610120526001600160a01b039283166101405260408051808201909152601381527f696e6578697374656e7420726567697374727900000000000000000000000000918101919091526101689284163b15159150610289565b61022963a614fef760e01b6001600160e01b031916826001600160a01b031663adb7c3f76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101b9573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101dd9190610383565b6001600160e01b031916146040518060400160405280601481526020017f756e636f6d706c69616e7420726567697374727900000000000000000000000081525061028960201b60201c565b6001600160a01b031661016052805163ffffffff90811661018052602082015181166101a052604082015181166101c052606090910151166101e0525061041f9050565b600180546001600160a01b03191690556102868161029b565b50565b8161029757610297816102ea565b5050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60408051808201909152601881527f5769744f7261636c65547275737461626c655a6b53796e6300000000000000006020820152816040516020016103309291906103c1565b60408051601f198184030181529082905262461bcd60e51b82526100e0916004016103ea565b5f60208284031215610366575f5ffd5b81516001600160a01b038116811461037c575f5ffd5b9392505050565b5f60208284031215610393575f5ffd5b81516001600160e01b03198116811461037c575f5ffd5b5f81518060208401855e5f93019283525090919050565b5f6103cc82856103aa565b6101d160f51b81526103e160028201856103aa565b95945050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516159766104fd5f395f8181610e8701526114fe01525f8181612d890152818161322b015261339f01525f61325701525f818161329701526132df01525f6133cb01525f818161092f01528181611ea301526127a401525f610cc101525f61071a01525f610c7101525f611f1501525f818161076901526120a101525f50505f81816106d101528181610b0e015281816118ac0152818161191d01528181611964015261198601526159765ff3fe6080604052600436106103ac575f3560e01c806379ba5097116101e6578063adb7c3f71161010c578063d0a92a081161009f578063e900aa331161006e578063e900aa3314610ce3578063ec5946db14610cf6578063f2fde38b14610d09578063f61921b214610d28576103ac565b8063d0a92a0814610c41578063d5f3948814610c60578063e30c397814610c93578063e5a6b10f14610cb0576103ac565b8063bff852fa116100db578063bff852fa14610bb6578063c258134814610bca578063c805dd0f14610be9578063ca7da98b14610c15576103ac565b8063adb7c3f714610b33578063aeb2ffc114610b4c578063b207e73014610b78578063b783922b14610b97576103ac565b80638d3d8b3811610184578063a58f680311610153578063a58f680314610a95578063a667533f14610aa8578063a77fc1a414610ad4578063a9e954b914610b00576103ac565b80638d3d8b3814610a075780638da5cb5b14610a2657806393d5185c14610a425780639cc56e6714610a76576103ac565b80637bd88218116101c05780637bd882181461097e5780637c1fbda31461099d578063838d44e2146109bc5780638cfcdea2146109db576103ac565b806379ba50971461090a5780637b1039991461091e5780637bbdb96e14610951576103ac565b80634cddf615116102d657806359209b39116102695780636f07abcc116102385780636f07abcc146108565780636fdaab7e14610875578063715018a6146108d757806376d0e357146108eb576103ac565b806359209b39146107cd5780636280bce8146107f95780636b58960a146108185780636d0d6a7e14610837576103ac565b80635304bba2116102a55780635304bba21461073c5780635479d9401461075b57806354fd4d501461078d578063581f5094146107a1576103ac565b80634cddf615146106785780634e6c13a1146106a45780635001f3b5146106c357806352d1902d14610709576103ac565b806328a78d9b1161034e5780633fa595761161031d5780633fa59576146105c0578063439fab911461060e57806345ea6c171461062d5780634c9f72e314610659576103ac565b806328a78d9b1461055a57806339a8653e1461057b5780633b3195b71461059a5780633dc2b7a2146105ad576103ac565b806308b7e85e1161038a57806308b7e85e146104b75780630aa4112a146104e35780631aea970b1461050f578063234fe6e31461052e576103ac565b8063044ad7be1461043757806305e742ef1461046b57806306eb2c4214610498575b3480156103b7575f5ffd5b506103c55f3560f81c610d54565b6103d560ff5f3560f01c16610d54565b6103e560ff5f3560e81c16610d54565b6103f560ff5f3560e01c16610d54565b6040516020016104089493929190613c52565b60408051601f198184030181529082905262461bcd60e51b825261042e91600401613cde565b60405180910390fd5b348015610442575f5ffd5b50610456610451366004613d04565b610e40565b60405190151581526020015b60405180910390f35b348015610476575f5ffd5b5061048a610485366004613d2f565b610e81565b604051908152602001610462565b3480156104a3575f5ffd5b5061048a6104b2366004613da4565b610ed2565b3480156104c2575f5ffd5b506104d66104d1366004613de2565b6110f1565b6040516104629190613cde565b3480156104ee575f5ffd5b506105026104fd366004613de2565b611111565b6040516104629190613e7d565b34801561051a575f5ffd5b5061048a610529366004613ee0565b611365565b348015610539575f5ffd5b5061054d610548366004613de2565b611412565b6040516104629190613f71565b348015610565575f5ffd5b50610579610574366004613da4565b611487565b005b348015610586575f5ffd5b5061048a610595366004613de2565b6114f8565b61048a6105a83660046140c0565b611541565b61048a6105bb366004614143565b61172d565b3480156105cb575f5ffd5b506105df6105da366004613de2565b611785565b604051610462949392919093845260208401929092526001600160401b03166040830152606082015260800190565b348015610619575f5ffd5b506105796106283660046141ec565b6117d6565b348015610638575f5ffd5b5061064c610647366004613da4565b611a0a565b604051610462919061421d565b348015610664575f5ffd5b50610579610673366004613da4565b611ab1565b348015610683575f5ffd5b50610697610692366004613de2565b611af2565b6040516104629190614295565b3480156106af575f5ffd5b5061048a6106be3660046142c5565b611b66565b3480156106ce575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610462565b348015610714575f5ffd5b5061048a7f000000000000000000000000000000000000000000000000000000000000000081565b348015610747575f5ffd5b5061064c6107563660046143ec565b611e71565b348015610766575f5ffd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b348015610798575f5ffd5b506104d6611f0e565b3480156107ac575f5ffd5b506107c06107bb366004613da4565b611f3e565b6040516104629190614491565b3480156107d8575f5ffd5b506107ec6107e7366004613de2565b611fff565b60405161046291906144dc565b348015610804575f5ffd5b5061048a6108133660046145c8565b61207b565b348015610823575f5ffd5b50610456610832366004613d04565b61209e565b348015610842575f5ffd5b506107ec610851366004614616565b6120f2565b348015610861575f5ffd5b5061054d610870366004613de2565b6121ed565b348015610880575f5ffd5b506108bf61088f366004613de2565b5f9081525f5160206159215f395f51905f526020526040902060090154600160781b90046001600160481b031690565b6040516001600160481b039091168152602001610462565b3480156108e2575f5ffd5b50610579612227565b3480156108f6575f5ffd5b5061048a610905366004614681565b61223a565b348015610915575f5ffd5b506105796122a1565b348015610929575f5ffd5b506106f17f000000000000000000000000000000000000000000000000000000000000000081565b34801561095c575f5ffd5b5061096561231b565b6040516001600160e01b03199091168152602001610462565b348015610989575f5ffd5b5061048a6109983660046146c0565b612325565b3480156109a8575f5ffd5b506108bf6109b7366004613de2565b61232f565b3480156109c7575f5ffd5b506104d66109d6366004613de2565b612424565b3480156109e6575f5ffd5b506109fa6109f53660046146e3565b6124a6565b60405161046291906147a7565b348015610a12575f5ffd5b506104d6610a21366004613de2565b6125b8565b348015610a31575f5ffd5b505f546001600160a01b03166106f1565b348015610a4d575f5ffd5b50610a61610a5c366004614863565b6125cd565b60408051928352602083019190915201610462565b348015610a81575f5ffd5b5061048a610a903660046148de565b612780565b61048a610aa33660046148fe565b612846565b348015610ab3575f5ffd5b50610ac7610ac23660046146e3565b612905565b6040516104629190614920565b348015610adf575f5ffd5b50610af3610aee366004613de2565b6129b7565b6040516104629190614932565b348015610b0b575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000003f61048a565b348015610b3e575f5ffd5b506304722eaf60e31b610965565b348015610b57575f5ffd5b50610b6b610b66366004613de2565b612a9f565b60405161046291906149ac565b348015610b83575f5ffd5b5061048a610b923660046149f7565b612ad1565b348015610ba2575f5ffd5b506107ec610bb1366004614616565b612afb565b348015610bc1575f5ffd5b506104d6612b7f565b348015610bd5575f5ffd5b506104d6610be4366004613de2565b612bb6565b348015610bf4575f5ffd5b50610bfd612c87565b6040516001600160401b039091168152602001610462565b348015610c20575f5ffd5b50610c34610c2f3660046146e3565b612cab565b6040516104629190614a1b565b348015610c4c575f5ffd5b5061048a610c5b366004614a2d565b612d50565b348015610c6b575f5ffd5b506106f17f000000000000000000000000000000000000000000000000000000000000000081565b348015610c9e575f5ffd5b506001546001600160a01b03166106f1565b348015610cbb575f5ffd5b506106f17f000000000000000000000000000000000000000000000000000000000000000081565b61048a610cf1366004614a60565b612dda565b610579610d04366004613de2565b612e4a565b348015610d14575f5ffd5b50610579610d23366004613d04565b612fa3565b348015610d33575f5ffd5b50610d47610d42366004613de2565b613013565b6040516104629190614a9e565b6040805160028082528183019092526060915f91906020820181803683370190505090505f610d84601085614ad8565b610d8f906030614af9565b90505f610d9d601086614b12565b610da8906030614af9565b905060398260ff161115610dc457610dc1600783614af9565b91505b60398160ff161115610dde57610ddb600782614af9565b90505b8160f81b835f81518110610df457610df4614b33565b60200101906001600160f81b03191690815f1a9053508060f81b83600181518110610e2157610e21614b33565b60200101906001600160f81b03191690815f1a90535091949350505050565b6001600160a01b0381165f9081527ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e185602052604081205460ff165b92915050565b5f610eac7f000000000000000000000000000000000000000000000000000000000000000084614b47565b610eb7906010614b47565b610ec18484613224565b610ecb9190614b5e565b9392505050565b5f610f315f5160206159015f395f51905f525b335f908152600291909101602090815260409182902054825180840190935260158352743ab730baba3437b934bd32b2103932b837b93a32b960591b9183019190915260ff169061330d565b5f826001600160401b03811115610f4a57610f4a613f84565b604051908082528060200260200182016040528015610f9957816020015b604080516080810182525f80825260208083018290529282015260608082015282525f19909201910181610f685790505b5090505f5b838110156110df576040518060800160405280868684818110610fc357610fc3614b33565b9050602002810190610fd59190614b71565b356001600160401b03168152602001868684818110610ff657610ff6614b33565b90506020028101906110089190614b71565b611019906040810190602001614b8f565b63ffffffff16815260200186868481811061103657611036614b33565b90506020028101906110489190614b71565b60400135815260200186868481811061106357611063614b33565b90506020028101906110759190614b71565b611083906060810190614ba8565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250505091525082518390839081106110cc576110cc614b33565b6020908102919091010152600101610f9e565b506110e981611b66565b949350505050565b60606110fc8261232f565b505060408051602081019091525f8152919050565b6111546040805160c0810182525f80825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b5f8281525f5160206159215f395f51905f526020526040902060018101805461ffff919061118190614bea565b905011156111dc576040805160c0810182525f8082526020808301829052828401829052835180820185528281526060840152600290940154608083015282518084019093528083529282019290925260a082015292915050565b600381015415611305576040805160c08101825282546001600160a01b0381168252600160a01b810462ffffff166020830152600160b81b90046001600160481b03169181019190915260018201805460608301919061123b90614bea565b80601f016020809104026020016040519081016040528092919081815260200182805461126790614bea565b80156112b25780601f10611289576101008083540402835291602001916112b2565b820191905f5260205f20905b81548152906001019060200180831161129557829003601f168201915b5050509183525050600283015460208083019190915260408051808201825260089095015462010000810460ff16865264010000000090046001600160401b031691850191909152019190915292915050565b6040805160c08101825282546001600160a01b0381168252600160a01b900462ffffff1660208201526009830154600160781b90046001600160481b03169181019190915260018201805460608301919061123b90614bea565b50919050565b5f61137c5f5160206159015f395f51905f52610ee5565b6113b66001600160401b03861615156040518060400160405280600d81526020016c06261642074696d657374616d7609c1b81525061330d565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b60208201526113f0908315159061330d565b611406866001600160401b03168686868661331f565b90505b95945050505050565b60405163234fe6e360e01b8152600481018290525f9073__$713c4f4487e8756194dbc5b3b091cd4345$__9063234fe6e3906024015b602060405180830381865af4158015611463573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7b9190614c28565b61148f61336d565b6040516328a78d9b60e01b815273__$713c4f4487e8756194dbc5b3b091cd4345$__906328a78d9b906114c89085908590600401614c43565b5f6040518083038186803b1580156114de575f5ffd5b505af41580156114f0573d5f5f3e3d5ffd5b505050505050565b5f6115237f000000000000000000000000000000000000000000000000000000000000000083614b47565b61152e90600c614b47565b61153783613399565b610e7b9190614b5e565b5f346115513a8460200151610e81565b61158981831015604051806040016040528060138152602001721a5b9cdd59999a58da595b9d081c995dd85c99606a1b81525061330d565b6115c761159782600a614b47565b8311156040518060400160405280600f81526020016e1d1bdbc81b5d58da081c995dd85c99608a1b81525061330d565b846115fd6115d4826133f9565b6040518060400160405280600b81526020016a696e76616c696420534c4160a81b81525061330d565b846116c35f825f01516001600160a01b03163b118015611681575081516040516323d0872b60e11b81523060048201526001600160a01b03909116906347a10e5690602401602060405180830381865afa15801561165d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116819190614c8f565b801561169557505f826020015162ffffff16115b6040518060400160405280601081526020016f696e76616c69642063616c6c6261636b60801b81525061330d565b855160208701516116d79190348b8b613434565b9450336001600160a01b03167ffbe74eb38ea9de3d74d481a4f701ae121d794895c5797db8260d06d317901d263a34888c8c60405161171a959493929190614cae565b60405180910390a2505050509392505050565b5f610ecb836040518060600160405280602061ffff168152602001855f01602081019061175a9190614d15565b60ff16815260209081019061177590604088019088016146e3565b6001600160401b03169052612846565b5f5f5f5f5f611793866134b0565b600981015460058201546004909201546001600160881b0319608883901b16999298506001600160401b03600160c01b9182900481169850910416945092505050565b5f546001600160a01b03168061180c57818060200190518101906117fa9190614d91565b92509050611807816134cc565b611854565b336001600160a01b038216146118545760405162461bcd60e51b815260206004820152600d60248201526c3737ba103a34329037bbb732b960991b604482015260640161042e565b61185d826134e5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe54158015906118ce57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe547f00000000000000000000000000000000000000000000000000000000000000003f145b1561191b5760405162461bcd60e51b815260206004820152601c60248201527f616c726561647920696e697469616c697a656420636f64656861736800000000604482015260640161042e565b7f00000000000000000000000000000000000000000000000000000000000000003f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc600201557f00000000000000000000000000000000000000000000000000000000000000003f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166119bf5f546001600160a01b031690565b6001600160a01b03167fe73e754121f0bad1327816970101955bfffdf53d270ac509d777c25be070d7f66119f1611f0e565b6040516119fe9190613cde565b60405180910390a45050565b60605f826001600160401b03811115611a2557611a25613f84565b604051908082528060200260200182016040528015611a4e578160200160208202803683370190505b5090505f5b8151811015611aa757848482818110611a6e57611a6e614b33565b90506020020135828281518110611a8757611a87614b33565b6001600160401b0390921660209283029190910190910152600101611a53565b506110e981611e71565b611ab961336d565b604051634c9f72e360e01b815273__$713c4f4487e8756194dbc5b3b091cd4345$__90634c9f72e3906114c89085908590600401614c43565b604051634cddf61560e01b8152600481018290525f9073__$713c4f4487e8756194dbc5b3b091cd4345$__90634cddf61590602401602060405180830381865af4158015611b42573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7b9190614ded565b5f611b7d5f5160206159015f395f51905f52610ee5565b5f5b8251811015611e5b575f838281518110611b9b57611b9b614b33565b6020908102919091010151516001600160401b031690506001611bbd826121ed565b6006811115611bce57611bce613f4d565b14611ccb577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848381518110611c0657611c06614b33565b60200260200101515f0151611c19612b7f565b604051638f191e5f60e01b815273__$713c4f4487e8756194dbc5b3b091cd4345$__90638f191e5f90611c5190600190600401613f71565b5f60405180830381865af4158015611c6b573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611c929190810190614e06565b604051602001611ca3929190614e4a565b60408051601f1981840301815290829052611cbe9291614e6a565b60405180910390a1611e52565b426001600160401b0316848381518110611ce757611ce7614b33565b6020026020010151602001516001600160401b03161180611d3a5750611d3a848381518110611d1857611d18614b33565b6020026020010151602001516001600160401b03166001600160401b03161590565b80611d625750838281518110611d5257611d52614b33565b602002602001015160600151515f145b15611dbd577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848381518110611d9a57611d9a614b33565b60200260200101515f0151611dad612b7f565b604051602001611ca39190614e8b565b611e45848381518110611dd257611dd2614b33565b60200260200101515f01516001600160401b0316858481518110611df857611df8614b33565b602002602001015160200151868581518110611e1657611e16614b33565b602002602001015160400151878681518110611e3457611e34614b33565b60200260200101516060015161355e565b611e4f9084614b5e565b92505b50600101611b7f565b508015611e6c57611e6c338261369c565b919050565b604051633ab5a66d60e11b815260609073__$713c4f4487e8756194dbc5b3b091cd4345$__9063756b4cda90611ecd907f0000000000000000000000000000000000000000000000000000000000000000908690600401614ebb565b5f60405180830381865af4158015611ee7573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e7b9190810190614f19565b6060611f397f0000000000000000000000000000000000000000000000000000000000000000613732565b905090565b6060816001600160401b03811115611f5857611f58613f84565b604051908082528060200260200182016040528015611f81578160200160208202803683370190505b5090505f5b82811015611ff857611faf848483818110611fa357611fa3614b33565b905060200201356121ed565b828281518110611fc157611fc1614b33565b60200260200101906006811115611fda57611fda613f4d565b90816006811115611fed57611fed613f4d565b905250600101611f86565b5092915050565b612007613b3e565b6040516359209b3960e01b81526004810183905273__$713c4f4487e8756194dbc5b3b091cd4345$__906359209b39906024015f60405180830381865af4158015612054573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e7b9190810190615151565b5f6120925f5160206159015f395f51905f52610ee5565b6114098585858561223a565b5f7f00000000000000000000000000000000000000000000000000000000000000008015610e7b5750816001600160a01b03166120e25f546001600160a01b031690565b6001600160a01b03161492915050565b6120fa613b3e565b5f5f73__$713c4f4487e8756194dbc5b3b091cd4345$__631600b78b8787876040518463ffffffff1660e01b8152600401612137939291906151f4565b5f60405180830381865af4158015612151573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261217891908101906152a4565b909250905033327f7a9001dc4425127400f09e4c0b02908ad0e1f642ee9c92932a222c686674648284893560208b013560408c016121bc60c08e0160a08f016146e3565b6121c960c08f018f614ba8565b6040516121dc97969594939291906152e7565b60405180910390a395945050505050565b604051631bc1eaf360e21b8152600481018290525f9073__$713c4f4487e8756194dbc5b3b091cd4345$__90636f07abcc90602401611448565b61222f61336d565b6122385f6134cc565b565b5f6122515f5160206159015f395f51905f52610ee5565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b602082015261228b908315159061330d565b611409856001600160401b03164286868661331f565b60015433906001600160a01b0316811461230f5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b606482015260840161042e565b612318816134cc565b50565b5f611f39306137d3565b5f610ecb836114f8565b604051637c1fbda360e01b8152600481018290525f9073__$713c4f4487e8756194dbc5b3b091cd4345$__90637c1fbda390602401602060405180830381865af492505050801561239d575060408051601f3d908101601f1916820190925261239a91810190615358565b60015b61240a576123a9615371565b806308c379a0036123d157506123bd615389565b806123c857506123d3565b61135f81613811565b505b3d8080156123fc576040519150601f19603f3d011682016040523d82523d5f602084013e612401565b606091505b5061135f61382b565b6001600160481b0381168015611ff857611ff8338261369c565b606073__$713c4f4487e8756194dbc5b3b091cd4345$__634cbc7ff8612449846121ed565b6040518263ffffffff1660e01b81526004016124659190613f71565b5f60405180830381865af415801561247f573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e7b9190810190614e06565b61253c6040805161014081019091525f60c0820181815260e083018290526060610100840152610120830191909152819081526040805160a0810182525f808252602082810182905292820181905260608083015260808201529101908152604080516060810182525f80825260208281018290529282015291019081525f602082018190526040820181905260609091015290565b60405163467e6f5160e11b81526001600160401b038316600482015273__$713c4f4487e8756194dbc5b3b091cd4345$__90638cfcdea2906024015f60405180830381865af4158015612591573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e7b919081019061558a565b60606125c382612cab565b6060015192915050565b5f80805b87811015612774575f8989838181106125ec576125ec614b33565b6020029190910135915060019050612603826121ed565b600681111561261457612614613f4d565b0361276b575f612623826134b0565b8054909150600160a01b900462ffffff16156126b357604080516060810182525f8152600883015461ffff62010000820416602083015264010000000090046001600160401b03169181019190915261267f9088908890612d50565b8154612698908990600160a01b900462ffffff16610e81565b6126a29190614b5e565b6126ac9085614b5e565b935061271b565b60408051606081018252600883015461ffff808216835262010000820416602083015264010000000090046001600160401b0316918101919091526126fb9088908890612d50565b612704886114f8565b61270e9190614b5e565b6127189085614b5e565b93505b600881015461273b9064010000000090046001600160401b031687614b47565b6127459085614b5e565b600982015490945061276790600160781b90046001600160481b031686614b5e565b9450505b506001016125d1565b50965096945050505050565b604051631a3b01e960e21b8152600481018290525f9061283d906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906368ec07a490602401602060405180830381865afa1580156127e9573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061280d9190614c8f565b604051806040016040528060128152602001710eadcd6dcdeeedc40e4c2c8dedc40d0c2e6d60731b81525061330d565b610ecb836114f8565b5f346128513a6114f8565b61288981831015604051806040016040528060138152602001721a5b9cdd59999a58da595b9d081c995dd85c99606a1b81525061330d565b61289761159782600a614b47565b836128a46115d4826133f9565b6128b1335f348989613434565b9350336001600160a01b03167ffbe74eb38ea9de3d74d481a4f701ae121d794895c5797db8260d06d317901d263a34878a8a6040516128f4959493929190614cae565b60405180910390a250505092915050565b61293b60405180608001604052805f6001600160a01b031681526020015f62ffffff168152602001606081526020015f81525090565b60405163a667533f60e01b81526001600160401b038316600482015273__$713c4f4487e8756194dbc5b3b091cd4345$__9063a667533f906024015f60405180830381865af4158015612990573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e7b9190810190615664565b604080518082019091525f8152606060208201525f6129d583611fff565b90506040518060400160405280825f015160ff8111156129f7576129f7613f4d565b60ff16815260200173__$39c1c75f9ff01712a7ae2d1d1d8c462aa1$__6371aad10d84604051602001612a2a91906144dc565b6040516020818303038152906040526040518263ffffffff1660e01b8152600401612a559190613cde565b5f60405180830381865af4158015612a6f573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612a969190810190614e06565b90529392505050565b612aa7613bb9565b6040518060400160405280612abb84611111565b8152602001612ac984613013565b905292915050565b5f612ae85f5160206159015f395f51905f52610ee5565b611406868663ffffffff16868686611365565b612b03613b3e565b604051631600b78b60e01b815273__$713c4f4487e8756194dbc5b3b091cd4345$__90631600b78b90612b3e908790879087906004016151f4565b5f60405180830381865af4158015612b58573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261140991908101906152a4565b60408051808201909152601881527f5769744f7261636c65547275737461626c655a6b53796e630000000000000000602082015290565b606073__$39c1c75f9ff01712a7ae2d1d1d8c462aa1$__6371aad10d73__$713c4f4487e8756194dbc5b3b091cd4345$__6359209b39856040518263ffffffff1660e01b8152600401612c0b91815260200190565b5f60405180830381865af4158015612c25573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612c4c9190810190615151565b604051602001612c5c91906144dc565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016124659190613cde565b5f5f5160206159015f395f51905f5254611f39906001600160401b03166001615695565b6040805160a0810182525f80825260208201819052918101829052606080820152608081019190915260405163ca7da98b60e01b81526001600160401b038316600482015273__$713c4f4487e8756194dbc5b3b091cd4345$__9063ca7da98b906024015f60405180830381865af4158015612d29573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e7b91908101906156b4565b5f6020825f015161ffff1611612d66575f612db8565b8151602090612d769082906156e5565b612d8091906156ff565b61ffff16612dae7f000000000000000000000000000000000000000000000000000000000000000086614b47565b612db89190614b47565b6040830151612dd0906001600160401b031685614b47565b6110e99190614b5e565b5f6110e9846040518060600160405280602061ffff168152602001865f016020810190612e079190614d15565b60ff168152602090810190612e2290604089019089016146e3565b6001600160401b031690526040805180820190915233815262ffffff86166020820152611541565b80600180612e57836121ed565b6006811115612e6857612e68613f4d565b14612ef357604051638f191e5f60e01b8152612eee9073__$713c4f4487e8756194dbc5b3b091cd4345$__90638f191e5f90612ea8908590600401613f71565b5f60405180830381865af4158015612ec2573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612ee99190810190614e06565b613811565b505050565b5f612efd846134b0565b90505f346009830154612f209190600160781b90046001600160481b0316614b5e565b6009830180546001600160481b038316600160781b0268ffffffffffffffffff60781b19909116179055604080516001600160401b03881681523360208201523a818301526060810183905290519192507f66f95ec285ca572fa1cac40e7019e14ab45a8fc619c6405222e8af55534c2f67919081900360800190a15050505050565b612fab61336d565b600180546001600160a01b0383166001600160a01b03199091168117909155612fdb5f546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6130596040518060a001604052805f6001600160a01b031681526020015f6001600160401b031681526020015f63ffffffff1681526020015f8152602001606081525090565b5f8281525f5160206159215f395f51905f526020526040902060018101805461ffff919061308690614bea565b905011156130ca5750506040805160a0810182525f808252602080830182905282840182905260608301829052835191825281019092526080810191909152919050565b6003810154156131bf576040805160a08101825260048301546001600160a01b038116825263ffffffff600160a01b82048116602080850191909152600160c01b90920490911c16918101919091526005820154606082015260068201805460808301919061313890614bea565b80601f016020809104026020016040519081016040528092919081815260200182805461316490614bea565b80156131af5780601f10613186576101008083540402835291602001916131af565b820191905f5260205f20905b81548152906001019060200180831161319257829003601f168201915b5050505050815250915050919050565b6040805160a08101825260048301546001600160a01b038116825260098401546001600160401b03600160c01b9182900416602084015263ffffffff910416918101919091526005820154606082015260068201805460808301919061313890614bea565b5f806132517f00000000000000000000000000000000000000000000000000000000000000006003614b47565b61327b907f0000000000000000000000000000000000000000000000000000000000000000614b5e565b9050808362ffffff1610806132bd5750806132bb62ffffff85167f0000000000000000000000000000000000000000000000000000000000000000614b5e565b105b156132d4576132cc8185614b47565b915050610e7b565b61330362ffffff84167f0000000000000000000000000000000000000000000000000000000000000000614b5e565b6132cc9085614b47565b8161331b5761331b81613811565b5050565b5f61336186868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061355e92505050565b9050611409338261369c565b5f546001600160a01b031633146122385760405163118cdaa760e01b815233600482015260240161042e565b5f6133c57f00000000000000000000000000000000000000000000000000000000000000006004614b47565b6133ef907f0000000000000000000000000000000000000000000000000000000000000000614b5e565b610e7b9083614b47565b5f5f826020015161ffff1611801561341a5750607f826020015161ffff1611155b8015610e7b575050604001516001600160401b0316151590565b5f6134428686868686613836565b90507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a61681346040518060400160405280866020015160ff16815260200186604001516001600160401b031681525060405161349f93929190615722565b60405180910390a195945050505050565b5f9081525f5160206159215f395f51905f526020526040902090565b600180546001600160a01b0319169055612318816139a1565b73__$713c4f4487e8756194dbc5b3b091cd4345$__634c9f72e3828060200190518101906135139190615751565b6040518263ffffffff1660e01b815260040161352f91906157ec565b5f6040518083038186803b158015613545575f5ffd5b505af4158015613557573d5f5f3e3d5ffd5b5050505050565b5f61361a6001604051631bc1eaf360e21b81526004810188905273__$713c4f4487e8756194dbc5b3b091cd4345$__90636f07abcc90602401602060405180830381865af41580156135b2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906135d69190614c28565b60068111156135e7576135e7613f4d565b14604051806040016040528060148152602001736e6f7420696e20506f737465642073746174757360601b81525061330d565b604051637102a0df60e11b815273__$713c4f4487e8756194dbc5b3b091cd4345$__9063e20541be9061365d9033903a9043908b908b908b908b9060040161582c565b602060405180830381865af4158015613678573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611409919061587c565b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f81146136e5576040519150601f19603f3d011682016040523d82523d5f602084013e6136ea565b606091505b5050905080612eee5760405162461bcd60e51b815260206004820152601460248201527363616e6e6f74207472616e73666572206261636b60601b604482015260640161042e565b60605f61373e836139f0565b6001600160401b0381111561375557613755613f84565b6040519080825280601f01601f19166020018201604052801561377f576020820181803683370190505b5090505f5b8151811015611ff85783816020811061379f5761379f614b33565b1a60f81b8282815181106137b5576137b5614b33565b60200101906001600160f81b03191690815f1a905350600101613784565b604080516001600160a01b038316602082015246918101919091525f906060015b604051602081830303815290604052805190602001209050919050565b613819612b7f565b81604051602001610408929190614e4a565b612238612ee9613a28565b5f5f5160206159015f395f51905f5280545f9061385b906001600160401b0316615893565b91906101000a8154816001600160401b0302191690836001600160401b0316021790556001600160401b031690505f613893826134b0565b6009810180546001600160c01b0316600160c01b436001600160401b03160217905590506138ca82856138c586613a77565b613aca565b60098201805460889290921c6001600160c01b031990921691909117600160781b6001600160481b0388160217905580546001600160a01b0319166001600160a01b0388161781556002810184905562ffffff86161561393f57805462ffffff60a01b1916600160a01b62ffffff8816021781555b82516008909101805460208501516040909501516001600160401b0316640100000000026bffffffffffffffff000000001961ffff968716620100000263ffffffff199093169690941695909517179190911692909217909155949350505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5b6020811015611e6c57818160208110613a0d57613a0d614b33565b1a60f81b6001600160f81b03191615611e6c576001016139f2565b60606040518060400160405260108152806020016f2bb4ba27b930b1b632a230ba30a634b160811b815250604051602001613a6391906158bd565b604051602081830303815290604052905090565b5f815f0151826020015183604001516040516020016137f49392919060f093841b6001600160f01b031990811682529290931b909116600283015260c01b6001600160c01b0319166004820152600c0190565b5f613ad4306137d3565b613adf6001436158ed565b604080516001600160e01b031990931660208401529040908201526001600160401b03851660608201526080810184905260a0810183905260c0016040516020818303038152906040528051906020012090509392505050565b905290565b6040805160c08101909152805f81526020015f81526020015f81526020015f81526020015f6001600160401b03168152602001613b39604080516101008101909152606060c082019081525f60e0830152819081525f6020820181905260408201819052606082018190526080820181905260a09091015290565b6040518060400160405280613c076040805160c0810182525f80825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b81526040805160a0810182525f80825260208281018290529282018190526060808301919091526080820152910190613b39565b5f81518060208401855e5f93019283525090919050565b7f5769746e657455706772616461626c65426173653a206e6f7420696d706c656d8152680cadce8cac8744060f60bb1b60208201525f611406613caa613ca4613c9e602986018a613c3b565b88613c3b565b86613c3b565b84613c3b565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610ecb6020830184613cb0565b6001600160a01b0381168114612318575f5ffd5b5f60208284031215613d14575f5ffd5b8135610ecb81613cf0565b62ffffff81168114612318575f5ffd5b5f5f60408385031215613d40575f5ffd5b823591506020830135613d5281613d1f565b809150509250929050565b5f5f83601f840112613d6d575f5ffd5b5081356001600160401b03811115613d83575f5ffd5b6020830191508360208260051b8501011115613d9d575f5ffd5b9250929050565b5f5f60208385031215613db5575f5ffd5b82356001600160401b03811115613dca575f5ffd5b613dd685828601613d5d565b90969095509350505050565b5f60208284031215613df2575f5ffd5b5035919050565b60018060a01b03815116825262ffffff60208201511660208301526001600160481b0360408201511660408301525f606082015160e06060850152613e4160e0850182613cb0565b90506080830151608085015260a0830151613e7560a0860182805160ff1682526020908101516001600160401b0316910152565b509392505050565b602081525f610ecb6020830184613df9565b6001600160401b0381168114612318575f5ffd5b5f5f83601f840112613eb3575f5ffd5b5081356001600160401b03811115613ec9575f5ffd5b602083019150836020828501011115613d9d575f5ffd5b5f5f5f5f5f60808688031215613ef4575f5ffd5b8535613eff81613e8f565b94506020860135613f0f81613e8f565b93506040860135925060608601356001600160401b03811115613f30575f5ffd5b613f3c88828901613ea3565b969995985093965092949392505050565b634e487b7160e01b5f52602160045260245ffd5b6007811061231857612318613f4d565b60208101613f7e83613f61565b91905290565b634e487b7160e01b5f52604160045260245ffd5b606081018181106001600160401b0382111715613fb757613fb7613f84565b60405250565b604081018181106001600160401b0382111715613fb757613fb7613f84565b608081018181106001600160401b0382111715613fb757613fb7613f84565b60c081018181106001600160401b0382111715613fb757613fb7613f84565b601f8201601f191681016001600160401b038111828210171561403f5761403f613f84565b6040525050565b60405161405460c08261401a565b90565b61ffff81168114612318575f5ffd5b5f60608284031215614076575f5ffd5b60405161408281613f98565b809150823561409081614057565b815260208301356140a081614057565b602082015260408301356140b381613e8f565b6040919091015292915050565b5f5f5f83850360c08112156140d3575f5ffd5b843593506140e48660208701614066565b92506040607f19820112156140f7575f5ffd5b5060405161410481613fbd565b608085013561411281613cf0565b815260a085013561412281613d1f565b602082015292959194509192509050565b5f6040828403121561135f575f5ffd5b5f5f60608385031215614154575f5ffd5b823591506141658460208501614133565b90509250929050565b5f6001600160401b0382111561418657614186613f84565b50601f01601f191660200190565b5f82601f8301126141a3575f5ffd5b81356141ae8161416e565b6040516141bb828261401a565b8281528560208487010111156141cf575f5ffd5b826020860160208301375f92810160200192909252509392505050565b5f602082840312156141fc575f5ffd5b81356001600160401b03811115614211575f5ffd5b6110e984828501614194565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561427457603f1987860301845261425f858351613cb0565b94506020938401939190910190600101614243565b50929695505050505050565b610100811061429157614291613f4d565b9052565b60208101610e7b8284614280565b5f6001600160401b038211156142bb576142bb613f84565b5060051b60200190565b5f602082840312156142d5575f5ffd5b81356001600160401b038111156142ea575f5ffd5b8201601f810184136142fa575f5ffd5b8035614305816142a3565b604051614312828261401a565b80915082815260208101915060208360051b850101925086831115614335575f5ffd5b602084015b838110156143e15780356001600160401b03811115614357575f5ffd5b85016080818a03601f1901121561436c575f5ffd5b60405161437881613fdc565b602082013561438681613e8f565b8152604082013561439681613e8f565b60208201526060820135604082015260808201356001600160401b038111156143bd575f5ffd5b6143cc8b602083860101614194565b6060830152508452506020928301920161433a565b509695505050505050565b5f602082840312156143fc575f5ffd5b81356001600160401b03811115614411575f5ffd5b8201601f81018413614421575f5ffd5b803561442c816142a3565b604051614439828261401a565b80915082815260208101915060208360051b85010192508683111561445c575f5ffd5b6020840193505b8284101561448757833561447681613e8f565b825260209384019390910190614463565b9695505050505050565b602080825282518282018190525f918401906040840190835b818110156144d15783516144bd81613f61565b8352602093840193909201916001016144aa565b509095945050505050565b602081526144ee602082018351614280565b5f60208301516014811061450457614504613f4d565b8060408401525060408301516060830152606083015160808301526001600160401b0360808401511660a083015260a083015160c080840152805160c060e0850152805160406101a086015261455e6101e0860182613cb0565b6020928301516101c08701529183015160ff166101008601525060408201519061458e61012086018360ff169052565b606083015160ff1661014086015260808301516001600160401b0380821661016088015260a0909401519384166101808701529150611409565b5f5f5f5f606085870312156145db575f5ffd5b843593506020850135925060408501356001600160401b038111156145fe575f5ffd5b61460a87828801613ea3565b95989497509550505050565b5f5f5f60408486031215614628575f5ffd5b83356001600160401b0381111561463d575f5ffd5b840160e0818703121561464e575f5ffd5b925060208401356001600160401b03811115614668575f5ffd5b61467486828701613ea3565b9497909650939450505050565b5f5f5f5f60608587031215614694575f5ffd5b843561469f81613e8f565b93506020850135925060408501356001600160401b038111156145fe575f5ffd5b5f5f604083850312156146d1575f5ffd5b823591506020830135613d5281614057565b5f602082840312156146f3575f5ffd5b8135610ecb81613e8f565b60018060a01b03815116825262ffffff60208201511660208301525f6040820151608060408501526147336080850182613cb0565b606093840151949093019390935250919050565b60018060a01b0381511682526001600160401b036020820151166020830152604081015160408301525f606082015160a0606085015261478a60a0850182613cb0565b6080938401516001600160a01b0316949093019390935250919050565b602081525f825161010060208401526147c46101208401826146fe565b90506020840151601f198483030160408501526147e18282614747565b915050604084015161481e606085018261ffff815116825261ffff60208201511660208301526001600160401b0360408201511660408301525050565b5060608401516001600160881b03191660c084015260808401516001600160481b031660e084015260a0909301516001600160401b0316610100909201919091525090565b5f5f5f5f5f5f60808789031215614878575f5ffd5b86356001600160401b0381111561488d575f5ffd5b61489989828a01613d5d565b90975095505060208701356001600160401b038111156148b7575f5ffd5b6148c389828a01613ea3565b979a9699509760408101359660609091013595509350505050565b5f5f604083850312156148ef575f5ffd5b50508035926020909101359150565b5f5f6080838503121561490f575f5ffd5b823591506141658460208501614066565b602081525f610ecb60208301846146fe565b6020815260ff82511660208201525f60208301516040808401526110e96060840182613cb0565b60018060a01b0381511682526001600160401b03602082015116602083015263ffffffff6040820151166040830152606081015160608301525f608082015160a060808501526110e960a0850182613cb0565b602081525f8251604060208401526149c76060840182613df9565b90506020840151601f198483030160408501526114098282614959565b803563ffffffff81168114611e6c575f5ffd5b5f5f5f5f5f60808688031215614a0b575f5ffd5b85359450613f0f602087016149e4565b602081525f610ecb6020830184614747565b5f5f5f60a08486031215614a3f575f5ffd5b8335925060208401359150614a578560408601614066565b90509250925092565b5f5f5f60808486031215614a72575f5ffd5b83359250614a838560208601614133565b91506060840135614a9381613d1f565b809150509250925092565b602081525f610ecb6020830184614959565b634e487b7160e01b5f52601260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60ff831680614aea57614aea614ab0565b8060ff84160491505092915050565b60ff8181168382160190811115610e7b57610e7b614ac4565b5f60ff831680614b2457614b24614ab0565b8060ff84160691505092915050565b634e487b7160e01b5f52603260045260245ffd5b8082028115828204841417610e7b57610e7b614ac4565b80820180821115610e7b57610e7b614ac4565b5f8235607e19833603018112614b85575f5ffd5b9190910192915050565b5f60208284031215614b9f575f5ffd5b610ecb826149e4565b5f5f8335601e19843603018112614bbd575f5ffd5b8301803591506001600160401b03821115614bd6575f5ffd5b602001915036819003821315613d9d575f5ffd5b600181811c90821680614bfe57607f821691505b60208210810361135f57634e487b7160e01b5f52602260045260245ffd5b60078110612318575f5ffd5b5f60208284031215614c38575f5ffd5b8151610ecb81614c1c565b602080825281018290525f8360408301825b85811015614c85578235614c6881613cf0565b6001600160a01b0316825260209283019290910190600101614c55565b5095945050505050565b5f60208284031215614c9f575f5ffd5b81518015158114610ecb575f5ffd5b858152602081018590526001600160401b03841660408201526060810183905260e08101614487608083018461ffff815116825261ffff60208201511660208301526001600160401b0360408201511660408301525050565b60ff81168114612318575f5ffd5b5f60208284031215614d25575f5ffd5b8135610ecb81614d07565b5f614d3a8361416e565b604051614d47828261401a565b809250848152858585011115614d5b575f5ffd5b8484602083015e5f6020868301015250509392505050565b5f82601f830112614d82575f5ffd5b610ecb83835160208501614d30565b5f5f60408385031215614da2575f5ffd5b8251614dad81613cf0565b60208401519092506001600160401b03811115614dc8575f5ffd5b614dd485828601614d73565b9150509250929050565b80516101008110611e6c575f5ffd5b5f60208284031215614dfd575f5ffd5b610ecb82614dde565b5f60208284031215614e16575f5ffd5b81516001600160401b03811115614e2b575f5ffd5b8201601f81018413614e3b575f5ffd5b6110e984825160208401614d30565b5f614e558285613c3b565b6101d160f51b81526114096002820185613c3b565b6001600160401b0383168152604060208201525f6110e96040830184613cb0565b5f614e968284613c3b565b743a20696e76616c6964207265706f7274206461746160581b81526015019392505050565b6001600160a01b03831681526040602080830182905283519183018290525f91908401906060840190835b81811015614f0d5783516001600160401b0316835260209384019390920191600101614ee6565b50909695505050505050565b5f60208284031215614f29575f5ffd5b81516001600160401b03811115614f3e575f5ffd5b8201601f81018413614f4e575f5ffd5b8051614f59816142a3565b604051614f66828261401a565b80915082815260208101915060208360051b850101925086831115614f89575f5ffd5b602084015b838110156143e15780516001600160401b03811115614fab575f5ffd5b614fba89602083890101614d73565b84525060209283019201614f8e565b8051611e6c81613e8f565b8051611e6c81614d07565b5f60c08284031215614fef575f5ffd5b604051614ffb81613ffb565b80915082516001600160401b03811115615013575f5ffd5b830160408186031215615024575f5ffd5b60405161503081613fbd565b81516001600160401b03811115615045575f5ffd5b61505187828501614d73565b82525060209182015182820152825261506b908401614fd4565b602082015261507c60408401614fd4565b604082015261508d60608401614fd4565b606082015261509e60808401614fc9565b60808201526150af60a08401614fc9565b60a08201525092915050565b5f60c082840312156150cb575f5ffd5b6040516150d781613ffb565b8091506150e383614dde565b81526020830151601481106150f6575f5ffd5b6020820152604083810151908201526060808401519082015261511b60808401614fc9565b608082015260a08301516001600160401b03811115615138575f5ffd5b61514485828601614fdf565b60a0830152505092915050565b5f60208284031215615161575f5ffd5b81516001600160401b03811115615176575f5ffd5b6110e9848285016150bb565b803561518d81614057565b61ffff16825260208101356151a181614057565b61ffff16602083015260408101356151b881613e8f565b6001600160401b0381166040840152505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6040808252843582820152602085013560608301525f9061521b9060808401908701615182565b60a085013561522981613e8f565b6001600160401b031660e083015260c085013536869003601e1901811261524e575f5ffd5b85016020810190356001600160401b03811115615269575f5ffd5b803603821315615277575f5ffd5b60e061010085015261528e610120850182846151cc565b91505082810360208401526144878185876151cc565b5f5f604083850312156152b5575f5ffd5b82516152c081613cf0565b60208401519092506001600160401b038111156152db575f5ffd5b614dd4858286016150bb565b6001600160a01b0388168152602081018790526040810186905261530e6060820186615182565b6001600160401b03841660c082015261010060e08201525f615335610100830184866151cc565b9998505050505050505050565b80516001600160481b0381168114611e6c575f5ffd5b5f60208284031215615368575f5ffd5b610ecb82615342565b5f60033d11156140545760045f5f3e505f5160e01c90565b5f60443d10156153965790565b6040513d600319016004823e80513d60248201116001600160401b03821117156153bf57505090565b80820180516001600160401b038111156153da575050505090565b3d84016003190182820160200111156153f4575050505090565b613e756020828501018561401a565b5f60808284031215615413575f5ffd5b60405161541f81613fdc565b809150825161542d81613cf0565b8152602083015161543d81613d1f565b602082015260408301516001600160401b0381111561545a575f5ffd5b61546685828601614d73565b604083015250606092830151920191909152919050565b5f60a0828403121561548d575f5ffd5b60405160a081018181106001600160401b03821117156154af576154af613f84565b806040525080915082516154c281613cf0565b815260208301516154d281613e8f565b60208201526040838101519082015260608301516001600160401b038111156154f9575f5ffd5b61550585828601614d73565b606083015250608083015161551981613cf0565b6080919091015292915050565b5f60608284031215615536575f5ffd5b60405161554281613f98565b809150825161555081614057565b8152602083015161556081614057565b602082015260408301516140b381613e8f565b80516001600160881b031981168114611e6c575f5ffd5b5f6020828403121561559a575f5ffd5b81516001600160401b038111156155af575f5ffd5b820161010081850312156155c1575f5ffd5b6155c9614046565b81516001600160401b038111156155de575f5ffd5b6155ea86828501615403565b82525060208201516001600160401b03811115615605575f5ffd5b6156118682850161547d565b6020830152506156248560408401615526565b604082015261563560a08301615573565b606082015261564660c08301615342565b608082015261565760e08301614fc9565b60a0820152949350505050565b5f60208284031215615674575f5ffd5b81516001600160401b03811115615689575f5ffd5b6110e984828501615403565b6001600160401b038181168382160190811115610e7b57610e7b614ac4565b5f602082840312156156c4575f5ffd5b81516001600160401b038111156156d9575f5ffd5b6110e98482850161547d565b61ffff8281168282160390811115610e7b57610e7b614ac4565b5f61ffff83168061571257615712614ab0565b8061ffff84160491505092915050565b8381526020808201849052825160ff1660408301528201516001600160401b03166060820152608081016110e9565b5f60208284031215615761575f5ffd5b81516001600160401b03811115615776575f5ffd5b8201601f81018413615786575f5ffd5b8051615791816142a3565b60405161579e828261401a565b80915082815260208101915060208360051b8501019250868311156157c1575f5ffd5b6020840193505b828410156144875783516157db81613cf0565b8252602093840193909101906157c8565b602080825282518282018190525f918401906040840190835b818110156144d15783516001600160a01b0316835260209384019390920191600101615805565b60018060a01b03881681528660208201526001600160401b03861660408201528460608201526001600160401b03841660808201528260a082015260e060c08201525f61533560e0830184613cb0565b5f6020828403121561588c575f5ffd5b5051919050565b5f6001600160401b0382166001600160401b0381036158b4576158b4614ac4565b60010192915050565b5f6158c88284613c3b565b741d103ab73430b7323632b21030b9b9b2b93a34b7b760591b81526015019392505050565b81810381811115610e7b57610e7b614ac456fef595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e183f595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e184a264697066735822122089caae9f4c5a863840bc07107e551df61fdc0373894628d98847fdec38af082464736f6c634300081e0033";
  readonly deployedBytecode: "0x6080604052600436106103ac575f3560e01c806379ba5097116101e6578063adb7c3f71161010c578063d0a92a081161009f578063e900aa331161006e578063e900aa3314610ce3578063ec5946db14610cf6578063f2fde38b14610d09578063f61921b214610d28576103ac565b8063d0a92a0814610c41578063d5f3948814610c60578063e30c397814610c93578063e5a6b10f14610cb0576103ac565b8063bff852fa116100db578063bff852fa14610bb6578063c258134814610bca578063c805dd0f14610be9578063ca7da98b14610c15576103ac565b8063adb7c3f714610b33578063aeb2ffc114610b4c578063b207e73014610b78578063b783922b14610b97576103ac565b80638d3d8b3811610184578063a58f680311610153578063a58f680314610a95578063a667533f14610aa8578063a77fc1a414610ad4578063a9e954b914610b00576103ac565b80638d3d8b3814610a075780638da5cb5b14610a2657806393d5185c14610a425780639cc56e6714610a76576103ac565b80637bd88218116101c05780637bd882181461097e5780637c1fbda31461099d578063838d44e2146109bc5780638cfcdea2146109db576103ac565b806379ba50971461090a5780637b1039991461091e5780637bbdb96e14610951576103ac565b80634cddf615116102d657806359209b39116102695780636f07abcc116102385780636f07abcc146108565780636fdaab7e14610875578063715018a6146108d757806376d0e357146108eb576103ac565b806359209b39146107cd5780636280bce8146107f95780636b58960a146108185780636d0d6a7e14610837576103ac565b80635304bba2116102a55780635304bba21461073c5780635479d9401461075b57806354fd4d501461078d578063581f5094146107a1576103ac565b80634cddf615146106785780634e6c13a1146106a45780635001f3b5146106c357806352d1902d14610709576103ac565b806328a78d9b1161034e5780633fa595761161031d5780633fa59576146105c0578063439fab911461060e57806345ea6c171461062d5780634c9f72e314610659576103ac565b806328a78d9b1461055a57806339a8653e1461057b5780633b3195b71461059a5780633dc2b7a2146105ad576103ac565b806308b7e85e1161038a57806308b7e85e146104b75780630aa4112a146104e35780631aea970b1461050f578063234fe6e31461052e576103ac565b8063044ad7be1461043757806305e742ef1461046b57806306eb2c4214610498575b3480156103b7575f5ffd5b506103c55f3560f81c610d54565b6103d560ff5f3560f01c16610d54565b6103e560ff5f3560e81c16610d54565b6103f560ff5f3560e01c16610d54565b6040516020016104089493929190613c52565b60408051601f198184030181529082905262461bcd60e51b825261042e91600401613cde565b60405180910390fd5b348015610442575f5ffd5b50610456610451366004613d04565b610e40565b60405190151581526020015b60405180910390f35b348015610476575f5ffd5b5061048a610485366004613d2f565b610e81565b604051908152602001610462565b3480156104a3575f5ffd5b5061048a6104b2366004613da4565b610ed2565b3480156104c2575f5ffd5b506104d66104d1366004613de2565b6110f1565b6040516104629190613cde565b3480156104ee575f5ffd5b506105026104fd366004613de2565b611111565b6040516104629190613e7d565b34801561051a575f5ffd5b5061048a610529366004613ee0565b611365565b348015610539575f5ffd5b5061054d610548366004613de2565b611412565b6040516104629190613f71565b348015610565575f5ffd5b50610579610574366004613da4565b611487565b005b348015610586575f5ffd5b5061048a610595366004613de2565b6114f8565b61048a6105a83660046140c0565b611541565b61048a6105bb366004614143565b61172d565b3480156105cb575f5ffd5b506105df6105da366004613de2565b611785565b604051610462949392919093845260208401929092526001600160401b03166040830152606082015260800190565b348015610619575f5ffd5b506105796106283660046141ec565b6117d6565b348015610638575f5ffd5b5061064c610647366004613da4565b611a0a565b604051610462919061421d565b348015610664575f5ffd5b50610579610673366004613da4565b611ab1565b348015610683575f5ffd5b50610697610692366004613de2565b611af2565b6040516104629190614295565b3480156106af575f5ffd5b5061048a6106be3660046142c5565b611b66565b3480156106ce575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610462565b348015610714575f5ffd5b5061048a7f000000000000000000000000000000000000000000000000000000000000000081565b348015610747575f5ffd5b5061064c6107563660046143ec565b611e71565b348015610766575f5ffd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b348015610798575f5ffd5b506104d6611f0e565b3480156107ac575f5ffd5b506107c06107bb366004613da4565b611f3e565b6040516104629190614491565b3480156107d8575f5ffd5b506107ec6107e7366004613de2565b611fff565b60405161046291906144dc565b348015610804575f5ffd5b5061048a6108133660046145c8565b61207b565b348015610823575f5ffd5b50610456610832366004613d04565b61209e565b348015610842575f5ffd5b506107ec610851366004614616565b6120f2565b348015610861575f5ffd5b5061054d610870366004613de2565b6121ed565b348015610880575f5ffd5b506108bf61088f366004613de2565b5f9081525f5160206159215f395f51905f526020526040902060090154600160781b90046001600160481b031690565b6040516001600160481b039091168152602001610462565b3480156108e2575f5ffd5b50610579612227565b3480156108f6575f5ffd5b5061048a610905366004614681565b61223a565b348015610915575f5ffd5b506105796122a1565b348015610929575f5ffd5b506106f17f000000000000000000000000000000000000000000000000000000000000000081565b34801561095c575f5ffd5b5061096561231b565b6040516001600160e01b03199091168152602001610462565b348015610989575f5ffd5b5061048a6109983660046146c0565b612325565b3480156109a8575f5ffd5b506108bf6109b7366004613de2565b61232f565b3480156109c7575f5ffd5b506104d66109d6366004613de2565b612424565b3480156109e6575f5ffd5b506109fa6109f53660046146e3565b6124a6565b60405161046291906147a7565b348015610a12575f5ffd5b506104d6610a21366004613de2565b6125b8565b348015610a31575f5ffd5b505f546001600160a01b03166106f1565b348015610a4d575f5ffd5b50610a61610a5c366004614863565b6125cd565b60408051928352602083019190915201610462565b348015610a81575f5ffd5b5061048a610a903660046148de565b612780565b61048a610aa33660046148fe565b612846565b348015610ab3575f5ffd5b50610ac7610ac23660046146e3565b612905565b6040516104629190614920565b348015610adf575f5ffd5b50610af3610aee366004613de2565b6129b7565b6040516104629190614932565b348015610b0b575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000003f61048a565b348015610b3e575f5ffd5b506304722eaf60e31b610965565b348015610b57575f5ffd5b50610b6b610b66366004613de2565b612a9f565b60405161046291906149ac565b348015610b83575f5ffd5b5061048a610b923660046149f7565b612ad1565b348015610ba2575f5ffd5b506107ec610bb1366004614616565b612afb565b348015610bc1575f5ffd5b506104d6612b7f565b348015610bd5575f5ffd5b506104d6610be4366004613de2565b612bb6565b348015610bf4575f5ffd5b50610bfd612c87565b6040516001600160401b039091168152602001610462565b348015610c20575f5ffd5b50610c34610c2f3660046146e3565b612cab565b6040516104629190614a1b565b348015610c4c575f5ffd5b5061048a610c5b366004614a2d565b612d50565b348015610c6b575f5ffd5b506106f17f000000000000000000000000000000000000000000000000000000000000000081565b348015610c9e575f5ffd5b506001546001600160a01b03166106f1565b348015610cbb575f5ffd5b506106f17f000000000000000000000000000000000000000000000000000000000000000081565b61048a610cf1366004614a60565b612dda565b610579610d04366004613de2565b612e4a565b348015610d14575f5ffd5b50610579610d23366004613d04565b612fa3565b348015610d33575f5ffd5b50610d47610d42366004613de2565b613013565b6040516104629190614a9e565b6040805160028082528183019092526060915f91906020820181803683370190505090505f610d84601085614ad8565b610d8f906030614af9565b90505f610d9d601086614b12565b610da8906030614af9565b905060398260ff161115610dc457610dc1600783614af9565b91505b60398160ff161115610dde57610ddb600782614af9565b90505b8160f81b835f81518110610df457610df4614b33565b60200101906001600160f81b03191690815f1a9053508060f81b83600181518110610e2157610e21614b33565b60200101906001600160f81b03191690815f1a90535091949350505050565b6001600160a01b0381165f9081527ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e185602052604081205460ff165b92915050565b5f610eac7f000000000000000000000000000000000000000000000000000000000000000084614b47565b610eb7906010614b47565b610ec18484613224565b610ecb9190614b5e565b9392505050565b5f610f315f5160206159015f395f51905f525b335f908152600291909101602090815260409182902054825180840190935260158352743ab730baba3437b934bd32b2103932b837b93a32b960591b9183019190915260ff169061330d565b5f826001600160401b03811115610f4a57610f4a613f84565b604051908082528060200260200182016040528015610f9957816020015b604080516080810182525f80825260208083018290529282015260608082015282525f19909201910181610f685790505b5090505f5b838110156110df576040518060800160405280868684818110610fc357610fc3614b33565b9050602002810190610fd59190614b71565b356001600160401b03168152602001868684818110610ff657610ff6614b33565b90506020028101906110089190614b71565b611019906040810190602001614b8f565b63ffffffff16815260200186868481811061103657611036614b33565b90506020028101906110489190614b71565b60400135815260200186868481811061106357611063614b33565b90506020028101906110759190614b71565b611083906060810190614ba8565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250505091525082518390839081106110cc576110cc614b33565b6020908102919091010152600101610f9e565b506110e981611b66565b949350505050565b60606110fc8261232f565b505060408051602081019091525f8152919050565b6111546040805160c0810182525f80825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b5f8281525f5160206159215f395f51905f526020526040902060018101805461ffff919061118190614bea565b905011156111dc576040805160c0810182525f8082526020808301829052828401829052835180820185528281526060840152600290940154608083015282518084019093528083529282019290925260a082015292915050565b600381015415611305576040805160c08101825282546001600160a01b0381168252600160a01b810462ffffff166020830152600160b81b90046001600160481b03169181019190915260018201805460608301919061123b90614bea565b80601f016020809104026020016040519081016040528092919081815260200182805461126790614bea565b80156112b25780601f10611289576101008083540402835291602001916112b2565b820191905f5260205f20905b81548152906001019060200180831161129557829003601f168201915b5050509183525050600283015460208083019190915260408051808201825260089095015462010000810460ff16865264010000000090046001600160401b031691850191909152019190915292915050565b6040805160c08101825282546001600160a01b0381168252600160a01b900462ffffff1660208201526009830154600160781b90046001600160481b03169181019190915260018201805460608301919061123b90614bea565b50919050565b5f61137c5f5160206159015f395f51905f52610ee5565b6113b66001600160401b03861615156040518060400160405280600d81526020016c06261642074696d657374616d7609c1b81525061330d565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b60208201526113f0908315159061330d565b611406866001600160401b03168686868661331f565b90505b95945050505050565b60405163234fe6e360e01b8152600481018290525f9073__$713c4f4487e8756194dbc5b3b091cd4345$__9063234fe6e3906024015b602060405180830381865af4158015611463573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7b9190614c28565b61148f61336d565b6040516328a78d9b60e01b815273__$713c4f4487e8756194dbc5b3b091cd4345$__906328a78d9b906114c89085908590600401614c43565b5f6040518083038186803b1580156114de575f5ffd5b505af41580156114f0573d5f5f3e3d5ffd5b505050505050565b5f6115237f000000000000000000000000000000000000000000000000000000000000000083614b47565b61152e90600c614b47565b61153783613399565b610e7b9190614b5e565b5f346115513a8460200151610e81565b61158981831015604051806040016040528060138152602001721a5b9cdd59999a58da595b9d081c995dd85c99606a1b81525061330d565b6115c761159782600a614b47565b8311156040518060400160405280600f81526020016e1d1bdbc81b5d58da081c995dd85c99608a1b81525061330d565b846115fd6115d4826133f9565b6040518060400160405280600b81526020016a696e76616c696420534c4160a81b81525061330d565b846116c35f825f01516001600160a01b03163b118015611681575081516040516323d0872b60e11b81523060048201526001600160a01b03909116906347a10e5690602401602060405180830381865afa15801561165d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116819190614c8f565b801561169557505f826020015162ffffff16115b6040518060400160405280601081526020016f696e76616c69642063616c6c6261636b60801b81525061330d565b855160208701516116d79190348b8b613434565b9450336001600160a01b03167ffbe74eb38ea9de3d74d481a4f701ae121d794895c5797db8260d06d317901d263a34888c8c60405161171a959493929190614cae565b60405180910390a2505050509392505050565b5f610ecb836040518060600160405280602061ffff168152602001855f01602081019061175a9190614d15565b60ff16815260209081019061177590604088019088016146e3565b6001600160401b03169052612846565b5f5f5f5f5f611793866134b0565b600981015460058201546004909201546001600160881b0319608883901b16999298506001600160401b03600160c01b9182900481169850910416945092505050565b5f546001600160a01b03168061180c57818060200190518101906117fa9190614d91565b92509050611807816134cc565b611854565b336001600160a01b038216146118545760405162461bcd60e51b815260206004820152600d60248201526c3737ba103a34329037bbb732b960991b604482015260640161042e565b61185d826134e5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe54158015906118ce57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe547f00000000000000000000000000000000000000000000000000000000000000003f145b1561191b5760405162461bcd60e51b815260206004820152601c60248201527f616c726561647920696e697469616c697a656420636f64656861736800000000604482015260640161042e565b7f00000000000000000000000000000000000000000000000000000000000000003f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc600201557f00000000000000000000000000000000000000000000000000000000000000003f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166119bf5f546001600160a01b031690565b6001600160a01b03167fe73e754121f0bad1327816970101955bfffdf53d270ac509d777c25be070d7f66119f1611f0e565b6040516119fe9190613cde565b60405180910390a45050565b60605f826001600160401b03811115611a2557611a25613f84565b604051908082528060200260200182016040528015611a4e578160200160208202803683370190505b5090505f5b8151811015611aa757848482818110611a6e57611a6e614b33565b90506020020135828281518110611a8757611a87614b33565b6001600160401b0390921660209283029190910190910152600101611a53565b506110e981611e71565b611ab961336d565b604051634c9f72e360e01b815273__$713c4f4487e8756194dbc5b3b091cd4345$__90634c9f72e3906114c89085908590600401614c43565b604051634cddf61560e01b8152600481018290525f9073__$713c4f4487e8756194dbc5b3b091cd4345$__90634cddf61590602401602060405180830381865af4158015611b42573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7b9190614ded565b5f611b7d5f5160206159015f395f51905f52610ee5565b5f5b8251811015611e5b575f838281518110611b9b57611b9b614b33565b6020908102919091010151516001600160401b031690506001611bbd826121ed565b6006811115611bce57611bce613f4d565b14611ccb577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848381518110611c0657611c06614b33565b60200260200101515f0151611c19612b7f565b604051638f191e5f60e01b815273__$713c4f4487e8756194dbc5b3b091cd4345$__90638f191e5f90611c5190600190600401613f71565b5f60405180830381865af4158015611c6b573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611c929190810190614e06565b604051602001611ca3929190614e4a565b60408051601f1981840301815290829052611cbe9291614e6a565b60405180910390a1611e52565b426001600160401b0316848381518110611ce757611ce7614b33565b6020026020010151602001516001600160401b03161180611d3a5750611d3a848381518110611d1857611d18614b33565b6020026020010151602001516001600160401b03166001600160401b03161590565b80611d625750838281518110611d5257611d52614b33565b602002602001015160600151515f145b15611dbd577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848381518110611d9a57611d9a614b33565b60200260200101515f0151611dad612b7f565b604051602001611ca39190614e8b565b611e45848381518110611dd257611dd2614b33565b60200260200101515f01516001600160401b0316858481518110611df857611df8614b33565b602002602001015160200151868581518110611e1657611e16614b33565b602002602001015160400151878681518110611e3457611e34614b33565b60200260200101516060015161355e565b611e4f9084614b5e565b92505b50600101611b7f565b508015611e6c57611e6c338261369c565b919050565b604051633ab5a66d60e11b815260609073__$713c4f4487e8756194dbc5b3b091cd4345$__9063756b4cda90611ecd907f0000000000000000000000000000000000000000000000000000000000000000908690600401614ebb565b5f60405180830381865af4158015611ee7573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e7b9190810190614f19565b6060611f397f0000000000000000000000000000000000000000000000000000000000000000613732565b905090565b6060816001600160401b03811115611f5857611f58613f84565b604051908082528060200260200182016040528015611f81578160200160208202803683370190505b5090505f5b82811015611ff857611faf848483818110611fa357611fa3614b33565b905060200201356121ed565b828281518110611fc157611fc1614b33565b60200260200101906006811115611fda57611fda613f4d565b90816006811115611fed57611fed613f4d565b905250600101611f86565b5092915050565b612007613b3e565b6040516359209b3960e01b81526004810183905273__$713c4f4487e8756194dbc5b3b091cd4345$__906359209b39906024015f60405180830381865af4158015612054573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e7b9190810190615151565b5f6120925f5160206159015f395f51905f52610ee5565b6114098585858561223a565b5f7f00000000000000000000000000000000000000000000000000000000000000008015610e7b5750816001600160a01b03166120e25f546001600160a01b031690565b6001600160a01b03161492915050565b6120fa613b3e565b5f5f73__$713c4f4487e8756194dbc5b3b091cd4345$__631600b78b8787876040518463ffffffff1660e01b8152600401612137939291906151f4565b5f60405180830381865af4158015612151573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261217891908101906152a4565b909250905033327f7a9001dc4425127400f09e4c0b02908ad0e1f642ee9c92932a222c686674648284893560208b013560408c016121bc60c08e0160a08f016146e3565b6121c960c08f018f614ba8565b6040516121dc97969594939291906152e7565b60405180910390a395945050505050565b604051631bc1eaf360e21b8152600481018290525f9073__$713c4f4487e8756194dbc5b3b091cd4345$__90636f07abcc90602401611448565b61222f61336d565b6122385f6134cc565b565b5f6122515f5160206159015f395f51905f52610ee5565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b602082015261228b908315159061330d565b611409856001600160401b03164286868661331f565b60015433906001600160a01b0316811461230f5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b606482015260840161042e565b612318816134cc565b50565b5f611f39306137d3565b5f610ecb836114f8565b604051637c1fbda360e01b8152600481018290525f9073__$713c4f4487e8756194dbc5b3b091cd4345$__90637c1fbda390602401602060405180830381865af492505050801561239d575060408051601f3d908101601f1916820190925261239a91810190615358565b60015b61240a576123a9615371565b806308c379a0036123d157506123bd615389565b806123c857506123d3565b61135f81613811565b505b3d8080156123fc576040519150601f19603f3d011682016040523d82523d5f602084013e612401565b606091505b5061135f61382b565b6001600160481b0381168015611ff857611ff8338261369c565b606073__$713c4f4487e8756194dbc5b3b091cd4345$__634cbc7ff8612449846121ed565b6040518263ffffffff1660e01b81526004016124659190613f71565b5f60405180830381865af415801561247f573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e7b9190810190614e06565b61253c6040805161014081019091525f60c0820181815260e083018290526060610100840152610120830191909152819081526040805160a0810182525f808252602082810182905292820181905260608083015260808201529101908152604080516060810182525f80825260208281018290529282015291019081525f602082018190526040820181905260609091015290565b60405163467e6f5160e11b81526001600160401b038316600482015273__$713c4f4487e8756194dbc5b3b091cd4345$__90638cfcdea2906024015f60405180830381865af4158015612591573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e7b919081019061558a565b60606125c382612cab565b6060015192915050565b5f80805b87811015612774575f8989838181106125ec576125ec614b33565b6020029190910135915060019050612603826121ed565b600681111561261457612614613f4d565b0361276b575f612623826134b0565b8054909150600160a01b900462ffffff16156126b357604080516060810182525f8152600883015461ffff62010000820416602083015264010000000090046001600160401b03169181019190915261267f9088908890612d50565b8154612698908990600160a01b900462ffffff16610e81565b6126a29190614b5e565b6126ac9085614b5e565b935061271b565b60408051606081018252600883015461ffff808216835262010000820416602083015264010000000090046001600160401b0316918101919091526126fb9088908890612d50565b612704886114f8565b61270e9190614b5e565b6127189085614b5e565b93505b600881015461273b9064010000000090046001600160401b031687614b47565b6127459085614b5e565b600982015490945061276790600160781b90046001600160481b031686614b5e565b9450505b506001016125d1565b50965096945050505050565b604051631a3b01e960e21b8152600481018290525f9061283d906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906368ec07a490602401602060405180830381865afa1580156127e9573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061280d9190614c8f565b604051806040016040528060128152602001710eadcd6dcdeeedc40e4c2c8dedc40d0c2e6d60731b81525061330d565b610ecb836114f8565b5f346128513a6114f8565b61288981831015604051806040016040528060138152602001721a5b9cdd59999a58da595b9d081c995dd85c99606a1b81525061330d565b61289761159782600a614b47565b836128a46115d4826133f9565b6128b1335f348989613434565b9350336001600160a01b03167ffbe74eb38ea9de3d74d481a4f701ae121d794895c5797db8260d06d317901d263a34878a8a6040516128f4959493929190614cae565b60405180910390a250505092915050565b61293b60405180608001604052805f6001600160a01b031681526020015f62ffffff168152602001606081526020015f81525090565b60405163a667533f60e01b81526001600160401b038316600482015273__$713c4f4487e8756194dbc5b3b091cd4345$__9063a667533f906024015f60405180830381865af4158015612990573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e7b9190810190615664565b604080518082019091525f8152606060208201525f6129d583611fff565b90506040518060400160405280825f015160ff8111156129f7576129f7613f4d565b60ff16815260200173__$39c1c75f9ff01712a7ae2d1d1d8c462aa1$__6371aad10d84604051602001612a2a91906144dc565b6040516020818303038152906040526040518263ffffffff1660e01b8152600401612a559190613cde565b5f60405180830381865af4158015612a6f573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612a969190810190614e06565b90529392505050565b612aa7613bb9565b6040518060400160405280612abb84611111565b8152602001612ac984613013565b905292915050565b5f612ae85f5160206159015f395f51905f52610ee5565b611406868663ffffffff16868686611365565b612b03613b3e565b604051631600b78b60e01b815273__$713c4f4487e8756194dbc5b3b091cd4345$__90631600b78b90612b3e908790879087906004016151f4565b5f60405180830381865af4158015612b58573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261140991908101906152a4565b60408051808201909152601881527f5769744f7261636c65547275737461626c655a6b53796e630000000000000000602082015290565b606073__$39c1c75f9ff01712a7ae2d1d1d8c462aa1$__6371aad10d73__$713c4f4487e8756194dbc5b3b091cd4345$__6359209b39856040518263ffffffff1660e01b8152600401612c0b91815260200190565b5f60405180830381865af4158015612c25573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612c4c9190810190615151565b604051602001612c5c91906144dc565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016124659190613cde565b5f5f5160206159015f395f51905f5254611f39906001600160401b03166001615695565b6040805160a0810182525f80825260208201819052918101829052606080820152608081019190915260405163ca7da98b60e01b81526001600160401b038316600482015273__$713c4f4487e8756194dbc5b3b091cd4345$__9063ca7da98b906024015f60405180830381865af4158015612d29573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e7b91908101906156b4565b5f6020825f015161ffff1611612d66575f612db8565b8151602090612d769082906156e5565b612d8091906156ff565b61ffff16612dae7f000000000000000000000000000000000000000000000000000000000000000086614b47565b612db89190614b47565b6040830151612dd0906001600160401b031685614b47565b6110e99190614b5e565b5f6110e9846040518060600160405280602061ffff168152602001865f016020810190612e079190614d15565b60ff168152602090810190612e2290604089019089016146e3565b6001600160401b031690526040805180820190915233815262ffffff86166020820152611541565b80600180612e57836121ed565b6006811115612e6857612e68613f4d565b14612ef357604051638f191e5f60e01b8152612eee9073__$713c4f4487e8756194dbc5b3b091cd4345$__90638f191e5f90612ea8908590600401613f71565b5f60405180830381865af4158015612ec2573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612ee99190810190614e06565b613811565b505050565b5f612efd846134b0565b90505f346009830154612f209190600160781b90046001600160481b0316614b5e565b6009830180546001600160481b038316600160781b0268ffffffffffffffffff60781b19909116179055604080516001600160401b03881681523360208201523a818301526060810183905290519192507f66f95ec285ca572fa1cac40e7019e14ab45a8fc619c6405222e8af55534c2f67919081900360800190a15050505050565b612fab61336d565b600180546001600160a01b0383166001600160a01b03199091168117909155612fdb5f546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6130596040518060a001604052805f6001600160a01b031681526020015f6001600160401b031681526020015f63ffffffff1681526020015f8152602001606081525090565b5f8281525f5160206159215f395f51905f526020526040902060018101805461ffff919061308690614bea565b905011156130ca5750506040805160a0810182525f808252602080830182905282840182905260608301829052835191825281019092526080810191909152919050565b6003810154156131bf576040805160a08101825260048301546001600160a01b038116825263ffffffff600160a01b82048116602080850191909152600160c01b90920490911c16918101919091526005820154606082015260068201805460808301919061313890614bea565b80601f016020809104026020016040519081016040528092919081815260200182805461316490614bea565b80156131af5780601f10613186576101008083540402835291602001916131af565b820191905f5260205f20905b81548152906001019060200180831161319257829003601f168201915b5050505050815250915050919050565b6040805160a08101825260048301546001600160a01b038116825260098401546001600160401b03600160c01b9182900416602084015263ffffffff910416918101919091526005820154606082015260068201805460808301919061313890614bea565b5f806132517f00000000000000000000000000000000000000000000000000000000000000006003614b47565b61327b907f0000000000000000000000000000000000000000000000000000000000000000614b5e565b9050808362ffffff1610806132bd5750806132bb62ffffff85167f0000000000000000000000000000000000000000000000000000000000000000614b5e565b105b156132d4576132cc8185614b47565b915050610e7b565b61330362ffffff84167f0000000000000000000000000000000000000000000000000000000000000000614b5e565b6132cc9085614b47565b8161331b5761331b81613811565b5050565b5f61336186868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061355e92505050565b9050611409338261369c565b5f546001600160a01b031633146122385760405163118cdaa760e01b815233600482015260240161042e565b5f6133c57f00000000000000000000000000000000000000000000000000000000000000006004614b47565b6133ef907f0000000000000000000000000000000000000000000000000000000000000000614b5e565b610e7b9083614b47565b5f5f826020015161ffff1611801561341a5750607f826020015161ffff1611155b8015610e7b575050604001516001600160401b0316151590565b5f6134428686868686613836565b90507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a61681346040518060400160405280866020015160ff16815260200186604001516001600160401b031681525060405161349f93929190615722565b60405180910390a195945050505050565b5f9081525f5160206159215f395f51905f526020526040902090565b600180546001600160a01b0319169055612318816139a1565b73__$713c4f4487e8756194dbc5b3b091cd4345$__634c9f72e3828060200190518101906135139190615751565b6040518263ffffffff1660e01b815260040161352f91906157ec565b5f6040518083038186803b158015613545575f5ffd5b505af4158015613557573d5f5f3e3d5ffd5b5050505050565b5f61361a6001604051631bc1eaf360e21b81526004810188905273__$713c4f4487e8756194dbc5b3b091cd4345$__90636f07abcc90602401602060405180830381865af41580156135b2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906135d69190614c28565b60068111156135e7576135e7613f4d565b14604051806040016040528060148152602001736e6f7420696e20506f737465642073746174757360601b81525061330d565b604051637102a0df60e11b815273__$713c4f4487e8756194dbc5b3b091cd4345$__9063e20541be9061365d9033903a9043908b908b908b908b9060040161582c565b602060405180830381865af4158015613678573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611409919061587c565b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f81146136e5576040519150601f19603f3d011682016040523d82523d5f602084013e6136ea565b606091505b5050905080612eee5760405162461bcd60e51b815260206004820152601460248201527363616e6e6f74207472616e73666572206261636b60601b604482015260640161042e565b60605f61373e836139f0565b6001600160401b0381111561375557613755613f84565b6040519080825280601f01601f19166020018201604052801561377f576020820181803683370190505b5090505f5b8151811015611ff85783816020811061379f5761379f614b33565b1a60f81b8282815181106137b5576137b5614b33565b60200101906001600160f81b03191690815f1a905350600101613784565b604080516001600160a01b038316602082015246918101919091525f906060015b604051602081830303815290604052805190602001209050919050565b613819612b7f565b81604051602001610408929190614e4a565b612238612ee9613a28565b5f5f5160206159015f395f51905f5280545f9061385b906001600160401b0316615893565b91906101000a8154816001600160401b0302191690836001600160401b0316021790556001600160401b031690505f613893826134b0565b6009810180546001600160c01b0316600160c01b436001600160401b03160217905590506138ca82856138c586613a77565b613aca565b60098201805460889290921c6001600160c01b031990921691909117600160781b6001600160481b0388160217905580546001600160a01b0319166001600160a01b0388161781556002810184905562ffffff86161561393f57805462ffffff60a01b1916600160a01b62ffffff8816021781555b82516008909101805460208501516040909501516001600160401b0316640100000000026bffffffffffffffff000000001961ffff968716620100000263ffffffff199093169690941695909517179190911692909217909155949350505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5b6020811015611e6c57818160208110613a0d57613a0d614b33565b1a60f81b6001600160f81b03191615611e6c576001016139f2565b60606040518060400160405260108152806020016f2bb4ba27b930b1b632a230ba30a634b160811b815250604051602001613a6391906158bd565b604051602081830303815290604052905090565b5f815f0151826020015183604001516040516020016137f49392919060f093841b6001600160f01b031990811682529290931b909116600283015260c01b6001600160c01b0319166004820152600c0190565b5f613ad4306137d3565b613adf6001436158ed565b604080516001600160e01b031990931660208401529040908201526001600160401b03851660608201526080810184905260a0810183905260c0016040516020818303038152906040528051906020012090509392505050565b905290565b6040805160c08101909152805f81526020015f81526020015f81526020015f81526020015f6001600160401b03168152602001613b39604080516101008101909152606060c082019081525f60e0830152819081525f6020820181905260408201819052606082018190526080820181905260a09091015290565b6040518060400160405280613c076040805160c0810182525f80825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b81526040805160a0810182525f80825260208281018290529282018190526060808301919091526080820152910190613b39565b5f81518060208401855e5f93019283525090919050565b7f5769746e657455706772616461626c65426173653a206e6f7420696d706c656d8152680cadce8cac8744060f60bb1b60208201525f611406613caa613ca4613c9e602986018a613c3b565b88613c3b565b86613c3b565b84613c3b565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610ecb6020830184613cb0565b6001600160a01b0381168114612318575f5ffd5b5f60208284031215613d14575f5ffd5b8135610ecb81613cf0565b62ffffff81168114612318575f5ffd5b5f5f60408385031215613d40575f5ffd5b823591506020830135613d5281613d1f565b809150509250929050565b5f5f83601f840112613d6d575f5ffd5b5081356001600160401b03811115613d83575f5ffd5b6020830191508360208260051b8501011115613d9d575f5ffd5b9250929050565b5f5f60208385031215613db5575f5ffd5b82356001600160401b03811115613dca575f5ffd5b613dd685828601613d5d565b90969095509350505050565b5f60208284031215613df2575f5ffd5b5035919050565b60018060a01b03815116825262ffffff60208201511660208301526001600160481b0360408201511660408301525f606082015160e06060850152613e4160e0850182613cb0565b90506080830151608085015260a0830151613e7560a0860182805160ff1682526020908101516001600160401b0316910152565b509392505050565b602081525f610ecb6020830184613df9565b6001600160401b0381168114612318575f5ffd5b5f5f83601f840112613eb3575f5ffd5b5081356001600160401b03811115613ec9575f5ffd5b602083019150836020828501011115613d9d575f5ffd5b5f5f5f5f5f60808688031215613ef4575f5ffd5b8535613eff81613e8f565b94506020860135613f0f81613e8f565b93506040860135925060608601356001600160401b03811115613f30575f5ffd5b613f3c88828901613ea3565b969995985093965092949392505050565b634e487b7160e01b5f52602160045260245ffd5b6007811061231857612318613f4d565b60208101613f7e83613f61565b91905290565b634e487b7160e01b5f52604160045260245ffd5b606081018181106001600160401b0382111715613fb757613fb7613f84565b60405250565b604081018181106001600160401b0382111715613fb757613fb7613f84565b608081018181106001600160401b0382111715613fb757613fb7613f84565b60c081018181106001600160401b0382111715613fb757613fb7613f84565b601f8201601f191681016001600160401b038111828210171561403f5761403f613f84565b6040525050565b60405161405460c08261401a565b90565b61ffff81168114612318575f5ffd5b5f60608284031215614076575f5ffd5b60405161408281613f98565b809150823561409081614057565b815260208301356140a081614057565b602082015260408301356140b381613e8f565b6040919091015292915050565b5f5f5f83850360c08112156140d3575f5ffd5b843593506140e48660208701614066565b92506040607f19820112156140f7575f5ffd5b5060405161410481613fbd565b608085013561411281613cf0565b815260a085013561412281613d1f565b602082015292959194509192509050565b5f6040828403121561135f575f5ffd5b5f5f60608385031215614154575f5ffd5b823591506141658460208501614133565b90509250929050565b5f6001600160401b0382111561418657614186613f84565b50601f01601f191660200190565b5f82601f8301126141a3575f5ffd5b81356141ae8161416e565b6040516141bb828261401a565b8281528560208487010111156141cf575f5ffd5b826020860160208301375f92810160200192909252509392505050565b5f602082840312156141fc575f5ffd5b81356001600160401b03811115614211575f5ffd5b6110e984828501614194565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561427457603f1987860301845261425f858351613cb0565b94506020938401939190910190600101614243565b50929695505050505050565b610100811061429157614291613f4d565b9052565b60208101610e7b8284614280565b5f6001600160401b038211156142bb576142bb613f84565b5060051b60200190565b5f602082840312156142d5575f5ffd5b81356001600160401b038111156142ea575f5ffd5b8201601f810184136142fa575f5ffd5b8035614305816142a3565b604051614312828261401a565b80915082815260208101915060208360051b850101925086831115614335575f5ffd5b602084015b838110156143e15780356001600160401b03811115614357575f5ffd5b85016080818a03601f1901121561436c575f5ffd5b60405161437881613fdc565b602082013561438681613e8f565b8152604082013561439681613e8f565b60208201526060820135604082015260808201356001600160401b038111156143bd575f5ffd5b6143cc8b602083860101614194565b6060830152508452506020928301920161433a565b509695505050505050565b5f602082840312156143fc575f5ffd5b81356001600160401b03811115614411575f5ffd5b8201601f81018413614421575f5ffd5b803561442c816142a3565b604051614439828261401a565b80915082815260208101915060208360051b85010192508683111561445c575f5ffd5b6020840193505b8284101561448757833561447681613e8f565b825260209384019390910190614463565b9695505050505050565b602080825282518282018190525f918401906040840190835b818110156144d15783516144bd81613f61565b8352602093840193909201916001016144aa565b509095945050505050565b602081526144ee602082018351614280565b5f60208301516014811061450457614504613f4d565b8060408401525060408301516060830152606083015160808301526001600160401b0360808401511660a083015260a083015160c080840152805160c060e0850152805160406101a086015261455e6101e0860182613cb0565b6020928301516101c08701529183015160ff166101008601525060408201519061458e61012086018360ff169052565b606083015160ff1661014086015260808301516001600160401b0380821661016088015260a0909401519384166101808701529150611409565b5f5f5f5f606085870312156145db575f5ffd5b843593506020850135925060408501356001600160401b038111156145fe575f5ffd5b61460a87828801613ea3565b95989497509550505050565b5f5f5f60408486031215614628575f5ffd5b83356001600160401b0381111561463d575f5ffd5b840160e0818703121561464e575f5ffd5b925060208401356001600160401b03811115614668575f5ffd5b61467486828701613ea3565b9497909650939450505050565b5f5f5f5f60608587031215614694575f5ffd5b843561469f81613e8f565b93506020850135925060408501356001600160401b038111156145fe575f5ffd5b5f5f604083850312156146d1575f5ffd5b823591506020830135613d5281614057565b5f602082840312156146f3575f5ffd5b8135610ecb81613e8f565b60018060a01b03815116825262ffffff60208201511660208301525f6040820151608060408501526147336080850182613cb0565b606093840151949093019390935250919050565b60018060a01b0381511682526001600160401b036020820151166020830152604081015160408301525f606082015160a0606085015261478a60a0850182613cb0565b6080938401516001600160a01b0316949093019390935250919050565b602081525f825161010060208401526147c46101208401826146fe565b90506020840151601f198483030160408501526147e18282614747565b915050604084015161481e606085018261ffff815116825261ffff60208201511660208301526001600160401b0360408201511660408301525050565b5060608401516001600160881b03191660c084015260808401516001600160481b031660e084015260a0909301516001600160401b0316610100909201919091525090565b5f5f5f5f5f5f60808789031215614878575f5ffd5b86356001600160401b0381111561488d575f5ffd5b61489989828a01613d5d565b90975095505060208701356001600160401b038111156148b7575f5ffd5b6148c389828a01613ea3565b979a9699509760408101359660609091013595509350505050565b5f5f604083850312156148ef575f5ffd5b50508035926020909101359150565b5f5f6080838503121561490f575f5ffd5b823591506141658460208501614066565b602081525f610ecb60208301846146fe565b6020815260ff82511660208201525f60208301516040808401526110e96060840182613cb0565b60018060a01b0381511682526001600160401b03602082015116602083015263ffffffff6040820151166040830152606081015160608301525f608082015160a060808501526110e960a0850182613cb0565b602081525f8251604060208401526149c76060840182613df9565b90506020840151601f198483030160408501526114098282614959565b803563ffffffff81168114611e6c575f5ffd5b5f5f5f5f5f60808688031215614a0b575f5ffd5b85359450613f0f602087016149e4565b602081525f610ecb6020830184614747565b5f5f5f60a08486031215614a3f575f5ffd5b8335925060208401359150614a578560408601614066565b90509250925092565b5f5f5f60808486031215614a72575f5ffd5b83359250614a838560208601614133565b91506060840135614a9381613d1f565b809150509250925092565b602081525f610ecb6020830184614959565b634e487b7160e01b5f52601260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60ff831680614aea57614aea614ab0565b8060ff84160491505092915050565b60ff8181168382160190811115610e7b57610e7b614ac4565b5f60ff831680614b2457614b24614ab0565b8060ff84160691505092915050565b634e487b7160e01b5f52603260045260245ffd5b8082028115828204841417610e7b57610e7b614ac4565b80820180821115610e7b57610e7b614ac4565b5f8235607e19833603018112614b85575f5ffd5b9190910192915050565b5f60208284031215614b9f575f5ffd5b610ecb826149e4565b5f5f8335601e19843603018112614bbd575f5ffd5b8301803591506001600160401b03821115614bd6575f5ffd5b602001915036819003821315613d9d575f5ffd5b600181811c90821680614bfe57607f821691505b60208210810361135f57634e487b7160e01b5f52602260045260245ffd5b60078110612318575f5ffd5b5f60208284031215614c38575f5ffd5b8151610ecb81614c1c565b602080825281018290525f8360408301825b85811015614c85578235614c6881613cf0565b6001600160a01b0316825260209283019290910190600101614c55565b5095945050505050565b5f60208284031215614c9f575f5ffd5b81518015158114610ecb575f5ffd5b858152602081018590526001600160401b03841660408201526060810183905260e08101614487608083018461ffff815116825261ffff60208201511660208301526001600160401b0360408201511660408301525050565b60ff81168114612318575f5ffd5b5f60208284031215614d25575f5ffd5b8135610ecb81614d07565b5f614d3a8361416e565b604051614d47828261401a565b809250848152858585011115614d5b575f5ffd5b8484602083015e5f6020868301015250509392505050565b5f82601f830112614d82575f5ffd5b610ecb83835160208501614d30565b5f5f60408385031215614da2575f5ffd5b8251614dad81613cf0565b60208401519092506001600160401b03811115614dc8575f5ffd5b614dd485828601614d73565b9150509250929050565b80516101008110611e6c575f5ffd5b5f60208284031215614dfd575f5ffd5b610ecb82614dde565b5f60208284031215614e16575f5ffd5b81516001600160401b03811115614e2b575f5ffd5b8201601f81018413614e3b575f5ffd5b6110e984825160208401614d30565b5f614e558285613c3b565b6101d160f51b81526114096002820185613c3b565b6001600160401b0383168152604060208201525f6110e96040830184613cb0565b5f614e968284613c3b565b743a20696e76616c6964207265706f7274206461746160581b81526015019392505050565b6001600160a01b03831681526040602080830182905283519183018290525f91908401906060840190835b81811015614f0d5783516001600160401b0316835260209384019390920191600101614ee6565b50909695505050505050565b5f60208284031215614f29575f5ffd5b81516001600160401b03811115614f3e575f5ffd5b8201601f81018413614f4e575f5ffd5b8051614f59816142a3565b604051614f66828261401a565b80915082815260208101915060208360051b850101925086831115614f89575f5ffd5b602084015b838110156143e15780516001600160401b03811115614fab575f5ffd5b614fba89602083890101614d73565b84525060209283019201614f8e565b8051611e6c81613e8f565b8051611e6c81614d07565b5f60c08284031215614fef575f5ffd5b604051614ffb81613ffb565b80915082516001600160401b03811115615013575f5ffd5b830160408186031215615024575f5ffd5b60405161503081613fbd565b81516001600160401b03811115615045575f5ffd5b61505187828501614d73565b82525060209182015182820152825261506b908401614fd4565b602082015261507c60408401614fd4565b604082015261508d60608401614fd4565b606082015261509e60808401614fc9565b60808201526150af60a08401614fc9565b60a08201525092915050565b5f60c082840312156150cb575f5ffd5b6040516150d781613ffb565b8091506150e383614dde565b81526020830151601481106150f6575f5ffd5b6020820152604083810151908201526060808401519082015261511b60808401614fc9565b608082015260a08301516001600160401b03811115615138575f5ffd5b61514485828601614fdf565b60a0830152505092915050565b5f60208284031215615161575f5ffd5b81516001600160401b03811115615176575f5ffd5b6110e9848285016150bb565b803561518d81614057565b61ffff16825260208101356151a181614057565b61ffff16602083015260408101356151b881613e8f565b6001600160401b0381166040840152505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6040808252843582820152602085013560608301525f9061521b9060808401908701615182565b60a085013561522981613e8f565b6001600160401b031660e083015260c085013536869003601e1901811261524e575f5ffd5b85016020810190356001600160401b03811115615269575f5ffd5b803603821315615277575f5ffd5b60e061010085015261528e610120850182846151cc565b91505082810360208401526144878185876151cc565b5f5f604083850312156152b5575f5ffd5b82516152c081613cf0565b60208401519092506001600160401b038111156152db575f5ffd5b614dd4858286016150bb565b6001600160a01b0388168152602081018790526040810186905261530e6060820186615182565b6001600160401b03841660c082015261010060e08201525f615335610100830184866151cc565b9998505050505050505050565b80516001600160481b0381168114611e6c575f5ffd5b5f60208284031215615368575f5ffd5b610ecb82615342565b5f60033d11156140545760045f5f3e505f5160e01c90565b5f60443d10156153965790565b6040513d600319016004823e80513d60248201116001600160401b03821117156153bf57505090565b80820180516001600160401b038111156153da575050505090565b3d84016003190182820160200111156153f4575050505090565b613e756020828501018561401a565b5f60808284031215615413575f5ffd5b60405161541f81613fdc565b809150825161542d81613cf0565b8152602083015161543d81613d1f565b602082015260408301516001600160401b0381111561545a575f5ffd5b61546685828601614d73565b604083015250606092830151920191909152919050565b5f60a0828403121561548d575f5ffd5b60405160a081018181106001600160401b03821117156154af576154af613f84565b806040525080915082516154c281613cf0565b815260208301516154d281613e8f565b60208201526040838101519082015260608301516001600160401b038111156154f9575f5ffd5b61550585828601614d73565b606083015250608083015161551981613cf0565b6080919091015292915050565b5f60608284031215615536575f5ffd5b60405161554281613f98565b809150825161555081614057565b8152602083015161556081614057565b602082015260408301516140b381613e8f565b80516001600160881b031981168114611e6c575f5ffd5b5f6020828403121561559a575f5ffd5b81516001600160401b038111156155af575f5ffd5b820161010081850312156155c1575f5ffd5b6155c9614046565b81516001600160401b038111156155de575f5ffd5b6155ea86828501615403565b82525060208201516001600160401b03811115615605575f5ffd5b6156118682850161547d565b6020830152506156248560408401615526565b604082015261563560a08301615573565b606082015261564660c08301615342565b608082015261565760e08301614fc9565b60a0820152949350505050565b5f60208284031215615674575f5ffd5b81516001600160401b03811115615689575f5ffd5b6110e984828501615403565b6001600160401b038181168382160190811115610e7b57610e7b614ac4565b5f602082840312156156c4575f5ffd5b81516001600160401b038111156156d9575f5ffd5b6110e98482850161547d565b61ffff8281168282160390811115610e7b57610e7b614ac4565b5f61ffff83168061571257615712614ab0565b8061ffff84160491505092915050565b8381526020808201849052825160ff1660408301528201516001600160401b03166060820152608081016110e9565b5f60208284031215615761575f5ffd5b81516001600160401b03811115615776575f5ffd5b8201601f81018413615786575f5ffd5b8051615791816142a3565b60405161579e828261401a565b80915082815260208101915060208360051b8501019250868311156157c1575f5ffd5b6020840193505b828410156144875783516157db81613cf0565b8252602093840193909101906157c8565b602080825282518282018190525f918401906040840190835b818110156144d15783516001600160a01b0316835260209384019390920191600101615805565b60018060a01b03881681528660208201526001600160401b03861660408201528460608201526001600160401b03841660808201528260a082015260e060c08201525f61533560e0830184613cb0565b5f6020828403121561588c575f5ffd5b5051919050565b5f6001600160401b0382166001600160401b0381036158b4576158b4614ac4565b60010192915050565b5f6158c88284613c3b565b741d103ab73430b7323632b21030b9b9b2b93a34b7b760591b81526015019392505050565b81810381811115610e7b57610e7b614ac456fef595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e183f595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e184a264697066735822122089caae9f4c5a863840bc07107e551df61fdc0373894628d98847fdec38af082464736f6c634300081e0033";
  readonly linkReferences: {"project/contracts/data/WitOracleDataLib.sol":{"WitOracleDataLib":[{"length":20,"start":6439},{"length":20,"start":6555},{"length":20,"start":8133},{"length":20,"start":8199},{"length":20,"start":8485},{"length":20,"start":9088},{"length":20,"start":9498},{"length":20,"start":9723},{"length":20,"start":9986},{"length":20,"start":10308},{"length":20,"start":10533},{"length":20,"start":10839},{"length":20,"start":11862},{"length":20,"start":12303},{"length":20,"start":12497},{"length":20,"start":12783},{"length":20,"start":13181},{"length":20,"start":14820},{"length":20,"start":14967},{"length":20,"start":15142}]},"project/contracts/libs/WitOracleResultStatusLib.sol":{"WitOracleResultStatusLib":[{"length":20,"start":12030},{"length":20,"start":12471}]}};
  readonly deployedLinkReferences: {"project/contracts/data/WitOracleDataLib.sol":{"WitOracleDataLib":[{"length":20,"start":5162},{"length":20,"start":5278},{"length":20,"start":6856},{"length":20,"start":6922},{"length":20,"start":7208},{"length":20,"start":7811},{"length":20,"start":8221},{"length":20,"start":8446},{"length":20,"start":8709},{"length":20,"start":9031},{"length":20,"start":9256},{"length":20,"start":9562},{"length":20,"start":10585},{"length":20,"start":11026},{"length":20,"start":11220},{"length":20,"start":11506},{"length":20,"start":11904},{"length":20,"start":13543},{"length":20,"start":13690},{"length":20,"start":13865}]},"project/contracts/libs/WitOracleResultStatusLib.sol":{"WitOracleResultStatusLib":[{"length":20,"start":10753},{"length":20,"start":11194}]}};
  readonly immutableReferences: {"9009":[{"length":32,"start":7957}],"9013":[{"length":32,"start":3185}],"9104":[{"length":32,"start":1818}],"10085":[{"length":32,"start":2351},{"length":32,"start":7843},{"length":32,"start":10148}],"10087":[{"length":32,"start":13259}],"10089":[{"length":32,"start":12951},{"length":32,"start":13023}],"10091":[{"length":32,"start":12887}],"10093":[{"length":32,"start":11657},{"length":32,"start":12843},{"length":32,"start":13215}],"17526":[{"length":32,"start":3719},{"length":32,"start":5374}],"45715":[{"length":32,"start":3265}],"45824":[{"length":32,"start":1745},{"length":32,"start":2830},{"length":32,"start":6316},{"length":32,"start":6429},{"length":32,"start":6500},{"length":32,"start":6534}],"45828":[{"length":32,"start":1897},{"length":32,"start":8353}]};
  readonly inputSourceName: "project/contracts/core/trustable/WitOracleTrustableZkSync.sol";
  readonly buildInfoId: "solc-0_8_30-47301052af11a5aa5062e9b98ca44d5e142950cf";
};

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