608060405234801561001057600080fd5b50613080806100206000396000f3fe6080604052600436106102ff5760003560e01c80638129fc1c11610190578063a945bf80116100dc578063cf1c73b211610095578063e985e9c51161006f578063e985e9c5146108d0578063ed8ba86b14610919578063edb8d21e1461092e578063f2fde38b1461094e57600080fd5b8063cf1c73b21461087b578063e0df5b6f1461089b578063e8a3d485146108bb57600080fd5b8063a945bf80146107c4578063b88d4fde146107db578063bc09e593146107fb578063c1f261231461081b578063c62752551461083b578063c87b56dd1461085b57600080fd5b806395d89b41116101495780639ab04601116101235780639ab046011461074d5780639e6a1d7d1461076d578063a22cb4651461078d578063a24e5153146107ad57600080fd5b806395d89b41146106ea578063996517cf146106ff5780639a97c8eb1461071657600080fd5b80638129fc1c14610640578063849e3428146106555780638da5cb5b146106755780638dc251e3146106935780638e2051b0146106b3578063938e3d7b146106ca57600080fd5b80632db115441161024f5780634f6ccce71161020857806370a08231116101e257806370a08231146105d8578063715018a6146105f85780637687191c1461060d5780637bc9200e1461062d57600080fd5b80634f6ccce7146105785780636352211e146105985780636df9fa88146105b857600080fd5b80632db11544146104d05780632f745c59146104e35780633ccfd60b146105035780633d6a57451461051857806342842e0e1461053857806342966c681461055857600080fd5b806314a28748116102bc57806323b872dd1161029657806323b872dd14610447578063253b865d146104675780632639da8f1461047c5780632a55205a1461049157600080fd5b806314a28748146103e557806318160ddd146104055780631cced51b1461042457600080fd5b806301ffc9a71461030457806303e5161714610339578063056f8a3d1461035457806306fdde031461036b578063081812fc1461038d578063095ea7b3146103c5575b600080fd5b34801561031057600080fd5b5061032461031f36600461285b565b61096e565b60405190151581526020015b60405180910390f35b34801561034557600080fd5b50610137546103249060ff1681565b34801561036057600080fd5b5061036961097f565b005b34801561037757600080fd5b50610380610a0f565b60405161033091906128be565b34801561039957600080fd5b506103ad6103a83660046128d1565b610aa1565b6040516001600160a01b039091168152602001610330565b3480156103d157600080fd5b506103696103e0366004612906565b610ac8565b3480156103f157600080fd5b5061036961040036600461297c565b610bdd565b34801561041157600080fd5b506099545b604051908152602001610330565b34801561043057600080fd5b50610439610c56565b6040516103309291906129c8565b34801561045357600080fd5b50610369610462366004612a19565b610cca565b34801561047357600080fd5b50610369610cfc565b34801561048857600080fd5b50610369610d8c565b34801561049d57600080fd5b506104b16104ac366004612a55565b610e23565b604080516001600160a01b039093168352602083019190915201610330565b6103696104de3660046128d1565b610ec0565b3480156104ef57600080fd5b506104166104fe366004612906565b610f63565b34801561050f57600080fd5b50610369610ff9565b34801561052457600080fd5b50610369610533366004612906565b6110eb565b34801561054457600080fd5b50610369610553366004612a19565b611101565b34801561056457600080fd5b506103696105733660046128d1565b61111c565b34801561058457600080fd5b506104166105933660046128d1565b61114d565b3480156105a457600080fd5b506103ad6105b33660046128d1565b6111e0565b3480156105c457600080fd5b506103696105d33660046128d1565b611240565b3480156105e457600080fd5b506104166105f3366004612a77565b61124e565b34801561060457600080fd5b506103696112d4565b34801561061957600080fd5b50610324610628366004612a92565b6112e8565b61036961063b366004612ad4565b61136b565b34801561064c57600080fd5b506103696114f7565b34801561066157600080fd5b506103696106703660046128d1565b6116e9565b34801561068157600080fd5b5060fb546001600160a01b03166103ad565b34801561069f57600080fd5b506103696106ae366004612a77565b6116f7565b3480156106bf57600080fd5b506104166101365481565b3480156106d657600080fd5b506103696106e5366004612bac565b611728565b3480156106f657600080fd5b5061038061173d565b34801561070b57600080fd5b506104166101325481565b34801561072257600080fd5b50610416610731366004612a77565b6001600160a01b03166000908152610131602052604090205490565b34801561075957600080fd5b506101375461032490610100900460ff1681565b34801561077957600080fd5b506103696107883660046128d1565b61174c565b34801561079957600080fd5b506103696107a8366004612bf5565b61175a565b3480156107b957600080fd5b506104166101335481565b3480156107d057600080fd5b506104166101345481565b3480156107e757600080fd5b506103696107f6366004612c31565b611765565b34801561080757600080fd5b50610369610816366004612cad565b611797565b34801561082757600080fd5b506103696108363660046128d1565b6117c7565b34801561084757600080fd5b506103696108563660046128d1565b6117d9565b34801561086757600080fd5b506103806108763660046128d1565b6117e7565b34801561088757600080fd5b506103696108963660046128d1565b6118e0565b3480156108a757600080fd5b506103696108b6366004612bac565b6118ee565b3480156108c757600080fd5b50610380611903565b3480156108dc57600080fd5b506103246108eb366004612cd6565b6001600160a01b039182166000908152606a6020908152604080832093909416825291909152205460ff1690565b34801561092557600080fd5b50610369611992565b34801561093a57600080fd5b50610369610949366004612a19565b611a27565b34801561095a57600080fd5b50610369610969366004612a77565b611a4a565b600061097982611ac0565b92915050565b610987611ae5565b6101375460ff16156109d65760405162461bcd60e51b81526020600482015260136024820152721c1d589b1a58c81b5a5b9d0e881c185d5cd959606a1b60448201526064015b60405180910390fd5b610137805460ff191660011790556040517f9213aad187aca309dce8a8effaaa1e7b60ad3a1ad485e61ddeecdcc8be87997390600090a1565b606060658054610a1e90612d09565b80601f0160208091040260200160405190810160405280929190818152602001828054610a4a90612d09565b8015610a975780601f10610a6c57610100808354040283529160200191610a97565b820191906000526020600020905b815481529060010190602001808311610a7a57829003601f168201915b5050505050905090565b6000610aac82611b3f565b506000908152606960205260409020546001600160a01b031690565b6000610ad3826111e0565b9050806001600160a01b0316836001600160a01b031603610b405760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016109cd565b336001600160a01b0382161480610b5c5750610b5c81336108eb565b610bce5760405162461bcd60e51b815260206004820152603e60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c000060648201526084016109cd565b610bd88383611b9e565b505050565b610be5611ae5565b612710610bf28383612d53565b1115610c405760405162461bcd60e51b815260206004820152601a60248201527f746f6f206d75636820646973747269627574696f6e207261746500000000000060448201526064016109cd565b610c4d61013884846127cd565b50610139555050565b60606000610c62611ae5565b610138805480602002602001604051908101604052809291908181526020018280548015610cb957602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610c9b575b505050505091506101395490509091565b610cd5335b82611c0c565b610cf15760405162461bcd60e51b81526004016109cd90612d6a565b610bd8838383611c8b565b610d04611ae5565b6101375460ff16610d575760405162461bcd60e51b815260206004820152601760248201527f7075626c6963206d696e743a206e6f742070617573656400000000000000000060448201526064016109cd565b610137805460ff191690556040517e3e8f6264cc613cf55e196300bcaf535d4cb91688ccb99d9268b423dd92e4f890600090a1565b610d94611ae5565b61013754610100900460ff16610dec5760405162461bcd60e51b815260206004820152601a60248201527f616c6c6f776c697374206d696e743a206e6f742070617573656400000000000060448201526064016109cd565b610137805461ff00191690556040517fd0986f73856ed5e676348275cb6207f2518bee599a9d53ea74e2904b7980b26890600090a1565b600082815260676020526040812054819084906001600160a01b0316610e7f5760405162461bcd60e51b81526020600482015260116024820152701d1bdad95b9259081b9bdd08195e1a5cdd607a1b60448201526064016109cd565b61012d546001600160a01b03600160601b820416935061271090610eac906001600160601b031686612d53565b610eb69190612db8565b9150509250929050565b6101375460ff1615610f0a5760405162461bcd60e51b81526020600482015260136024820152721c1d589b1a58c81b5a5b9d0e881c185d5cd959606a1b60448201526064016109cd565b6101345481610f198183612d53565b341015610f595760405162461bcd60e51b815260206004820152600e60248201526d0dcdee840cadcdeeaced040cae8d60931b60448201526064016109cd565b610bd83384611e32565b6000610f6e8361124e565b8210610fd05760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b60648201526084016109cd565b506001600160a01b03919091166000908152609760209081526040808320938352929052205490565b611001611ae5565b610139544790600090612710906110189084612d53565b6110229190612db8565b905060005b6101385481101561109957610138818154811061104657611046612dda565b60009182526020822001546040516001600160a01b039091169184156108fc02918591818181858888f19350505050158015611086573d6000803e3d6000fd5b508061109181612df0565b915050611027565b50610138546000906110ab9083612d53565b6110b59084612e09565b604051909150339082156108fc029083906000818181858888f193505050501580156110e5573d6000803e3d6000fd5b50505050565b6110f3611ae5565b6110fd8282611e32565b5050565b610bd883838360405180602001604052806000815250611765565b61112533610ccf565b6111415760405162461bcd60e51b81526004016109cd90612d6a565b61114a81611ed9565b50565b600061115860995490565b82106111bb5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b60648201526084016109cd565b609982815481106111ce576111ce612dda565b90600052602060002001549050919050565b6000818152606760205260408120546001600160a01b0316806109795760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016109cd565b611248611ae5565b61013355565b60006001600160a01b0382166112b85760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016109cd565b506001600160a01b031660009081526068602052604090205490565b6112dc611ae5565b6112e66000611f80565b565b610135546040516bffffffffffffffffffffffff193360601b1660208201526000916113649160340160405160208183030381529060405280519060200120858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929493925050611fd29050565b9392505050565b61013754610100900460ff16156113bd5760405162461bcd60e51b8152602060048201526016602482015275185b1b1bdddb1a5cdd081b5a5b9d0e881c185d5cd95960521b60448201526064016109cd565b81816113c982826112e8565b61140c5760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b21036b2b935b63290383937b7b360611b60448201526064016109cd565b846101365481611432336001600160a01b03166000908152610131602052604090205490565b61143c9190612e1c565b111561148a5760405162461bcd60e51b815260206004820152601c60248201527f574c206d696e74696e67206578636565647320746865206c696d69740000000060448201526064016109cd565b61013354866114998183612d53565b3410156114d95760405162461bcd60e51b815260206004820152600e60248201526d0dcdee840cadcdeeaced040cae8d60931b60448201526064016109cd565b6114e33389611fe8565b6114ed3389611e32565b5050505050505050565b600054610100900460ff16158080156115175750600054600160ff909116105b806115315750303b158015611531575060005460ff166001145b6115945760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016109cd565b6000805460ff1916600117905580156115b7576000805461ff0019166101001790555b61160c6040518060400160405280601681526020017511511550d0551253d388141054d4d413d4950813919560521b81525060405180604001604052806005815260200164455041535360d81b81525061201a565b61161461204b565b61161c61204b565b611624612072565b6000610132819055610137805461ffff1916610101179055670de0b6b3a764000061013455662386f26fc1000061013355600161013655604080516020810190915290815261012f906116779082612e7d565b5060408051602081019091526000815261012e906116959082612e7d565b50600160601b330261012d55801561114a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b6116f1611ae5565b61013655565b6116ff611ae5565b61012d80546001600160a01b03909216600160601b026001600160601b03909216919091179055565b611730611ae5565b61012f6110fd8282612e7d565b606060668054610a1e90612d09565b611754611ae5565b61013255565b6110fd3383836120a1565b61176f3383611c0c565b61178b5760405162461bcd60e51b81526004016109cd90612d6a565b6110e58484848461216f565b61179f611ae5565b61012d80546bffffffffffffffffffffffff19166001600160601b0392909216919091179055565b6117cf611ae5565b61114a3382611e32565b6117e1611ae5565b61013455565b60608161180b816000908152606760205260409020546001600160a01b0316151590565b61184b5760405162461bcd60e51b81526020600482015260116024820152701d1bdad95b9259081b9bdd08195e1a5cdd607a1b60448201526064016109cd565b61012e805461185990612d09565b80601f016020809104026020016040519081016040528092919081815260200182805461188590612d09565b80156118d25780601f106118a7576101008083540402835291602001916118d2565b820191906000526020600020905b8154815290600101906020018083116118b557829003601f168201915b505050505091505b50919050565b6118e8611ae5565b61013555565b6118f6611ae5565b61012e6110fd8282612e7d565b61012f805461191190612d09565b80601f016020809104026020016040519081016040528092919081815260200182805461193d90612d09565b801561198a5780601f1061195f5761010080835404028352916020019161198a565b820191906000526020600020905b81548152906001019060200180831161196d57829003601f168201915b505050505081565b61199a611ae5565b61013754610100900460ff16156119ec5760405162461bcd60e51b8152602060048201526016602482015275185b1b1bdddb1a5cdd081b5a5b9d0e881c185d5cd95960521b60448201526064016109cd565b610137805461ff0019166101001790556040517f85e8122d30f149d03558a9502d0749edf4a9ee6bdc7b3506d752fa44bbbfedb290600090a1565b611a2f611ae5565b610bd88383836040518060200160405280600081525061216f565b611a52611ae5565b6001600160a01b038116611ab75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109cd565b61114a81611f80565b60006001600160e01b0319821663780e9d6360e01b14806109795750610979826121a2565b60fb546001600160a01b031633146112e65760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109cd565b6000818152606760205260409020546001600160a01b031661114a5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016109cd565b600081815260696020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611bd3826111e0565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080611c18836111e0565b9050806001600160a01b0316846001600160a01b03161480611c5f57506001600160a01b038082166000908152606a602090815260408083209388168352929052205460ff165b80611c835750836001600160a01b0316611c7884610aa1565b6001600160a01b0316145b949350505050565b826001600160a01b0316611c9e826111e0565b6001600160a01b031614611d025760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b60648201526084016109cd565b6001600160a01b038216611d645760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016109cd565b611d6f8383836121f2565b611d7a600082611b9e565b6001600160a01b0383166000908152606860205260408120805460019290611da3908490612e09565b90915550506001600160a01b0382166000908152606860205260408120805460019290611dd1908490612e1c565b909155505060008181526067602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b806101325481611e426101305490565b611e4c9190612e1c565b1115611e9a5760405162461bcd60e51b815260206004820152601960248201527f6d696e74696e67206578636565647320746865206c696d69740000000000000060448201526064016109cd565b60005b828110156110e557611eb461013080546001019055565b611ec784611ec26101305490565b6121fd565b80611ed181612df0565b915050611e9d565b6000611ee4826111e0565b9050611ef2816000846121f2565b611efd600083611b9e565b6001600160a01b0381166000908152606860205260408120805460019290611f26908490612e09565b909155505060008281526067602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b60fb80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600082611fdf8584612217565b14949350505050565b6001600160a01b0382166000908152610131602052604081208054839290612011908490612e1c565b90915550505050565b600054610100900460ff166120415760405162461bcd60e51b81526004016109cd90612f3d565b6110fd8282612264565b600054610100900460ff166112e65760405162461bcd60e51b81526004016109cd90612f3d565b600054610100900460ff166120995760405162461bcd60e51b81526004016109cd90612f3d565b6112e66122a4565b816001600160a01b0316836001600160a01b0316036121025760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016109cd565b6001600160a01b038381166000818152606a6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61217a848484611c8b565b612186848484846122d4565b6110e55760405162461bcd60e51b81526004016109cd90612f88565b60006001600160e01b031982166380ac58cd60e01b14806121d357506001600160e01b03198216635b5e139f60e01b145b8061097957506301ffc9a760e01b6001600160e01b0319831614610979565b610bd88383836123d5565b6110fd82826040518060200160405280600081525061248d565b600081815b845181101561225c576122488286838151811061223b5761223b612dda565b60200260200101516124c0565b91508061225481612df0565b91505061221c565b509392505050565b600054610100900460ff1661228b5760405162461bcd60e51b81526004016109cd90612f3d565b60656122978382612e7d565b506066610bd88282612e7d565b600054610100900460ff166122cb5760405162461bcd60e51b81526004016109cd90612f3d565b6112e633611f80565b60006001600160a01b0384163b156123ca57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290612318903390899088908890600401612fda565b6020604051808303816000875af1925050508015612353575060408051601f3d908101601f1916820190925261235091810190613017565b60015b6123b0573d808015612381576040519150601f19603f3d011682016040523d82523d6000602084013e612386565b606091505b5080516000036123a85760405162461bcd60e51b81526004016109cd90612f88565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611c83565b506001949350505050565b6001600160a01b0383166124305761242b81609980546000838152609a60205260408120829055600182018355919091527f72a152ddfb8e864297c917af52ea6c1c68aead0fee1a62673fcc7e0c94979d000155565b612453565b816001600160a01b0316836001600160a01b0316146124535761245383826124ef565b6001600160a01b03821661246a57610bd88161258c565b826001600160a01b0316826001600160a01b031614610bd857610bd8828261263b565b612497838361267f565b6124a460008484846122d4565b610bd85760405162461bcd60e51b81526004016109cd90612f88565b60008183106124dc576000828152602084905260409020611364565b6000838152602083905260409020611364565b600060016124fc8461124e565b6125069190612e09565b600083815260986020526040902054909150808214612559576001600160a01b03841660009081526097602090815260408083208584528252808320548484528184208190558352609890915290208190555b5060009182526098602090815260408084208490556001600160a01b039094168352609781528383209183525290812055565b60995460009061259e90600190612e09565b6000838152609a6020526040812054609980549394509092849081106125c6576125c6612dda565b9060005260206000200154905080609983815481106125e7576125e7612dda565b6000918252602080832090910192909255828152609a9091526040808220849055858252812055609980548061261f5761261f613034565b6001900381819060005260206000200160009055905550505050565b60006126468361124e565b6001600160a01b039093166000908152609760209081526040808320868452825280832085905593825260989052919091209190915550565b6001600160a01b0382166126d55760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016109cd565b6000818152606760205260409020546001600160a01b03161561273a5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016109cd565b612746600083836121f2565b6001600160a01b038216600090815260686020526040812080546001929061276f908490612e1c565b909155505060008181526067602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b828054828255906000526020600020908101928215612820579160200282015b828111156128205781546001600160a01b0319166001600160a01b038435161782556020909201916001909101906127ed565b5061282c929150612830565b5090565b5b8082111561282c5760008155600101612831565b6001600160e01b03198116811461114a57600080fd5b60006020828403121561286d57600080fd5b813561136481612845565b6000815180845260005b8181101561289e57602081850181015186830182015201612882565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006113646020830184612878565b6000602082840312156128e357600080fd5b5035919050565b80356001600160a01b038116811461290157600080fd5b919050565b6000806040838503121561291957600080fd5b612922836128ea565b946020939093013593505050565b60008083601f84011261294257600080fd5b50813567ffffffffffffffff81111561295a57600080fd5b6020830191508360208260051b850101111561297557600080fd5b9250929050565b60008060006040848603121561299157600080fd5b833567ffffffffffffffff8111156129a857600080fd5b6129b486828701612930565b909790965060209590950135949350505050565b604080825283519082018190526000906020906060840190828701845b82811015612a0a5781516001600160a01b0316845292840192908401906001016129e5565b50505092019290925292915050565b600080600060608486031215612a2e57600080fd5b612a37846128ea565b9250612a45602085016128ea565b9150604084013590509250925092565b60008060408385031215612a6857600080fd5b50508035926020909101359150565b600060208284031215612a8957600080fd5b611364826128ea565b60008060208385031215612aa557600080fd5b823567ffffffffffffffff811115612abc57600080fd5b612ac885828601612930565b90969095509350505050565b600080600060408486031215612ae957600080fd5b83359250602084013567ffffffffffffffff811115612b0757600080fd5b612b1386828701612930565b9497909650939450505050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115612b5157612b51612b20565b604051601f8501601f19908116603f01168101908282118183101715612b7957612b79612b20565b81604052809350858152868686011115612b9257600080fd5b858560208301376000602087830101525050509392505050565b600060208284031215612bbe57600080fd5b813567ffffffffffffffff811115612bd557600080fd5b8201601f81018413612be657600080fd5b611c8384823560208401612b36565b60008060408385031215612c0857600080fd5b612c11836128ea565b915060208301358015158114612c2657600080fd5b809150509250929050565b60008060008060808587031215612c4757600080fd5b612c50856128ea565b9350612c5e602086016128ea565b925060408501359150606085013567ffffffffffffffff811115612c8157600080fd5b8501601f81018713612c9257600080fd5b612ca187823560208401612b36565b91505092959194509250565b600060208284031215612cbf57600080fd5b81356001600160601b038116811461136457600080fd5b60008060408385031215612ce957600080fd5b612cf2836128ea565b9150612d00602084016128ea565b90509250929050565b600181811c90821680612d1d57607f821691505b6020821081036118da57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761097957610979612d3d565b6020808252602e908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526d1c881b9bdc88185c1c1c9bdd995960921b606082015260800190565b600082612dd557634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060018201612e0257612e02612d3d565b5060010190565b8181038181111561097957610979612d3d565b8082018082111561097957610979612d3d565b601f821115610bd857600081815260208120601f850160051c81016020861015612e565750805b601f850160051c820191505b81811015612e7557828155600101612e62565b505050505050565b815167ffffffffffffffff811115612e9757612e97612b20565b612eab81612ea58454612d09565b84612e2f565b602080601f831160018114612ee05760008415612ec85750858301515b600019600386901b1c1916600185901b178555612e75565b600085815260208120601f198616915b82811015612f0f57888601518255948401946001909101908401612ef0565b5085821015612f2d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061300d90830184612878565b9695505050505050565b60006020828403121561302957600080fd5b815161136481612845565b634e487b7160e01b600052603160045260246000fdfea26469706673582212200ab3f7a7a8aedea6680290bf194197b019f39674b1e25d69f2a382db7b1660ef64736f6c63430008110033