bsc/core/systemcontracts/kepler/chapel/SlashContract

1 line
27 KiB
Plaintext

608060405234801561001057600080fd5b50600436106102955760003560e01c80638256ace611610167578063c81b1662116100ce578063e1c7392a11610087578063e1c7392a146104d3578063eb57bff7146104db578063f9a2bbc7146104e3578063fc3e5908146104eb578063fc4333cd146104f3578063fd6a6879146104fb57610295565b8063c81b166214610482578063c8509d811461048a578063c96be4cb1461049d578063cc844b73146104b0578063d2a42e4b146104c3578063dc927faf146104cb57610295565b8063a78abc1611610120578063a78abc1614610447578063ab51bb961461044f578063ac0af62914610457578063ac4317511461045f578063ae61dc3b14610472578063c80d4b8f1461047a57610295565b80638256ace61461040c578063831d65d11461041457806396713da9146104275780639bc8e4f21461042f5780639dc0926214610437578063a1a11bf51461043f57610295565b8063493279b11161020b5780636e47b482116101c45780636e47b482146103dc57806370fd5bad146103e4578063718a8aa8146103ec57806375d47a0a146103f45780637912a65d146103fc5780637942fd051461040457610295565b8063493279b1146103925780634bf6c882146103a757806351e80672146103af578063567a372d146103b75780635bfb4990146103bf57806362b72cf5146103d457610295565b806335aa2e441161025d57806335aa2e441461032457806337c8dab914610337578063389f4f71146103585780633a63f4b11461036d5780633dffc3871461037557806343756e5c1461038a57610295565b80630bee7a671461029a5780630e2374a5146102b85780631182b875146102cd57806322d1e80b146102ed57806323bac5a214610302575b600080fd5b6102a2610503565b6040516102af919061354e565b60405180910390f35b6102c0610508565b6040516102af9190612d6a565b6102e06102db366004612ca0565b61050e565b6040516102af9190612da2565b6102f5610574565b6040516102af9190612d97565b610315610310366004612a4e565b61057d565b6040516102af93929190613536565b6102c0610332366004612c70565b6105a0565b61034a610345366004612a4e565b6105c7565b6040516102af929190613528565b61036061061e565b6040516102af91906134fe565b610360610624565b61037d61062a565b6040516102af919061355f565b6102c061062f565b61039a610635565b6040516102af91906134ef565b61037d61063a565b6102c061063f565b610360610645565b6103d26103cd366004612a4e565b61064b565b005b6103606106f6565b6102c06106fc565b61037d610702565b61037d610707565b6102c061070c565b610360610712565b61037d610717565b61034a61071c565b6103d2610422366004612ca0565b610726565b61037d610838565b61036061083d565b6102c0610848565b6102c061084e565b6102f5610854565b6102a261085d565b610360610862565b6103d261046d366004612b54565b610867565b610360610e17565b610360610e1e565b6102c0610e23565b6103d2610498366004612ca0565b610e29565b6103d26104ab366004612a4e565b610e9a565b6103d26104be366004612bbd565b61128b565b61036061187c565b6102c0611881565b6103d2611887565b6103606118c3565b6102c06118c9565b61037d6118cf565b6103d26118d4565b6102c0611d1d565b606481565b61200181565b6060336120001461053a5760405162461bcd60e51b815260040161053190613347565b60405180910390fd5b60005460ff1661055c5760405162461bcd60e51b815260040161053190612e9d565b60405162461bcd60e51b815260040161053190613438565b60075460ff1681565b600260208190526000918252604090912080546001820154919092015460ff1683565b600181815481106105ad57fe5b6000918252602090912001546001600160a01b0316905081565b6000806105d2612835565b5050506001600160a01b0316600090815260026020818152604092839020835160608101855281548082526001830154938201849052919093015460ff16151592909301919091529091565b60055481565b60065481565b600181565b61100181565b606181565b600881565b61200081565b60045481565b336110001461066c5760405162461bcd60e51b81526004016105319061312c565b60005460ff1661068e5760405162461bcd60e51b815260040161053190612e9d565b61200063f7a251d7600b6106a184611d23565b60006040518463ffffffff1660e01b81526004016106c19392919061356d565b600060405180830381600087803b1580156106db57600080fd5b505af11580156106ef573d6000803e3d6000fd5b5050505050565b60035481565b61100581565b600281565b601081565b61100881565b603281565b600b81565b6004546005549091565b33612000146107475760405162461bcd60e51b815260040161053190613347565b60005460ff166107695760405162461bcd60e51b815260040161053190612e9d565b610771612858565b60006107b284848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611df592505050565b9150915080156107f95781516040517f7f0956d47419b9525356e7111652b653b530ec6f5096dccc04589bc38e629967916107ec9161354e565b60405180910390a16106ef565b81516040517f7d45f62d17443dd4547bca8a8112c60e2385669318dc300ec61a5d2492f262e7916108299161354e565b60405180910390a15050505050565b600981565b662386f26fc1000081565b61100781565b61100681565b60005460ff1681565b600081565b600481565b60005460ff166108895760405162461bcd60e51b815260040161053190612e9d565b33611007146108aa5760405162461bcd60e51b815260040161053190613204565b61091584848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260148152731b5a5cd9195b59585b9bdc951a1c995cda1bdb1960621b60208201529150611e759050565b156109b0576020811461093a5760405162461bcd60e51b8152600401610531906130b8565b604080516020601f840181900481028201810190925282815260009161097891858580838501838280828437600092019190915250611ecf92505050565b90506001811015801561098c575060055481105b6109a85760405162461bcd60e51b815260040161053190613302565b600455610dd4565b610a1684848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600f81526e19995b1bdb9e551a1c995cda1bdb19608a1b60208201529150611e759050565b15610ab25760208114610a3b5760405162461bcd60e51b815260040161053190613252565b604080516020601f8401819004810282018101909252828152600091610a7991858580838501838280828437600092019190915250611ecf92505050565b90506103e88111158015610a8e575060045481115b610aaa5760405162461bcd60e51b815260040161053190612f56565b600555610dd4565b610b2684848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601881527f66696e616c697479536c617368526577617264526174696f000000000000000060208201529150611e759050565b15610bc05760208114610b4b5760405162461bcd60e51b81526004016105319061346f565b604080516020601f8401819004810282018101909252828152600091610b8991858580838501838280828437600092019190915250611ecf92505050565b9050600a8110158015610b9c5750606481105b610bb85760405162461bcd60e51b81526004016105319061306c565b600655610dd4565b610c3484848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601881527f656e61626c654d616c6963696f7573566f7465536c617368000000000000000060208201529150611e759050565b15610cab5760208114610c595760405162461bcd60e51b815260040161053190612f8b565b604080516020601f8401819004810282018101909252828152610c959190848480838501838280828437600092019190915250611ed492505050565b6007805460ff1916911515919091179055610dd4565b610d1f84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601781527f6d616c6963696f7573566f7465536c61736853636f706500000000000000000060208201529150611e759050565b15610dbc5760208114610d445760405162461bcd60e51b815260040161053190612de7565b604080516020601f8401819004810282018101909252828152600091610d8291858580838501838280828437600092019190915250611ecf92505050565b90506170808110158015610d985750620d2f0081105b610db45760405162461bcd60e51b815260040161053190612ed4565b600855610dd4565b60405162461bcd60e51b8152600401610531906133e3565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a84848484604051610e099493929190612db5565b60405180910390a150505050565b6201518081565b609681565b61100281565b3361200014610e4a5760405162461bcd60e51b815260040161053190613347565b60005460ff16610e6c5760405162461bcd60e51b815260040161053190612e9d565b6040517f07db600eebe2ac176be8dcebad61858c245a4961bb32ca2aa3d159b09aa0810e90600090a1505050565b334114610eb95760405162461bcd60e51b815260040161053190613396565b60005460ff16610edb5760405162461bcd60e51b815260040161053190612e9d565b6003544311610efc5760405162461bcd60e51b8152600401610531906134ba565b3a15610f1a5760405162461bcd60e51b8152600401610531906131a7565b60405163155853f360e21b8152611000906355614fcc90610f3f908490600401612d6a565b60206040518083038186803b158015610f5757600080fd5b505afa158015610f6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8f9190612b34565b610f9857611284565b610fa0612835565b506001600160a01b0381166000908152600260208181526040928390208351606081018552815481526001820154928101929092529091015460ff161580159282019290925290610ffb576020810180516001019052611054565b60016040820181905260208201819052805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b0384161790555b43815260055460208201518161106657fe5b066111b257600060208201526040516335409f7f60e01b8152611000906335409f7f90611097908590600401612d6a565b600060405180830381600087803b1580156110b157600080fd5b505af11580156110c5573d6000803e3d6000fd5b505050506120006001600160a01b031663f7a251d7600b6110e585611d23565b60006040518463ffffffff1660e01b81526004016111059392919061356d565b600060405180830381600087803b15801561111f57600080fd5b505af1925050508015611130575060015b6111ad573d80801561115e576040519150601f19603f3d011682016040523d82523d6000602084013e611163565b606091505b50826001600160a01b03167fd7bc86ff5d08c8ab043edec743302aba2520e6635172a428bc956721db9e2d1c8360200151836040516111a3929190613507565b60405180910390a2505b61121e565b6004548160200151816111c157fe5b0661121e576040516375abf10160e11b81526110009063eb57e202906111eb908590600401612d6a565b600060405180830381600087803b15801561120557600080fd5b505af1158015611219573d6000803e3d6000fd5b505050505b6001600160a01b0382166000818152600260208181526040808420865181559186015160018301558581015191909201805460ff1916911515919091179055517fddb6012116e51abf5436d956a4f0ebd927e92c576ff96d7918290c8782291e3e9190a2505b5043600355565b60005460ff166112ad5760405162461bcd60e51b815260040161053190612e9d565b604051630a83aaa960e31b81526110069063541d5548906112d2903390600401612d6a565b60206040518083038186803b1580156112ea57600080fd5b505afa1580156112fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113229190612b34565b61133e5760405162461bcd60e51b815260040161053190612e31565b60075460ff166113605760405162461bcd60e51b815260040161053190612e68565b60065461136d5760146006555b60085461137c57620151806008555b6008548151604001514391011180156113a057504360085482602001516040015101115b6113bc5760405162461bcd60e51b81526004016105319061340a565b8060200151602001518160000151602001511480156113ea5750806020015160600151816000015160600151145b156114075760405162461bcd60e51b8152600401610531906130ff565b8051604081015190511080156114265750602081015160408101519051105b6114425760405162461bcd60e51b815260040161053190613035565b6020810151518151511080156114675750806000015160400151816020015160400151105b8061149257508051516020820151511080156114925750806020015160400151816000015160400151105b806114ac5750806020015160400151816000015160400151145b6114c85760405162461bcd60e51b815260040161053190612f1f565b604080820151905163ea321e4960e01b81526110009163ea321e49916114f19190600401612da2565b60206040518083038186803b15801561150957600080fd5b505afa15801561151d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115419190612b34565b61155d5760405162461bcd60e51b8152600401610531906131d5565b61156f81600001518260400151611efc565b8015611588575061158881602001518260400151611efc565b6115a45760405162461bcd60e51b815260040161053190612fd6565b6060806110006001600160a01b0316633b071dcc6040518163ffffffff1660e01b815260040160006040518083038186803b1580156115e257600080fd5b505afa1580156115f6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161e9190810190612a71565b9150915060005b81518110156117595761164f82828151811061163d57fe5b602002602001015185604001516120d4565b15611751576006546040516213929d60e11b8152606461100280319093020491906227253a906116859033908590600401612d7e565b602060405180830381600087803b15801561169f57600080fd5b505af11580156116b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d79190612c88565b506110006001600160a01b03166335409f7f8584815181106116f557fe5b60200260200101516040518263ffffffff1660e01b81526004016117199190612d6a565b600060405180830381600087803b15801561173357600080fd5b505af1158015611747573d6000803e3d6000fd5b5050505050611759565b600101611625565b50600061176b84604001516000612138565b90506120006001600160a01b031663f7a251d7600b61178d8760400151612154565b60006040518463ffffffff1660e01b81526004016117ad9392919061356d565b600060405180830381600087803b1580156117c757600080fd5b505af19250505080156117d8575060015b61184a573d808015611806576040519150601f19603f3d011682016040523d82523d6000602084013e61180b565b606091505b50817fd58d1183100bd0932c0588f31c4205d6bc6168909765a96c41adbed3115f36288260405161183c9190612da2565b60405180910390a250611876565b60405181907f7b78aadacff901d8b63d0dba4f86283d4db8aef27f9ed70413dd860f1c9532b690600090a25b50505050565b601481565b61100381565b60005460ff16156118aa5760405162461bcd60e51b815260040161053190613294565b603260045560966005556000805460ff19166001179055565b60085481565b61100081565b600381565b33611000146118f55760405162461bcd60e51b81526004016105319061312c565b60005460ff166119175760405162461bcd60e51b815260040161053190612e9d565b60015461192357611d1b565b600154600090600019015b808211611cef576000805b82841015611a5257611949612835565b600260006001878154811061195a57fe5b60009182526020808320909101546001600160a01b0316835282810193909352604091820190208151606081018352815481526001820154938101939093526002015460ff161515908201526005549091506004900481602001511115611a3c576004600554816119c757fe5b048160200151038160200181815250508060026000600188815481106119e957fe5b6000918252602080832091909101546001600160a01b0316835282810193909352604091820190208351815591830151600183015591909101516002909101805460ff1916911515919091179055611a46565b6001925050611a52565b50836001019350611939565b828411611be957611a61612835565b6002600060018681548110611a7257fe5b60009182526020808320909101546001600160a01b0316835282810193909352604091820190208151606081018352815481526001820154938101939093526002015460ff161515908201526005549091506004900481602001511115611b5a57600460055481611adf57fe5b04816020015103816020018181525050806002600060018781548110611b0157fe5b6000918252602080832091909101546001600160a01b03168352828101939093526040918201902083518155918301516001808401919091559201516002909101805460ff19169115159190911790559150611be99050565b6002600060018681548110611b6b57fe5b60009182526020808320909101546001600160a01b031683528201929092526040018120818155600181810192909255600201805460ff19169055805480611baf57fe5b600082815260209020810160001990810180546001600160a01b031916905501905583611bdc5750611be9565b5060001990920191611a52565b818015611bf35750805b15611cd2576002600060018681548110611c0957fe5b60009182526020808320909101546001600160a01b031683528201929092526040018120818155600181810192909255600201805460ff19169055805484908110611c5057fe5b600091825260209091200154600180546001600160a01b039092169186908110611c7657fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001805480611caf57fe5b600082815260209020810160001990810180546001600160a01b03191690550190555b82611cde575050611cef565b50506001909101906000190161192e565b6040517fcfdb3b6ccaeccbdc68be3c59c840e3b3c90f0a7c491f5fff1cf56cfda200dd9c90600090a150505b565b61100481565b60408051600480825260a08201909252606091829190816020015b6060815260200190600190039081611d3e579050509050611d67836001600160a01b031661218f565b81600081518110611d7457fe5b6020026020010181905250611d88436121b2565b81600181518110611d9557fe5b6020908102919091010152611daa60616121b2565b81600281518110611db757fe5b6020026020010181905250611dcb426121b2565b81600381518110611dd857fe5b6020026020010181905250611dec816121c5565b9150505b919050565b611dfd612858565b6000611e07612858565b611e0f61286a565b611e20611e1b8661224f565b612274565b90506000805b611e2f836122be565b15611e685780611e5b57611e4a611e45846122df565b61232d565b63ffffffff16845260019150611e60565b611e68565b600101611e26565b5091935090915050915091565b600081604051602001611e889190612d4e565b6040516020818303038152906040528051906020012083604051602001611eaf9190612d4e565b604051602081830303815290604052805190602001201490505b92915050565b015190565b8082015160009060ff811615611eee576001915081611ef4565b60009150815b505092915050565b60408051600480825260a0820190925260009160609190816020015b6060815260200190600190039081611f18575050604080516020808252818301909252919250606091908082018180368337019050509050611f5d85600001516121b2565b82600081518110611f6a57fe5b6020026020010181905250611f8560208660200151836123af565b611f8e816123bf565b82600181518110611f9b57fe5b6020026020010181905250611fb385604001516121b2565b82600281518110611fc057fe5b6020026020010181905250611fdb60208660600151836123af565b611fe4816123bf565b82600381518110611ff157fe5b6020026020010181905250612017602061200a846121c5565b80519060200120836123af565b6040805160b080825260e08201909252606091602082018180368337019050509050612047818360006020612415565b61205981876080015160206060612415565b612067818660806030612415565b604080516001808252818301909252606091602082018180368337019050509050815160016020830182602086016066600019fa6120a457600080fd5b5060016120b2826000612468565b60ff16146120c7576000945050505050611ec9565b5060019695505050505050565b8151815160009160019181148083146120f0576000925061212e565b600160208701838101602088015b60028483851001141561212957805183511461211d5760009650600093505b602092830192016120fe565b505050505b5090949350505050565b6000816020018351101561214b57600080fd5b50016020015190565b60408051600480825260a08201909252606091829190816020015b606081526020019060019003908161216f579050509050611d67836123bf565b60408051600560a21b8318601482015260348101909152606090611dec816123bf565b6060611ec96121c083612484565b6123bf565b60608151600014156121e65750604080516000815260208101909152611df0565b6060826000815181106121f557fe5b602002602001015190506000600190505b83518110156122365761222c8285838151811061221f57fe5b602002602001015161256a565b9150600101612206565b50611dec612249825160c060ff166125e7565b8261256a565b61225761288a565b506040805180820190915281518152602082810190820152919050565b61227c61286a565b612285826126b9565b61228e57600080fd5b600061229d83602001516126f3565b60208085015160408051808201909152868152920190820152915050919050565b60006122c861288a565b505080518051602091820151919092015191011190565b6122e761288a565b6122f0826122be565b6122f957600080fd5b6020820151600061230982612756565b80830160209586015260408051808201909152908152938401919091525090919050565b80516000901580159061234257508151602110155b61234b57600080fd5b600061235a83602001516126f3565b905080836000015110156123805760405162461bcd60e51b8152600401610531906132cb565b8251602080850151830180519284900392918310156123a657826020036101000a820491505b50949350505050565b9091018181526020918201910152565b6060815160011480156123f15750607f60f81b826000815181106123df57fe5b01602001516001600160f81b03191611155b156123fd575080611df0565b611ec961240f8351608060ff166125e7565b8361256a565b60005b818110156106ef5783818151811061242c57fe5b602001015160f81c60f81b85848060010195508151811061244957fe5b60200101906001600160f81b031916908160001a905350600101612418565b6000816001018351101561247b57600080fd5b50016001015190565b604080516020808252818301909252606091829190602082018180368337505050602081018490529050600067ffffffffffffffff1984166124c8575060186124ec565b6fffffffffffffffffffffffffffffffff1984166124e8575060106124ec565b5060005b60208110156125225781818151811061250157fe5b01602001516001600160f81b0319161561251a57612522565b6001016124ec565b60008160200390506060816040519080825280601f01601f191660200182016040528015612557576020820181803683370190505b5080830196909652508452509192915050565b6060806040519050835180825260208201818101602087015b8183101561259b578051835260209283019201612583565b50855184518101855292509050808201602086015b818310156125c85780518352602092830192016125b0565b508651929092011591909101601f01601f191660405250905092915050565b60606801000000000000000083106126115760405162461bcd60e51b81526004016105319061300d565b6040805160018082528183019092526060916020820181803683370190505090506037841161266b5782840160f81b8160008151811061264d57fe5b60200101906001600160f81b031916908160001a9053509050611ec9565b606061267685612484565b90508381510160370160f81b8260008151811061268f57fe5b60200101906001600160f81b031916908160001a9053506126b0828261256a565b95945050505050565b80516000906126ca57506000611df0565b6020820151805160001a9060c08210156126e957600092505050611df0565b5060019392505050565b8051600090811a608081101561270d576000915050611df0565b60b8811080612728575060c08110801590612728575060f881105b15612737576001915050611df0565b60c081101561274b5760b519019050611df0565b60f519019050611df0565b80516000908190811a6080811015612771576001915061282e565b60b881101561278657607e198101915061282e565b60c08110156127d757600060b78203600186019550806020036101000a8651049150600181018201935050808310156127d15760405162461bcd60e51b81526004016105319061317c565b5061282e565b60f88110156127ec5760be198101915061282e565b600060f78203600186019550806020036101000a865104915060018101820193505080831015611ef45760405162461bcd60e51b81526004016105319061317c565b5092915050565b604051806060016040528060008152602001600081526020016000151581525090565b60408051602081019091526000815290565b604051806040016040528061287d61288a565b8152602001600081525090565b604051806040016040528060008152602001600081525090565b600082601f8301126128b4578081fd5b81516128c76128c2826135c0565b613599565b818152915060208083019084810160005b8481101561293d578151870188603f8201126128f357600080fd5b838101516129036128c2826135e0565b81815260408b8184860101111561291957600080fd5b61292883888401838701613604565b508652505092820192908201906001016128d8565b505050505092915050565b60008083601f840112612959578182fd5b50813567ffffffffffffffff811115612970578182fd5b60208301915083602082850101111561298857600080fd5b9250929050565b600082601f83011261299f578081fd5b81356129ad6128c2826135e0565b91508082528360208285010111156129c457600080fd5b8060208401602084013760009082016020015292915050565b600060a082840312156129ee578081fd5b6129f860a0613599565b905081358152602082013560208201526040820135604082015260608201356060820152608082013567ffffffffffffffff811115612a3657600080fd5b612a428482850161298f565b60808301525092915050565b600060208284031215612a5f578081fd5b8135612a6a81613630565b9392505050565b60008060408385031215612a83578081fd5b825167ffffffffffffffff80821115612a9a578283fd5b81850186601f820112612aab578384fd5b80519250612abb6128c2846135c0565b80848252602080830192508084018a828389028701011115612adb578788fd5b8794505b86851015612b06578051612af281613630565b845260019490940193928101928101612adf565b508801519096509350505080821115612b1d578283fd5b50612b2a858286016128a4565b9150509250929050565b600060208284031215612b45578081fd5b81518015158114612a6a578182fd5b60008060008060408587031215612b69578182fd5b843567ffffffffffffffff80821115612b80578384fd5b612b8c88838901612948565b90965094506020870135915080821115612ba4578384fd5b50612bb187828801612948565b95989497509550505050565b600060208284031215612bce578081fd5b813567ffffffffffffffff80821115612be5578283fd5b81840160608187031215612bf7578384fd5b612c016060613599565b9250803582811115612c11578485fd5b612c1d878284016129dd565b845250602081013582811115612c31578485fd5b612c3d878284016129dd565b602085015250604081013582811115612c54578485fd5b612c608782840161298f565b6040850152509195945050505050565b600060208284031215612c81578081fd5b5035919050565b600060208284031215612c99578081fd5b5051919050565b600080600060408486031215612cb4578283fd5b833560ff81168114612cc4578384fd5b9250602084013567ffffffffffffffff811115612cdf578283fd5b612ceb86828701612948565b9497909650939450505050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008151808452612d3a816020860160208601613604565b601f01601f19169290920160200192915050565b60008251612d60818460208701613604565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b600060208252612a6a6020830184612d22565b600060408252612dc9604083018688612cf8565b8281036020840152612ddc818587612cf8565b979650505050505050565b6020808252602a908201527f6c656e677468206f66206d616c6963696f7573566f7465536c61736853636f706040820152690ca40dad2e6dac2e8c6d60b31b606082015260800190565b6020808252601f908201527f746865206d73672073656e646572206973206e6f7420612072656c6179657200604082015260600190565b6020808252818101527f6d616c6963696f757320766f746520736c617368206e6f7420656e61626c6564604082015260600190565b60208082526019908201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604082015260600190565b6020808252602b908201527f746865206d616c6963696f757320766f746520736c6173682073636f7065206f60408201526a7574206f662072616e676560a81b606082015260800190565b6020808252601a908201527f6e6f2076696f6c6174696f6e206f6620766f74652072756c6573000000000000604082015260600190565b6020808252818101527f7468652066656c6f6e795468726573686f6c64206f7574206f662072616e6765604082015260600190565b6020808252602b908201527f6c656e677468206f6620656e61626c654d616c6963696f7573566f7465536c6160408201526a0e6d040dad2e6dac2e8c6d60ab1b606082015260800190565b60208082526017908201527f766572696679207369676e6174757265206661696c6564000000000000000000604082015260600190565b6020808252600e908201526d696e70757420746f6f206c6f6e6760901b604082015260600190565b60208082526019908201527f7372634e756d20626967676572207468616e207461724e756d00000000000000604082015260600190565b6020808252602c908201527f7468652066696e616c69747920736c6173682072657761726420726174696f2060408201526b6f7574206f662072616e676560a01b606082015260800190565b60208082526027908201527f6c656e677468206f66206d697364656d65616e6f725468726573686f6c64206d6040820152660d2e6dac2e8c6d60cb1b606082015260800190565b60208082526013908201527274776f206964656e746963616c20766f74657360681b604082015260600190565b60208082526030908201527f746865206d6573736167652073656e646572206d7573742062652076616c696460408201526f185d1bdc94d95d0818dbdb9d1c9858dd60821b606082015260800190565b6020808252601190820152706164646974696f6e206f766572666c6f7760781b604082015260600190565b6020808252601490820152736761737072696365206973206e6f74207a65726f60601b604082015260600190565b6020808252601590820152741d9bdd195059191c881a5cc81b9bdd08199bdd5b99605a1b604082015260600190565b6020808252602e908201527f746865206d6573736167652073656e646572206d75737420626520676f76657260408201526d1b985b98d94818dbdb9d1c9858dd60921b606082015260800190565b60208082526022908201527f6c656e677468206f662066656c6f6e795468726573686f6c64206d69736d61746040820152610c6d60f31b606082015260800190565b60208082526019908201527f74686520636f6e747261637420616c726561647920696e697400000000000000604082015260600190565b6020808252601a908201527f6c656e677468206973206c657373207468616e206f6666736574000000000000604082015260600190565b60208082526025908201527f746865206d697364656d65616e6f725468726573686f6c64206f7574206f662060408201526472616e676560d81b606082015260800190565b6020808252602f908201527f746865206d6573736167652073656e646572206d7573742062652063726f737360408201526e0818da185a5b8818dbdb9d1c9858dd608a1b606082015260800190565b6020808252602d908201527f746865206d6573736167652073656e646572206d75737420626520746865206260408201526c3637b1b590383937b23ab1b2b960991b606082015260800190565b6020808252600d908201526c756e6b6e6f776e20706172616d60981b604082015260600190565b6020808252601490820152731d185c99d95d08189b1bd8dac81d1bdbc81bdb1960621b604082015260600190565b6020808252601e908201527f7265636569766520756e65787065637465642073796e207061636b6167650000604082015260600190565b6020808252602b908201527f6c656e677468206f662066696e616c697479536c61736852657761726452617460408201526a0d2de40dad2e6dac2e8c6d60ab1b606082015260800190565b6020808252818101527f63616e206e6f7420736c61736820747769636520696e206f6e6520626c6f636b604082015260600190565b61ffff91909116815260200190565b90815260200190565b6000838252604060208301526135206040830184612d22565b949350505050565b918252602082015260400190565b92835260208301919091521515604082015260600190565b63ffffffff91909116815260200190565b60ff91909116815260200190565b600060ff85168252606060208301526135896060830185612d22565b9050826040830152949350505050565b60405181810167ffffffffffffffff811182821017156135b857600080fd5b604052919050565b600067ffffffffffffffff8211156135d6578081fd5b5060209081020190565b600067ffffffffffffffff8211156135f6578081fd5b50601f01601f191660200190565b60005b8381101561361f578181015183820152602001613607565b838111156118765750506000910152565b6001600160a01b038116811461364557600080fd5b5056fea164736f6c6343000604000a