0 txs
3 calls
constructor
constructor()
functions
council
viewfunction council() view returns (address)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getEscalatedDispute
viewfunction getEscalatedDispute(address _market) view returns (tuple)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isEscalationOpen
viewfunction isEscalationOpen(address _market) view returns (bool)
marketManager
viewfunction marketManager() view returns (address)
marketToEscalatedDispute
viewfunction marketToEscalatedDispute(address) view returns (address escalatedDisputorAddress, string disputeString, string escalationProposalId, uint8 escalationStatus, uint8 escalationResult, uint256 resultWinningPosition, uint256 createdAt, uint256 resolvedAt, bool isEscalatedDisputorPunished, bool isCouncilDisputorPunished, bool isOriginalResolverPunished)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address _marketManager, address _oracleCouncil)
openEscalatedDispute
nonpayablefunction openEscalatedDispute(address _market, string _disputeString)
pause
nonpayablefunction pause()
renounceOwnership
nonpayablefunction renounceOwnership()
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
resetEscalationStatus
nonpayablefunction resetEscalationStatus(address _market)
resolveEscalatedDispute
nonpayablefunction resolveEscalatedDispute(address _market, bool _isResultReset, bool _isResultAccept, uint256 _winningPosition, bool _punishEscalatedDisputor, bool _punishCouncilDisputor, bool _punishOriginalResolver)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setAddresses
nonpayablefunction setAddresses(address _marketManager, address _oracleCouncil)
setEscalationProposalId
nonpayablefunction setEscalationProposalId(address _market, string _escalationProposalId)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
AddressesUpdated
event AddressesUpdated(address marketManager, address oracleCouncil)
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
EscalatedDisputeClosed
event EscalatedDisputeClosed(address market)
EscalationProposalIdSet
event EscalationProposalIdSet(address market, string escalationProposalId)
EscalationStatusReset
event EscalationStatusReset(address market)
Initialized
event Initialized(uint8 version)
NewEscalatedDispute
event NewEscalatedDispute(address market, address escalationDisputor, string disputeString)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
Unpaused
event Unpaused(address account)
Upgraded
event Upgraded(address indexed implementation)
errors
DisputeNotClosed
error DisputeNotClosed()
EscalatedDisputeAlreadyInitialized
error EscalatedDisputeAlreadyInitialized(uint8 escalationStatus)
EscalatedDisputeNotInitialized
error EscalatedDisputeNotInitialized(uint8 escalationStatus)
EscalatedDisputeNotVoting
error EscalatedDisputeNotVoting(uint8 escalationStatus)
InvalidDisputeString
error InvalidDisputeString()
InvalidOracleCouncil
error InvalidOracleCouncil()
MarketClosedForDisputes
error MarketClosedForDisputes()
MarketSecondChallengePeriodExpired
error MarketSecondChallengePeriodExpired(uint8 marketStatus)
NoExistingClosedCouncilDispute
error NoExistingClosedCouncilDispute()
NotMarketManager
error NotMarketManager()
NotOracleCouncil
error NotOracleCouncil()
creation bytecode
0x60a0806040523460d657306080525f549060ff8260081c166084575060ff80821603604b575b604051612cd690816100db823960805181818161094101528181610a4001526110e50152f35b60ff90811916175f557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a15f6025565b62461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c90816301ffc9a71461205f5750806308ed7ae814611b395780631bc9d5a1146113f2578063248a9ca3146113c45780632f2ff15d1461131557806336568abe146112825780633659cfe6146110c0578063392ad33914610fc75780633f4ba83a14610f3257806341ed2c1214610f08578063485cc95514610cc35780634f1ef286146109f157806352d1902d1461092e5780635c975abb1461090b578063715018a6146108ae578063747878c4146108615780638456cb59146108065780638da5cb5b146107dd57806390107afe1461074757806391d14854146106fc578063a217fddf146106e0578063ade69d4914610658578063d547741f14610619578063e2c6d41c146105ef578063e3567340146103c0578063e6a876d8146101da5763f2fde38b14610147575f80fd5b346101d75760203660031901126101d7576101606120b2565b6101686129b3565b6001600160a01b038116156101835761018090612a0b565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b80fd5b50346101d75760203660031901126101d7576040906101f76120b2565b816101408451610206816120f1565b828152606060208201526060868201528260608201528260808201528260a08201528260c08201528260e08201528261010082015282610120820152015260018060a01b031681526101936020522060ff600760405192610266846120f1565b80546001600160a01b0316845261027f6001820161225b565b60208501526102906002820161225b565b60408501528260038201548181166102a781612321565b606087015260081c166102b981612321565b6080850152600481015460a0850152600581015460c0850152600681015460e085015201548181161515610100840152818160081c16151561012084015260101c16151561014082015260405180916020825260018060a01b038151166020830152602081015161014061035461033e610160938460408801526101808701906122fd565b6040850151868203601f190160608801526122fd565b92606081015161036381612321565b6080860152608081015161037681612321565b60a086015260a081015160c086015260c081015160e086015260e0810151610100860152610100810151151561012086015261012081015115158286015201511515908301520390f35b50346101d7576103cf366121d0565b91906103d961240e565b6001600160a01b0316808252610193602081815260408420600301549092919060ff1661040581612321565b60018091036105be5782855281845260026040862001908651906001600160401b0382116105aa576104378354612223565b601f8111610564575b5085601f83116001146104de57918080899a95936104cd97957faf8366c17f587a365a584e14e381f7f799085b062a1e127a3c1c2f0f158dc7a99b936104d3575b501b915f199060031b1c19161790555b83875280855260036040882001600260ff19825416179055838752845242600560408820015560408051948594855284015260408301906122fd565b0390a180f35b87015192505f610481565b83885286882091929190601f198316895b81811061054f57509183917faf8366c17f587a365a584e14e381f7f799085b062a1e127a3c1c2f0f158dc7a99a9b96946104cd98969410610537575b5050811b019055610491565b8601515f1960f88460031b161c191690555f8061052b565b8b8301518455928501929189019189016104ef565b838852868820601f840160051c8101918885106105a0575b601f0160051c019082905b828110610595575050610440565b898155018290610587565b909150819061057c565b634e487b7160e01b87526041600452602487fd5b8285528184526040808620600301549051634d82947160e01b815260249160ff166105e881612321565b6004820152fd5b50346101d757806003193601126101d757610192546040516001600160a01b039091168152602090f35b50346101d75760403660031901126101d7576101806004356106396120c8565b9080845261015f602052610653600160408620015461276c565b6128df565b50346101d75760203660031901126101d7576106726120b2565b610191546001600160a01b039190821633036106ce571680825261019360209081526040808420600301805460ff19169055519182527f459993c7e37a3eff837c959cbb118eea310cb46c66fcf41f1ce0ed18abdbd16991a180f35b60405163cf3930c560e01b8152600490fd5b50346101d757806003193601126101d757602090604051908152f35b50346101d75760403660031901126101d75760406107186120c8565b91600435815261015f602052209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b50346101d75760403660031901126101d7577fc651c70f44278e4b6b346230d2fcc09308ad801d6dc8b9c055f45581b36090756107826120b2565b61078a6120c8565b906107936129b3565b61019180546001600160a01b039283166001600160a01b031991821681179092556101928054949093169316831790915560408051918252602082019290925290819081016104cd565b50346101d757806003193601126101d75760fb546040516001600160a01b039091168152602090f35b50346101d757806003193601126101d75761081f612602565b61082761289b565b600160ff1960975416176097557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a180f35b50346101d75760203660031901126101d75760209060ff906003906040906001600160a01b0361088f6120b2565b1681526101938552200154166108a481612321565b6040519015158152f35b50346101d757806003193601126101d7576108c76129b3565b60fb80546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50346101d757806003193601126101d757602060ff609754166040519015158152f35b50346101d757806003193601126101d7577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036109865760206040515f80516020612c818339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608490fd5b5060403660031901126101d757610a066120b2565b6024356001600160401b038111610cbf5736602382011215610cbf57610a3690369060248160040135910161219a565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116929190610a703085141561234c565b610a8c5f80516020612c818339815191529482865416146123ad565b610a946129b3565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610aca5750506101809150612a53565b8216604051936352d1902d60e01b85526020948581600481865afa5f9181610c8c575b50610b4e5760405162461bcd60e51b815260048101879052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9492939403610c3557610b6084612a53565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2815115801590610c2d575b610b9a575b50505080f35b610c1b925f8060405194610bad8661210d565b602786527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c85870152660819985a5b195960ca1b60408701528481519101845af4903d15610c24573d610bff8161217f565b90610c0d604051928361215e565b81525f81943d92013e612bc7565b505f8080610b94565b60609250612bc7565b506001610b8f565b60405162461bcd60e51b815260048101839052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d8311610cb8575b610ca4818361215e565b81010312610cb45751905f610aed565b5f80fd5b503d610c9a565b8280fd5b50346101d75760403660031901126101d757610cdd6120b2565b610ce56120c8565b82549160ff92838160081c161593848095610efc575b8015610ee6575b15610e8a5760ff1982811660011787559185610e79575b50610d6c81875460081c16610d2d81612953565b610d3681612953565b610d3f81612953565b8360975416609755610d5081612953565b610d5981612953565b600160c955610d6781612953565b612953565b610d7533612a0b565b610d8481875460081c16612953565b335f9081527f213cbec2b438e27569ac0cf67d4573025a7224c5c7e3037a3c891b910e08dc68602052604090205461015f911615610e2e575b505060018060a01b036bffffffffffffffffffffffff60a01b9181610191911683825416179055610192921690825416179055610df75780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b5f805260205260405f20335f52602052600160405f209182541617905533335f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a45f80610dbd565b61ffff19166101011786555f610d19565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610d025750600181831614610d02565b50600181831610610cfb565b50346101d757806003193601126101d757610191546040516001600160a01b039091168152602090f35b50346101d757806003193601126101d757610f4b612602565b60975460ff811615610f8b5760ff19166097557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a180f35b60405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606490fd5b50346101d75760203660031901126101d7576001600160a01b039060409082610fee6120b2565b16815261019360205220908154166110086001830161225b565b9160ff6110176002830161225b565b600383015492828085169460081c16600482015460058301549161106b600760068601549501549561105d6040519b8c809c6020610160928392815201528c01906122fd565b908a820360408c01526122fd565b9661107581612321565b606089015261108381612321565b608088015260a087015260c086015260e08501528181161515610100850152818160081c16151561012085015260101c1615156101408301520390f35b50346101d75760208060031936011261127e576110db6120b2565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166111123082141561234c565b61112e5f80516020612c818339815191529183835416146123ad565b6111366129b3565b6040519161114383612128565b8583527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561117d575050506101809150612a53565b8316906040516352d1902d60e01b81528581600481865afa5f918161124f575b506111fe5760405162461bcd60e51b815260048101879052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9492939403610c355761121084612a53565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a281511580159061124857610b9a5750505080f35b505f610b8f565b9091508681813d8311611277575b611267818361215e565b81010312610cb45751905f61119d565b503d61125d565b5080fd5b50346101d75760403660031901126101d75761129c6120c8565b336001600160a01b038216036112b857610180906004356128df565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b50346101d75760403660031901126101d7576004356113326120c8565b81835261015f8060205261134c600160408620015461276c565b825f528060205260405f209160018060a01b031691825f5260205260ff60405f20541615611378578380f35b825f5260205260405f20815f5260205260405f20600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a45f80808380f35b50346101d75760203660031901126101d75760016040602092600435815261015f8452200154604051908152f35b50346101d757611401366121d0565b61140961289b565b6040516020810190602082526114348161142660408201866122fd565b03601f19810183528261215e565b519020604051602081019060208252856040820152604081526114568161210d565b51902014611b27576001600160a01b0382168352610193602052604083206003015460ff1661148481612321565b611af157610192546040516336cb20a760e01b81526001600160a01b03848116600483015290911690602081602481855afa908115611a9a578591611ab7575b5015611aa55760405163a3dd261960e01b81526020816004816001600160a01b0388165afa908115611a9a578591611a5b575b5060088110159081611a4757600481141580611a39575b611a0657505060405163631808d960e11b81526001600160a01b038416600482015290602090829060249082905afa9081156119fb5784916119bd575b50156119ab5760405161155d816120f1565b33815281602082015260405161157281612128565b8481526040820152600160608201528360808201528360a08201524260c08201528360e082015283610100820152836101208201528361014082015260018060a01b03831684526101936020526040842060018060a01b038251166bffffffffffffffffffffffff60a01b82541617815560208201518051906001600160401b0382116105aa5781906116086001850154612223565b601f811161195b575b50602090601f83116001146118ed5788926118e2575b50508160011b915f199060031b1c19161760018201555b60408201518051906001600160401b0382116105aa576116616002840154612223565b601f811161189e575b50602090601f83116001146118285792826101409360079361175f97968b9261181d575b50508160011b915f199060031b1c19161760028201555b6003810160608501516116b781612321565b6116c081612321565b815460ff61ff0060808901516116d581612321565b6116de81612321565b60081b1692169061ffff19161717905560a0840151600482015560c0840151600582015560e08401516006820155019161172b6101008201511515849060ff801983541691151516179055565b610120810151835461ff00191690151560081b61ff00161783550151815462ff0000191690151560101b62ff000016179055565b6101915483906001600160a01b0316803b1561127e57604051634c341e3160e11b81526001600160a01b03851660048201523360248201529082908290604490829084905af18015611812576117fe575b50507f2d56e7a127812972762b02ac7d0dae826fdaf54fa91649ff25d45d0329a1a9df916104cd60405192839260018060a01b031683523360208401526060604084015260608301906122fd565b611807906120de565b610cbf57825f6117b0565b6040513d84823e3d90fd5b015190505f8061168e565b906002840188526020882091885b601f198516811061188657508360079361175f97969360019361014097601f1981161061186e575b505050811b0160028201556116a5565b01515f1960f88460031b161c191690555f808061185e565b91926020600181928685015181550194019201611836565b60028401885260208820601f840160051c8101602085106118db575b601f830160051c820181106118d057505061166a565b8981556001016118ba565b50806118ba565b015190505f80611627565b9250600184018852602088209088935b601f1984168510611940576001945083601f19811610611928575b505050811b01600182015561163e565b01515f1960f88460031b161c191690555f8080611918565b818101518355602094850194600190930192909101906118fd565b90915060018401885260208820601f840160051c8101602085106119a4575b90849392915b601f830160051c82018110611996575050611611565b8a8155859450600101611980565b508061197a565b604051630cc3ec7f60e11b8152600490fd5b90506020813d6020116119f3575b816119d86020938361215e565b810103126119ef576119e99061233f565b5f61154b565b8380fd5b3d91506119cb565b6040513d86823e3d90fd5b604051631869c82760e01b815260249350918690611a2657506004820152fd5b634e487b7160e01b815260216004528390fd5b505f9150600581141561150e565b634e487b7160e01b86526021600452602486fd5b90506020813d602011611a92575b81611a766020938361215e565b81010312611a8e57516008811015611a8e575f6114f7565b8480fd5b3d9150611a69565b6040513d87823e3d90fd5b604051635d87ccd360e11b8152600490fd5b90506020813d602011611ae9575b81611ad26020938361215e565b81010312611a8e57611ae39061233f565b5f6114c4565b3d9150611ac5565b6001600160a01b03821683526101936020526040808420600301549051634b693d9f60e11b815260249160ff166105e881612321565b604051630ca53b0b60e11b8152600490fd5b5034610cb45760e0366003190112610cb457611b536120b2565b602435151560243503610cb457604435151560443503610cb457606435608435151560843503610cb45760a435151560a43503610cb45760c435151560c43503610cb457611b9f61240e565b60018060a01b0382165f52610193602052600390600260ff8360405f20015416611bc881612321565b0361202757839060018060a01b0384165f5261019360205260405f20426006820155611c3f6007858301928660ff1985541617845501611c16608435829060ff801983541691151516179055565b805462ff000060c435151560101b1662ffff001990911661ff0060a435151560081b1617179055565b60243515611cf0575050506001600160a01b0382811684526101936020526040842091909101805461ff00191661020017905561019154839116803b1561127e57604051626ab89560e41b81526001600160a01b03841660048201529082908290602490829084905af1801561181257611cdc575b505060205f80516020612c61833981519152915b6040516001600160a01b039091168152a180f35b611ce5906120de565b61127e57815f611cb4565b9192909160443515611dab57506001600160a01b038481168085526101936020818152604080882095909501805461ff00191661010017905591865290529083206004018290556101915416803b15610cbf57604051630b732d7760e01b81526001600160a01b0385166004820152602481019290925282908290604490829084905af1801561181257611d97575b505060205f80516020612c6183398151915291611cc8565b611da0906120de565b61127e57815f611d7f565b805461ff001916610300179055505061019254604051636042737f60e11b81526001600160a01b0384811660048301529092505f9183916024918391165afa908115611efd575f91611f08575b506040810151600203611e6757506101915482906001600160a01b0316803b1561127e57604051626ab89560e41b81526001600160a01b03841660048201529082908290602490829084905af1801561181257611d9757505060205f80516020612c6183398151915291611cc8565b60a001516001600160a01b038281165f908152610193602052604090206004018290556101915416803b15610cb457604051630b732d7760e01b81526001600160a01b038416600482015260248101929092525f908290604490829084905af18015611efd57611ee9575b5060205f80516020612c6183398151915291611cc8565b611ef49192506120de565b5f906020611ed2565b6040513d5f823e3d90fd5b90503d805f833e611f19818361215e565b8101602082820312610cb45781516001600160401b0392838211610cb45701610100928382840312610cb457604051938401848110828211176120135760405281516001600160a01b0381168103610cb45784526020820151908111610cb45781019082601f83011215610cb457815192611f938461217f565b90611fa1604051928361215e565b84825260208585010111610cb4575f602085612008968260e097018386015e83010152602085015260408101516040850152606081015160608501526080810151608085015260a081015160a0850152611ffd60c0820161233f565b60c08501520161233f565b60e08201525f611df8565b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b0383165f908152610193602052604090819020830154905163f08face560e01b815260249160ff166105e881612321565b34610cb4576020366003190112610cb4576004359063ffffffff60e01b8216809203610cb457602091637965db0b60e01b81149081156120a1575b5015158152f35b6301ffc9a760e01b1490508361209a565b600435906001600160a01b0382168203610cb457565b602435906001600160a01b0382168203610cb457565b6001600160401b03811161201357604052565b61016081019081106001600160401b0382111761201357604052565b606081019081106001600160401b0382111761201357604052565b602081019081106001600160401b0382111761201357604052565b608081019081106001600160401b0382111761201357604052565b90601f801991011681019081106001600160401b0382111761201357604052565b6001600160401b03811161201357601f01601f191660200190565b9291926121a68261217f565b916121b4604051938461215e565b829481845281830111610cb4578281602093845f960137010152565b906040600319830112610cb4576004356001600160a01b0381168103610cb45791602435906001600160401b038211610cb45780602383011215610cb4578160246122209360040135910161219a565b90565b90600182811c92168015612251575b602083101461223d57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691612232565b9060405191825f825461226d81612223565b908184526020946001916001811690815f146122db575060011461229d575b50505061229b9250038361215e565b565b5f90815285812095935091905b8183106122c357505061229b93508201015f808061228c565b855488840185015294850194879450918301916122aa565b9250505061229b94925060ff191682840152151560051b8201015f808061228c565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6004111561232b57565b634e487b7160e01b5f52602160045260245ffd5b51908115158203610cb457565b1561235357565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b156123b457565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b335f9081527fd469cf82c525a9d8568d1e9e097873421304fbbf89b2ac64c557bba69f2900396020908152604091829020547f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9299060ff161561246f57505050565b61247833612af3565b90835161248481612143565b604281528381019160603684378151156125ee57603083538151600190600110156125ee57607860218401536041905b8082116125975750506125555760486125519386936125359387985198899376020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b82860152805191829101603786015e8301907001034b99036b4b9b9b4b733903937b6329607d1b60378301525180928583015e015f8382015203602881018752018561215e565b5192839262461bcd60e51b8452600484015260248301906122fd565b0390fd5b60648486519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f811660108110156125ee576f181899199a1a9b1b9c1cb0b131b232b360811b901a6125c68486612ae2565b5360041c9180156125da575f1901906124b4565b634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b335f9081527f68adc5ac8e590759d923d6ae0437ec12c3803306d286779f60d8af3f58595f346020908152604091829020547f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a9060ff161561266357505050565b61266c33612af3565b90835161267881612143565b604281528381019160603684378151156125ee57603083538151600190600110156125ee57607860218401536041905b8082116127295750506125555760486125519386936125359387985198899376020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b82860152805191829101603786015e8301907001034b99036b4b9b9b4b733903937b6329607d1b60378301525180928583015e015f8382015203602881018752018561215e565b9091600f811660108110156125ee576f181899199a1a9b1b9c1cb0b131b232b360811b901a6127588486612ae2565b5360041c9180156125da575f1901906126a8565b805f52602061015f8152604091825f20335f52825260ff835f2054161561279257505050565b61279b33612af3565b9083516127a781612143565b604281528381019160603684378151156125ee57603083538151600190600110156125ee57607860218401536041905b8082116128585750506125555760486125519386936125359387985198899376020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b82860152805191829101603786015e8301907001034b99036b4b9b9b4b733903937b6329607d1b60378301525180928583015e015f8382015203602881018752018561215e565b9091600f811660108110156125ee576f181899199a1a9b1b9c1cb0b131b232b360811b901a6128878486612ae2565b5360041c9180156125da575f1901906127d7565b60ff609754166128a757565b60405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606490fd5b90815f5261015f8060205260405f209160018060a01b031691825f5260205260ff60405f20541661290f57505050565b825f5260205260405f20815f5260205260405f2060ff19815416905533917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4565b1561295a57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b60fb546001600160a01b031633036129c757565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b60fb80546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b803b15612a87575f80516020612c8183398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b9081518110156125ee570160200190565b60405190612b008261210d565b602a82526020820160403682378251156125ee57603090538151600190600110156125ee57607860218401536029905b808211612b84575050612b405790565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f811660108110156125ee576f181899199a1a9b1b9c1cb0b131b232b360811b901a612bb38486612ae2565b5360041c9180156125da575f190190612b30565b91929015612c295750815115612bdb575090565b3b15612be45790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015612c3c5750805190602001fd5b60405162461bcd60e51b8152602060048201529081906125519060248301906122fd56fef9cc83beafd01776388ffae799ae8e8f72f04680c87bc1cce9b3aacf68b186b0360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212204a0dafcbcaa6db86af0de7d6aecc24b607be643df56450f193670db6cd72830b64736f6c63430008190033