Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Source Code (Solidity)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"lpToken","type":"address"},{"indexed":true,"internalType":"uint256","name":"pid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"allocPoint","type":"uint256"}],"name":"AddLpToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"uint256","name":"previousBalance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newBalance","type":"uint256"}],"name":"CheckpointBalanceChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"lpVotes","type":"uint256"}],"name":"CheckpointTotalLpVotes","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"pid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"lpVotes","type":"uint256"}],"name":"CheckpointUserLpVotes","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"pendedVotes","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"lpVotesShare","type":"uint256"}],"name":"CheckpointUserVotes","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"address","name":"fromDelegate","type":"address"},{"indexed":true,"internalType":"address","name":"toDelegate","type":"address"}],"name":"DelegateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"pid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"pid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"EmergencyWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldLpToken","type":"address"},{"indexed":true,"internalType":"address","name":"newLpToken","type":"address"},{"indexed":true,"internalType":"uint256","name":"pid","type":"uint256"}],"name":"MigrateLpToken","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":false,"internalType":"uint256","name":"cvpPerBlock","type":"uint256"}],"name":"SetCvpPerBlock","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"metaPool","type":"address"},{"indexed":true,"internalType":"address","name":"cvpPool","type":"address"}],"name":"SetCvpPoolByMetaPool","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"cvpVestingPeriodInBlocks","type":"uint256"}],"name":"SetCvpVestingPeriodInBlocks","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"lpToken","type":"address"},{"indexed":true,"internalType":"uint256","name":"pid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"allocPoint","type":"uint256"}],"name":"SetLpToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"migrator","type":"address"}],"name":"SetMigrator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"pid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"inputs":[{"internalType":"uint256","name":"_allocPoint","type":"uint256"},{"internalType":"contract IERC20","name":"_lpToken","type":"address"},{"internalType":"uint8","name":"_poolType","type":"uint8"},{"internalType":"bool","name":"_votesEnabled","type":"bool"}],"name":"add","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"book","outputs":[{"internalType":"uint32","name":"numCheckpoints","type":"uint32"},{"internalType":"uint32","name":"lastCheckpointBlock","type":"uint32"},{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"checkpointVotes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cvp","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cvpPerBlock","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"cvpPoolByMetaPool","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cvpVestingPeriodInBlocks","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cvpVestingPool","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"delegatee_","type":"address"}],"name":"delegate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"delegatee","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_pid","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_pid","type":"uint256"}],"name":"emergencyWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"findCheckpoints","outputs":[{"internalType":"uint32","name":"userCheckpointId","type":"uint32"},{"internalType":"uint32","name":"sharedCheckpointId","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint32","name":"checkpointId","type":"uint32"}],"name":"getCheckpoint","outputs":[{"internalType":"uint32","name":"fromBlock","type":"uint32"},{"internalType":"uint96","name":"cvpAmount","type":"uint96"},{"internalType":"uint96","name":"pooledCvpShare","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getCurrentVotes","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"uint32","name":"userCheckpointId","type":"uint32"},{"internalType":"uint32","name":"sharedCheckpointId","type":"uint32"}],"name":"getPriorVotes","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getPriorVotes","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"_cvp","type":"address"},{"internalType":"address","name":"_reservoir","type":"address"},{"internalType":"uint256","name":"_cvpPerBlock","type":"uint256"},{"internalType":"uint256","name":"_startBlock","type":"uint256"},{"internalType":"uint256","name":"_cvpVestingPeriodInBlocks","type":"uint256"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"_lpToken","type":"address"}],"name":"isLpTokenAdded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lastSwapBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"massUpdatePools","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_pid","type":"uint256"}],"name":"migrate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"migrator","outputs":[{"internalType":"contract ILpTokenMigrator","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_pid","type":"uint256"},{"internalType":"address","name":"_user","type":"address"}],"name":"pendingCvp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"poolLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"poolPidByAddress","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"pools","outputs":[{"internalType":"contract IERC20","name":"lpToken","type":"address"},{"internalType":"bool","name":"votesEnabled","type":"bool"},{"internalType":"uint8","name":"poolType","type":"uint8"},{"internalType":"uint32","name":"allocPoint","type":"uint32"},{"internalType":"uint32","name":"lastUpdateBlock","type":"uint32"},{"internalType":"uint256","name":"accCvpPerLpt","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"reservoir","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_pid","type":"uint256"},{"internalType":"uint256","name":"_allocPoint","type":"uint256"},{"internalType":"uint8","name":"_poolType","type":"uint8"},{"internalType":"bool","name":"_votesEnabled","type":"bool"}],"name":"set","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_cvpPerBlock","type":"uint256"}],"name":"setCvpPerBlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_metaPool","type":"address"},{"internalType":"address","name":"_cvpPool","type":"address"}],"name":"setCvpPoolByMetaPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_cvpVestingPeriodInBlocks","type":"uint256"}],"name":"setCvpVestingPeriodInBlocks","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ILpTokenMigrator","name":"_migrator","type":"address"}],"name":"setMigrator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startBlock","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalAllocPoint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_pid","type":"uint256"}],"name":"updatePool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"users","outputs":[{"internalType":"uint32","name":"lastUpdateBlock","type":"uint32"},{"internalType":"uint32","name":"vestingBlock","type":"uint32"},{"internalType":"uint96","name":"pendedCvp","type":"uint96"},{"internalType":"uint96","name":"cvpAdjust","type":"uint96"},{"internalType":"uint256","name":"lptAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_pid","type":"uint256"},{"internalType":"address","name":"user","type":"address"}],"name":"vestableCvp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_pid","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
608060405260006101675534801561001657600080fd5b50614dfa806100266000396000f3fe608060405234801561001057600080fd5b506004361061025e5760003560e01c80637ca8146011610146578063b0b65ddb116100c3578063e2bbb15811610087578063e2bbb15814610814578063e99f5b8014610837578063f095105a1461085d578063f247c4b01461089a578063f2fde38b146108a2578063f3f14ed0146108c85761025e565b8063b0b65ddb14610706578063b4b5ea571461073a578063b9d02df414610760578063d13f90b4146107ca578063d8f14f2b1461080c5761025e565b806394f70aca1161010a57806394f70aca146105db5780639c954c9d146105f8578063a153d96514610615578063ab85cfe41461066a578063ac4afa38146106a45761025e565b80637ca81460146105415780637cd07e4714610597578063866bf7ae1461059f5780638da5cb5b146105a75780638e782f4d146105af5761025e565b8063454b0608116101df5780635c19a95c116101a35780635c19a95c146104715780635c2ef9a314610497578063630b5ba1146104c55780636aa7098c146104cd578063715018a61461050d578063782d6fe1146105155761025e565b8063454b0608146103d357806348cd4cb1146103f057806351eb05a6146104115780635312ea8e1461042e57806356b2ed531461044b5761025e565b80631e31d053116102265780631e31d053146102fb57806323cf31181461030357806334940fa81461032b578063430bf6df1461038c578063441a3e70146103b05761025e565b80630795debe14610263578063081e3eda146102a5578063151e6aa5146102bf57806317caf6f1146102c75780631db56032146102cf575b600080fd5b6102896004803603602081101561027957600080fd5b50356001600160a01b03166108ee565b604080516001600160a01b039092168252519081900360200190f35b6102ad61090a565b60408051918252519081900360200190f35b610289610911565b6102ad610921565b6102ad600480360360408110156102e557600080fd5b50803590602001356001600160a01b0316610928565b610289610a6a565b6103296004803603602081101561031957600080fd5b50356001600160a01b0316610a8e565b005b61035d6004803603604081101561034157600080fd5b5080356001600160a01b0316906020013563ffffffff16610b39565b6040805163ffffffff90941684526001600160601b039283166020850152911682820152519081900360600190f35b610394610b64565b604080516001600160601b039092168252519081900360200190f35b610329600480360360408110156103c657600080fd5b5080359060200135610b7b565b610329600480360360208110156103e957600080fd5b5035610d25565b6103f8611067565b6040805163ffffffff9092168252519081900360200190f35b6103296004803603602081101561042757600080fd5b503561107b565b6103296004803603602081101561044457600080fd5b5035611107565b6103296004803603602081101561046157600080fd5b50356001600160a01b03166112c0565b6103296004803603602081101561048757600080fd5b50356001600160a01b0316611328565b610329600480360360408110156104ad57600080fd5b506001600160a01b038135811691602001351661137d565b61032961142d565b610394600480360360808110156104e357600080fd5b506001600160a01b038135169060208101359063ffffffff60408201358116916060013516611451565b61032961150e565b6103946004803603604081101561052b57600080fd5b506001600160a01b0381351690602001356115b0565b6105676004803603602081101561055757600080fd5b50356001600160a01b03166115c6565b6040805163ffffffff94851681529290931660208301526001600160a01b03168183015290519081900360600190f35b6102896115fd565b6103f8611614565b610289611628565b6102ad600480360360408110156105c557600080fd5b50803590602001356001600160a01b0316611637565b610329600480360360208110156105f157600080fd5b503561175c565b6103296004803603602081101561060e57600080fd5b5035611832565b6106416004803603604081101561062b57600080fd5b506001600160a01b038135169060200135611926565b604051808363ffffffff1681526020018263ffffffff1681526020019250505060405180910390f35b6106906004803603602081101561068057600080fd5b50356001600160a01b03166119d1565b604080519115158252519081900360200190f35b6106c1600480360360208110156106ba57600080fd5b5035611a35565b604080516001600160a01b039097168752941515602087015260ff9093168585015263ffffffff918216606086015216608084015260a0830152519081900360c00190f35b6103296004803603608081101561071c57600080fd5b5080359060208101359060ff60408201351690606001351515611a99565b6103946004803603602081101561075057600080fd5b50356001600160a01b0316611c94565b61078c6004803603604081101561077657600080fd5b50803590602001356001600160a01b0316611d36565b6040805163ffffffff96871681529490951660208501526001600160601b039283168486015291166060830152608082015290519081900360a00190f35b610329600480360360a08110156107e057600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060800135611d8a565b610289611f3c565b6103296004803603604081101561082a57600080fd5b5080359060200135611f4c565b6102ad6004803603602081101561084d57600080fd5b50356001600160a01b03166120a2565b6103296004803603608081101561087357600080fd5b508035906001600160a01b036020820135169060ff604082013516906060013515156120b5565b61039461235f565b610329600480360360208110156108b857600080fd5b50356001600160a01b031661236f565b6102ad600480360360208110156108de57600080fd5b50356001600160a01b0316612468565b610168602052600090815260409020546001600160a01b031681565b6101645490565b610162546001600160a01b031681565b6101675481565b6000610932614b99565b610164848154811061094057fe5b60009182526020918290206040805160c081018252600290930290910180546001600160a01b038116845260ff600160a01b82048116151595850195909552600160a81b81049094169183019190915263ffffffff600160b01b840481166060840152600160d01b909304909216608082015260019091015460a082015290506109c8614bce565b506000848152610166602090815260408083206001600160a01b0387168452825291829020825160a081018452815463ffffffff8082168352600160201b820416938201939093526001600160601b03600160401b8404811694820194909452600160a01b90920490921660608201526001909101546080820152610a4c8261247b565b506000610a5d828460a001516125ae565b9450505050505b92915050565b33600090815261012d6020526040902054600160401b90046001600160a01b031690565b610a9661287c565b6065546001600160a01b03908116911614610ae6576040805162461bcd60e51b81526020600482018190526024820152600080516020614ce7833981519152604482015290519081900360640190fd5b61016380546001600160601b0316600160601b6001600160a01b038416908102919091179091556040517ff40543f3e605deae7fbca26db18ff1de07eda2925d68655836eae4c167444e3290600090a250565b600080600080610b498686612880565b9094509050610b57816128b9565b9497909650939450505050565b61016154600160a01b90046001600160601b031681565b60975460ff16610bc0576040805162461bcd60e51b815260206004820152601f6024820152600080516020614c34833981519152604482015290519081900360640190fd5b6097805460ff19169055610bd3826128ce565b610bdb612925565b60006101648381548110610beb57fe5b60009182526020808320868452610166825260408085203386529092529220600181015460029092029092019250831115610c575760405162461bcd60e51b8152600401808060200182810382526021815260200180614ca56021913960400191505060405180910390fd5b610c60826129ff565b610c6e818360010154612b99565b8215610c9e576001810154610c839084612db5565b60018201558154610c9e906001600160a01b03163385612df7565b610cb081600101548360010154612e4e565b81546001600160601b0391909116600160a01b026001600160a01b03909116178155604080518481529051859133917ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5689181900360200190a3610d1233612ea1565b50506097805460ff191660011790555050565b60975460ff16610d6a576040805162461bcd60e51b815260206004820152601f6024820152600080516020614c34833981519152604482015290519081900360640190fd5b6097805460ff1916905561016354600160601b90046001600160a01b0316610dd2576040805162461bcd60e51b81526020600482015260166024820152752b262826b4b734b7339d1037379036b4b3b930ba37b960511b604482015290519081900360640190fd5b60006101648281548110610de257fe5b6000918252602080832060029092029091018054604080516370a0823160e01b815230600482015290519295506001600160a01b03909116939284926370a08231926024808201939291829003018186803b158015610e4057600080fd5b505afa158015610e54573d6000803e3d6000fd5b505050506040513d6020811015610e6a57600080fd5b505161016354909150610e91906001600160a01b0384811691600160601b90041683613499565b61016354835460408051633b2c6a9560e01b81526001600160a01b038681166004830152600160a81b90930460ff1660248201529051600093600160601b900490921691633b2c6a959160448082019260209290919082900301818787803b158015610efc57600080fd5b505af1158015610f10573d6000803e3d6000fd5b505050506040513d6020811015610f2657600080fd5b5051604080516370a0823160e01b815230600482015290519192506001600160a01b038316916370a0823191602480820192602092909190829003018186803b158015610f7257600080fd5b505afa158015610f86573d6000803e3d6000fd5b505050506040513d6020811015610f9c57600080fd5b50518214610ff1576040805162461bcd60e51b815260206004820152601c60248201527f564c504d696e696e673a20696e76616c6964206d6967726174696f6e00000000604482015290519081900360640190fd5b83546001600160a01b0319166001600160a01b03828116918217865584166000818152610165602052604080822082905583825280822089905551889392917f98c9138ebd4290b5695f6b81a272faa7d3f9e8edc5d6fef5b4417541fea85f5491a450506097805460ff19166001179055505050565b61016254600160c01b900463ffffffff1681565b60975460ff166110c0576040805162461bcd60e51b815260206004820152601f6024820152600080516020614c34833981519152604482015290519081900360640190fd5b6097805460ff19169055610164805460009190839081106110dd57fe5b906000526020600020906002020190506110f6816129ff565b50506097805460ff19166001179055565b60975460ff1661114c576040805162461bcd60e51b815260206004820152601f6024820152600080516020614c34833981519152604482015290519081900360640190fd5b6097805460ff1916905561115f816128ce565b611167612925565b6000610164828154811061117757fe5b60009182526020808320858452610166825260408085203380875293529093206001810154600290930290930180549094506111c0926001600160a01b03919091169190612df7565b60018101546040805191825251849133917fbb757047c2b5f3974fe26b7c10f732e7bce710b0952a71082702781e62ae05959181900360200190a38054600160401b90046001600160601b03161561129457610161548154600160a01b9091046001600160601b03908116600160401b90920416116112695780546101615461126491600160a01b9091046001600160601b0390811691600160401b9004166135ac565b61126c565b60005b61016160146101000a8154816001600160601b0302191690836001600160601b031602179055505b60006001820155805463ffffffff1681556112ae33612ea1565b50506097805460ff1916600117905550565b60975460ff16611305576040805162461bcd60e51b815260206004820152601f6024820152600080516020614c34833981519152604482015290519081900360640190fd5b6097805460ff1916905561131881612ea1565b506097805460ff19166001179055565b6001600160a01b0381163014156113705760405162461bcd60e51b8152600401808060200182810382526030815260200180614d5f6030913960400191505060405180910390fd5b61137a33826135ee565b50565b61138561287c565b6065546001600160a01b039081169116146113d5576040805162461bcd60e51b81526020600482018190526024820152600080516020614ce7833981519152604482015290519081900360640190fd5b6001600160a01b038281166000818152610168602052604080822080546001600160a01b0319169486169485179055517fb7b89eb0ea057d36260d49cabb87830afa2a5fcfe748fe2ae71de060b6410f939190a35050565b6101645460005b8181101561144d576114458161107b565b600101611434565b5050565b6001600160a01b038416600090815261012d6020526040812081908190611482908763ffffffff8089169061366b16565b91509150816001600160c01b0316600014156114a357600092505050611506565b30600090815261012d602052604081206114c7908863ffffffff8089169061366b16565b5030600090815261012d60205260408120919250906114f19063ffffffff80861690849061366b16565b5090506114ff8483836137cf565b9450505050505b949350505050565b61151661287c565b6065546001600160a01b03908116911614611566576040805162461bcd60e51b81526020600482018190526024820152600080516020614ce7833981519152604482015290519081900360640190fd5b6065546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3606580546001600160a01b0319169055565b60006115bf8383600080611451565b9392505050565b61012d6020526000908152604090205463ffffffff80821691600160201b810490911690600160401b90046001600160a01b031683565b61016354600160601b90046001600160a01b031681565b61016254600160a01b900463ffffffff1681565b6065546001600160a01b031690565b61016454600090831061164c57506000610a64565b611654614b99565b610164848154811061166257fe5b600091825260208083206040805160c081018252600290940290910180546001600160a01b03808216865260ff600160a01b83048116151587870152600160a81b8304168685015263ffffffff600160b01b830481166060880152600160d01b909204909116608086015260019091015460a0850152888552610166835281852090881685529091529091209091506116fa8261247b565b50600061172782600101548360000160149054906101000a90046001600160601b03168560a001516138f9565b8254909150611749906001600160601b0380841691600160401b9004166139ab565b6001600160601b03169695505050505050565b61176461287c565b6065546001600160a01b039081169116146117b4576040805162461bcd60e51b81526020600482018190526024820152600080516020614ce7833981519152604482015290519081900360640190fd5b6117d6816040518060600160405280602b8152602001614c7a602b91396139ed565b610162805463ffffffff92909216600160a01b0263ffffffff60a01b199092169190911790556040805182815290517fb6d927d1177d65639186d960a1926f0aa9cd35eca2b1b244e62f50fe3bff99a09181900360200190a150565b61183a61287c565b6065546001600160a01b0390811691161461188a576040805162461bcd60e51b81526020600482018190526024820152600080516020614ce7833981519152604482015290519081900360640190fd5b6118c9816040518060400160405280601e81526020017f564c504d696e696e673a20746f6f2062696720637670506572426c6f636b0000815250613a87565b61016380546bffffffffffffffffffffffff19166001600160601b03929092169190911790556040805182815290517f11d360a0021a6a2561238805127962df1163ba47bfd43d6936083b0e0029c88d916020908290030190a150565b6000806001600160a01b038416611984576040805162461bcd60e51b815260206004820152601d60248201527f66696e64436865636b706f696e74733a207a65726f206163636f756e74000000604482015290519081900360640190fd5b6001600160a01b038416600090815261012d602052604090206119a79084613adc565b5030600090815261012d602052604090209092506119c59084613adc565b50809150509250929050565b6001600160a01b038116600090815261016560205260408120546101645481108015611a2c5750826001600160a01b03166101648281548110611a1057fe5b60009182526020909120600290910201546001600160a01b0316145b9150505b919050565b6101648181548110611a4357fe5b6000918252602090912060029091020180546001909101546001600160a01b038216925060ff600160a01b8304811692600160a81b81049091169163ffffffff600160b01b8304811692600160d01b9004169086565b611aa161287c565b6065546001600160a01b03908116911614611af1576040805162461bcd60e51b81526020600482018190526024820152600080516020614ce7833981519152604482015290519081900360640190fd5b611af961142d565b611b4083611b3a6101648781548110611b0e57fe5b6000918252602090912060029091020154610167549063ffffffff600160b01b909104811690612db516565b90613b0d565b6101675560408051808201909152601d81527f564c504d696e696e673a20746f6f2062696720616c6c6f636174696f6e0000006020820152611b839084906139ed565b6101648581548110611b9157fe5b906000526020600020906002020160000160166101000a81548163ffffffff021916908363ffffffff160217905550806101648581548110611bcf57fe5b906000526020600020906002020160000160146101000a81548160ff021916908315150217905550816101648581548110611c0657fe5b906000526020600020906002020160000160156101000a81548160ff021916908360ff160217905550836101648581548110611c3e57fe5b6000918252602091829020600290910201546040805187815290516001600160a01b03909216927f0e6fb68a420d604687d312365a9cb09a342eecccc96c0dc3283dbdbb070ce10392918290030190a350505050565b6001600160a01b038116600090815261012d6020526040812081908190611cba90613b67565b91509150816001600160c01b031660001415611cdb57600092505050611a30565b30600090815261012d60205260408120611cf490613b67565b5030600090815261012d6020526040812091925090611d1e9063ffffffff80861690849061366b16565b509050611d2c8483836137cf565b9695505050505050565b6101666020908152600092835260408084209091529082529020805460019091015463ffffffff80831692600160201b8104909116916001600160601b03600160401b8304811692600160a01b9004169085565b600054610100900460ff1680611da35750611da3613c02565b80611db1575060005460ff16155b611dec5760405162461bcd60e51b815260040180806020018281038252602e815260200180614d07602e913960400191505060405180910390fd5b600054610100900460ff16158015611e17576000805460ff1961ff0019909116610100171660011790555b611e1f613c08565b611e27613cb9565b61016180546001600160a01b038089166001600160a01b03199283161790925561016280549288169290911691909117905560408051808201909152601d81527f564c504d696e696e673a20746f6f20626967207374617274426c6f636b0000006020820152611e989084906139ed565b61016260186101000a81548163ffffffff021916908363ffffffff160217905550611ef8826040518060400160405280601e81526020017f564c504d696e696e673a20746f6f20626967207665737420706572696f6400008152506139ed565b61016260146101000a81548163ffffffff021916908363ffffffff160217905550611f2284611832565b8015611f34576000805461ff00191690555b505050505050565b610161546001600160a01b031681565b60975460ff16611f91576040805162461bcd60e51b815260206004820152601f6024820152600080516020614c34833981519152604482015290519081900360640190fd5b6097805460ff19169055611fa4826128ce565b611fac612925565b60006101648381548110611fbc57fe5b6000918252602080832086845261016682526040808520338652909252922060029091029091019150611fee826129ff565b611ffc818360010154612b99565b821561202e578154612019906001600160a01b0316333086613d67565b60018101546120289084613b0d565b60018201555b61204081600101548360010154612e4e565b81546001600160601b0391909116600160a01b026001600160a01b03909116178155604080518481529051859133917f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159181900360200190a3610d1233612ea1565b6101696020526000908152604090205481565b6120bd61287c565b6065546001600160a01b0390811691161461210d576040805162461bcd60e51b81526020600482018190526024820152600080516020614ce7833981519152604482015290519081900360640190fd5b612116836119d1565b15612168576040805162461bcd60e51b815260206004820152601e60248201527f564c504d696e696e673a20746f6b656e20616c72656164792061646465640000604482015290519081900360640190fd5b61217061142d565b600061217a613dc7565b6101625490915060009063ffffffff600160c01b9091048116908316116121b15761016254600160c01b900463ffffffff166121b3565b815b610167549091506121c49087613b0d565b6101678190555060006101648054905090506101646040518060c00160405280886001600160a01b0316815260200186151581526020018760ff1681526020016122438a6040518060400160405280601d81526020017f564c504d696e696e673a20746f6f2062696720616c6c6f636174696f6e0000008152506139ed565b63ffffffff90811682528581166020808401919091526000604093840181905285546001808201885596825282822086516002909202018054878501518888015160608a015160808b01516001600160a01b03199094166001600160a01b039687161760ff60a01b1916600160a01b931515939093029290921760ff60a81b1916600160a81b60ff909216919091021763ffffffff60b01b1916600160b01b918816919091021763ffffffff60d01b1916600160d01b919096160294909417845560a090950151929095019190915591891680845261016583529281902084905580518a815290518493927f4ca3b1f4222c9ac99ea2eb1c68764056287a101a2f63d81e21c3a7ccfcef36e4928290030190a350505050505050565b610163546001600160601b031681565b61237761287c565b6065546001600160a01b039081169116146123c7576040805162461bcd60e51b81526020600482018190526024820152600080516020614ce7833981519152604482015290519081900360640190fd5b6001600160a01b03811661240c5760405162461bcd60e51b8152600401808060200182810382526026815260200180614c546026913960400191505060405180910390fd5b6065546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3606580546001600160a01b0319166001600160a01b0392909216919091179055565b6101656020526000908152604090205481565b600080612486613dc7565b9050826080015163ffffffff168163ffffffff1611156125a85760808301805163ffffffff8381169092528451604080516370a0823160e01b81523060048201529051928503909316926000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561250557600080fd5b505afa158015612519573d6000803e3d6000fd5b505050506040513d602081101561252f57600080fd5b5051905080156125a5576101675460608601516101635461257c92916125769163ffffffff918216916125709188916001600160601b0390911690613e0d16565b90613e0d565b90613e66565b935061259f612594826125768764e8d4a51000613e0d565b60a087015190613b0d565b60a08601525b50505b50919050565b815160009081906125bd613dc7565b63ffffffff908116808752908216106125dd576000809250925050612875565b60008186600001510390506125fb86608001518760600151876138f9565b6001600160601b031693506000841561263f576101625461263a9063ffffffff600160a01b9091048116840181169061257690889086811690613e0d16565b612642565b60005b9050600087604001516001600160601b03169050876020015163ffffffff16886000015163ffffffff16101561267c57875184900361268e565b61016254600160a01b900463ffffffff165b9250600081156126e9576101625463ffffffff600160a01b909104811690851610156126e2576126dd858a602001510363ffffffff166125768663ffffffff1685613e0d90919063ffffffff16565b6126e4565b815b6126ec565b60005b90506126f88184613b0d565b9550612762612727876127218a8d604001516001600160601b0316613b0d90919063ffffffff16565b90612db5565b6040518060400160405280601b81526020017f564c504d696e696e673a3a636f6d70757465437670566573743a310000000000815250613a87565b6001600160601b031660408a015260008215612787576127828383612db5565b61278a565b60005b9050600088156127a35761279e8986612db5565b6127a6565b60005b905060006127b48383613b0d565b905060008315806127c3575081155b156127df575061016254600160a01b900463ffffffff1661282b565b8c5160208e01516101625491900398506128289083906125769061281590879063ffffffff600160a01b909104811690613e0d16565b611b3a8863ffffffff808f1690613e0d16565b90505b6101625463ffffffff808316600160a01b909204161161285b5761016254600160a01b900463ffffffff1661285d565b805b8d510163ffffffff1660208e01525050505050505050505b9250929050565b3390565b6001600160a01b038216600090815261012d6020526040812081906128ae9063ffffffff80861690613ea816565b909590945092505050565b6001600160601b03606082901c811692911690565b61016454811061137a576040805162461bcd60e51b815260206004820152601a60248201527f564c504d696e696e673a20696e76616c696420706f6f6c206964000000000000604482015290519081900360640190fd5b3260009081526101696020526040902054431161297a576040805162461bcd60e51b815260206004820152600e60248201526d29a0a6a2afaa2c2fa7a924a3a4a760911b604482015290519081900360640190fd5b3260008181526101696020526040902043905533146129fd57336000908152610169602052604090205443116129e9576040805162461bcd60e51b815260206004820152600f60248201526e29a0a6a2afa6a9a3afa9a2a72222a960891b604482015290519081900360640190fd5b336000908152610169602052604090204390555b565b612a07614b99565b506040805160c08101825282546001600160a01b038116825260ff600160a01b8204811615156020840152600160a81b8204169282019290925263ffffffff600160b01b830481166060830152600160d01b90920490911660808201819052600183015460a083018190526000612a7d8461247b565b90508015612b3e57612b16612ac7826040518060400160405280601a81526020017f564c504d696e696e673a3a5f646f506f6f6c5570646174653a31000000000000815250613a87565b60408051808201909152601a81527f564c504d696e696e673a3a5f646f506f6f6c5570646174653a32000000000000602082015261016154600160a01b90046001600160601b03169190613ee0565b61016160146101000a8154816001600160601b0302191690836001600160601b031602179055505b818460a001511115612b555760a084015160018601555b8263ffffffff16846080015163ffffffff161115612b92576080840151855463ffffffff909116600160d01b0263ffffffff60d01b199091161785555b5050505050565b612ba1614bce565b506040805160a081018252835463ffffffff808216808452600160201b8304909116602084018190526001600160601b03600160401b8404811695850195909552600160a01b9092049093166060830152600185015460808301529091600080612c0b85876125ae565b9150915081600014612c4c57604085015187546001600160601b03909116600160401b0273ffffffffffffffffffffffff0000000000000000199091161787555b8015612d455761016154600160a01b90046001600160601b0316811115612c83575061016154600160a01b90046001600160601b03165b612d14612cc5826040518060400160405280601981526020017f564c504d696e696e673a3a5f76657374557365724376703a3100000000000000815250613a87565b60408051808201909152601981527f564c504d696e696e673a3a5f76657374557365724376703a3200000000000000602082015261016154600160a01b90046001600160601b03169190613f4a565b61016160146101000a8154816001600160601b0302191690836001600160601b03160217905550612d453382613fb7565b8363ffffffff16856020015163ffffffff161115612d83576020850151875463ffffffff909116600160201b0267ffffffff00000000199091161787555b845163ffffffff80851691161115612dac578451875463ffffffff191663ffffffff9091161787555b50505050505050565b60006115bf83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613fd7565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612e49908490614029565b505050565b60006115bf612e6664e8d4a510006125768686613e0d565b6040518060400160405280601981526020017f564c504d696e696e673a3a5f636f6d7075746543767041646a00000000000000815250613a87565b6101645460008080805b84811015613369576000818152610166602090815260408083206001600160a01b038a168452909152902054612ef4906001600160601b0386811691600160401b9004166139ab565b935060006101648281548110612f0657fe5b60009182526020808320600290920290910180546001600160a01b03908116808552610168909352604084205491945016806130105761016154604080516370a0823160e01b81526001600160a01b0385811660048301529151612ff49392909216916370a0823191602480820192602092909190829003018186803b158015612f8f57600080fd5b505afa158015612fa3573d6000803e3d6000fd5b505050506040513d6020811015612fb957600080fd5b505160408051808201909152601f81527f564c504d696e696e673a3a5f646f436865636b706f696e74566f7465733a31006020820152613a87565b92506130096001600160601b038716846139ab565b95506131e4565b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561304b57600080fd5b505afa15801561305f573d6000803e3d6000fd5b505050506040513d602081101561307557600080fd5b5051604080516370a0823160e01b81526001600160a01b0386811660048301529151929350600092918516916370a0823191602480820192602092909190829003018186803b1580156130c757600080fd5b505afa1580156130db573d6000803e3d6000fd5b505050506040513d60208110156130f157600080fd5b50519050600061310a836125768464e8d4a51000613e0d565b61016154604080516370a0823160e01b81526001600160a01b038881166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561315e57600080fd5b505afa158015613172573d6000803e3d6000fd5b505050506040513d602081101561318857600080fd5b505190506131dd6131a264e8d4a510006125768486613e0d565b6040518060400160405280601f81526020017f564c504d696e696e673a3a5f646f436865636b706f696e74566f7465733a3100815250613a87565b9650505050505b8354600160a01b900460ff166131fd5750505050613361565b8354604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561324157600080fd5b505afa158015613255573d6000803e3d6000fd5b505050506040513d602081101561326b57600080fd5b810190808051906020019092919050505090506000610166600088815260200190815260200160002060008d6001600160a01b03166001600160a01b03168152602001908152602001600020600101549050806000141580156132cd57508115155b1561335a5760006132f0836125766001600160601b03891664e8d4a51000613e0d565b9050600061330764e8d4a510006125768585613e0d565b90506133138b82613b0d565b9a50888e6001600160a01b03167f84f3863b4a309d20b83ad6a41ab2860bf0603f2e4cdab881907e7a847276a661836040518082815260200191505060405180910390a350505b5050505050505b600101612eab565b50600082158061338057506001600160601b038216155b6133e3576133de6133a36001600160601b0384166125768664e8d4a51000613e0d565b6040518060400160405280601f81526020017f564c504d696e696e673a3a5f646f436865636b706f696e74566f7465733a3200815250613a87565b6133e6565b60005b604080516001600160601b038516815290519192507fa51ed239c57bb58dd90b5196b2a3a35e8254954f924d0a8eed8e68460d90254f919081900360200190a1604080516001600160601b0380871682528316602082015281516001600160a01b038916927ff55c0f893af4049399318f4399e95624341f7d36e6958902eb15a73ab771c14f928290030190a26134868661348186846141e1565b614205565b611f346134948360006141e1565b6142df565b80158061351f575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156134f157600080fd5b505afa158015613505573d6000803e3d6000fd5b505050506040513d602081101561351b57600080fd5b5051155b61355a5760405162461bcd60e51b8152600401808060200182810382526036815260200180614d8f6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612e49908490614029565b60006115bf83836040518060400160405280602081526020017f536166654d61746839363a207375627472616374696f6e206f766572666c6f77815250613f4a565b6001600160a01b03808316600081815261012d60205260408082208054868616600160401b81810268010000000000000000600160e01b03198416179093559251919004909416939092849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4612e498382846142f9565b600080600061367985614443565b9050613683614bfc565b5060408051606081018252875463ffffffff8082168352600160201b8204166020830152600160401b90046001600160a01b0316918101919091526136c6614c1c565b851561379057815163ffffffff16861115613728576040805162461bcd60e51b815260206004820152601f60248201527f4368506f696e74733a20696e76616c696420636865636b706f696e7420696400604482015290519081900360640190fd5b5063ffffffff8581166000908152600189016020908152604091829020825180840190935254808416808452600160201b9091046001600160c01b03169183019190915290918791908516141561378e57506020810151905190945092506137c7915050565b505b6000806137a28a8560000151876144a2565b63ffffffff918216600090815260018d01602052604090205490985016955050505050505b935093915050565b60008060006137dd866128b9565b9150915060006137ec866128b9565b50905060006137fa866128b9565b5090506001600160601b038316613813578394506138ee565b600061383464e8d4a510006125766001600160601b03878116908716613e0d565b9050816001600160601b0316836001600160601b0316146138985760006138716001600160601b038085169061257690871664e8d4a51000613e0d565b905064e8d4a5100081111561389657613893816125768464e8d4a51000613e0d565b91505b505b6138ea6138da826040518060400160405280601881526020017f564c504d696e696e673a3a5f636f6d70757465566f7465730000000000000000815250613a87565b6001600160601b038716906139ab565b9550505b505050509392505050565b600083156139a15760408051808201909152601781527f564c504d696e696e673a3a636f6d707574654376703a32000000000000000000602082015261399c90849061398c61395164e8d4a510006125768a89613e0d565b6040518060400160405280601781526020017f564c504d696e696e673a3a636f6d707574654376703a31000000000000000000815250613a87565b6001600160601b03169190613f4a565b611506565b6000949350505050565b60006115bf83836040518060400160405280601d81526020017f536166654d61746839363a206164646974696f6e206f766572666c6f77000000815250613ee0565b600081600160201b8410613a7f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613a44578181015183820152602001613a2c565b50505050905090810190601f168015613a715780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509192915050565b600081600160601b8410613a7f5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315613a44578181015183820152602001613a2c565b6000806000613aea84614443565b855490915063ffffffff16613b008682846144a2565b9097909650945050505050565b6000828201838110156115bf576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080613b72614bfc565b5060408051606081018252845463ffffffff808216808452600160201b83049091166020840152600160401b9091046001600160a01b0316928201929092529015613bf457805163ffffffff908116600090815260018601602052604080822054845184168352912054600160201b9091046001600160c01b03169116613bf8565b6000805b9250925050915091565b303b1590565b600054610100900460ff1680613c215750613c21613c02565b80613c2f575060005460ff16155b613c6a5760405162461bcd60e51b815260040180806020018281038252602e815260200180614d07602e913960400191505060405180910390fd5b600054610100900460ff16158015613c95576000805460ff1961ff0019909116610100171660011790555b613c9d61463a565b613ca56146da565b801561137a576000805461ff001916905550565b600054610100900460ff1680613cd25750613cd2613c02565b80613ce0575060005460ff16155b613d1b5760405162461bcd60e51b815260040180806020018281038252602e815260200180614d07602e913960400191505060405180910390fd5b600054610100900460ff16158015613d46576000805460ff1961ff0019909116610100171660011790555b6097805460ff19166001179055801561137a576000805461ff001916905550565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052613dc1908590614029565b50505050565b6000613e08436040518060400160405280601e81526020017f564c504d696e696e673a3a5f63757272426c6f636b3a6f766572666c6f7700008152506139ed565b905090565b600082613e1c57506000610a64565b82820282848281613e2957fe5b04146115bf5760405162461bcd60e51b8152600401808060200182810382526021815260200180614cc66021913960400191505060405180910390fd5b60006115bf83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506147d3565b600080821580613ebe5750835463ffffffff1683115b613ed157613ecc8484614838565b613ed5565b6000805b915091509250929050565b6000838301826001600160601b038087169083161015613f415760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315613a44578181015183820152602001613a2c565b50949350505050565b6000836001600160601b0316836001600160601b031611158290613faf5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315613a44578181015183820152602001613a2c565b505050900390565b610161546101625461144d916001600160a01b0390811691168484613d67565b60008184841115613faf5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315613a44578181015183820152602001613a2c565b61403b826001600160a01b031661486c565b61408c576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106140ca5780518252601f1990920191602091820191016140ab565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461412c576040519150601f19603f3d011682016040523d82523d6000602084013e614131565b606091505b509150915081614188576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115613dc1578080602001905160208110156141a457600080fd5b5051613dc15760405162461bcd60e51b815260040180806020018281038252602a815260200180614d35602a913960400191505060405180910390fd5b6001600160601b031660609190911b6bffffffffffffffffffffffff60601b161790565b6001600160a01b03808316600090815261012d6020526040812080549092600160401b90910416908115614251576001600160a01b038216600090815261012d60205260409020614253565b825b9050600061426082613b67565b506001600160a01b038716600090815261012e602052604090205490915061429f9061429890839088906001600160c01b03166148a5565b8390614903565b505050506001600160a01b0392909216600090815261012e6020526040902080546001600160c01b0319166001600160c01b039290921691909117905550565b30600090815261012d6020526040902061144d9082614903565b6000806001600160a01b0384166143335750506001600160a01b03808416600090815261012d60205260408082209284168252902061438f565b6001600160a01b03831661436a5750506001600160a01b03808316600090815261012d60205260408082209286168252902061438f565b50506001600160a01b03808316600090815261012d6020526040808220928416825290205b6001600160a01b038516600090815261012e60205260408120546001600160c01b0316906143bc84613b67565b50905060006143cd826000856148a5565b9050806001600160c01b0316826001600160c01b0316146143f4576143f28582614903565b505b60006143ff85613b67565b5090506000614410828660006148a5565b9050806001600160c01b0316826001600160c01b031614614437576144358682614903565b505b50505050505050505050565b6000438210614499576040805162461bcd60e51b815260206004820152601d60248201527f4368506f696e74733a20626c6f636b206e6f7420796574206d696e6564000000604482015290519081900360640190fd5b610a6482614a7e565b6000806144ad614c1c565b63ffffffff85166144c55760008092509250506137c7565b5063ffffffff8481166000908152600187016020908152604091829020825180840190935254808416808452600160201b9091046001600160c01b0316918301919091529091851610614520576020015184925090506137c7565b60016000818152908701602052604090205463ffffffff8086169116111561454f5760008092509250506137c7565b6001855b8163ffffffff168163ffffffff161115614602576000600263ffffffff8484031604820363ffffffff818116600090815260018c016020908152604091829020825180840190935254808416808452600160201b9091046001600160c01b031691830191909152909650919250881614156145db5780846020015195509550505050506137c7565b835163ffffffff808916911610156145f5578092506145fc565b6001810391505b50614553565b5063ffffffff811660009081526001880160205260409020549093506001600160c01b03600160201b90910416915050935093915050565b600054610100900460ff16806146535750614653613c02565b80614661575060005460ff16155b61469c5760405162461bcd60e51b815260040180806020018281038252602e815260200180614d07602e913960400191505060405180910390fd5b600054610100900460ff16158015613ca5576000805460ff1961ff001990911661010017166001179055801561137a576000805461ff001916905550565b600054610100900460ff16806146f357506146f3613c02565b80614701575060005460ff16155b61473c5760405162461bcd60e51b815260040180806020018281038252602e815260200180614d07602e913960400191505060405180910390fd5b600054610100900460ff16158015614767576000805460ff1961ff0019909116610100171660011790555b600061477161287c565b606580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350801561137a576000805461ff001916905550565b600081836148225760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315613a44578181015183820152602001613a2c565b50600083858161482e57fe5b0495945050505050565b63ffffffff908116600090815260019290920160205260409091205490811691600160201b9091046001600160c01b031690565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590611506575050151592915050565b60008060006148b3866128b9565b915091506000806148c3876128b9565b915091506000806148d3886128b9565b915091506148f56148e5878685614adc565b6148f0878685614adc565b6141e1565b9a9950505050505050505050565b60008061490f43614a7e565b9050614919614bfc565b5060408051606081018252855463ffffffff808216808452600160201b83049091166020840152600160401b9091046001600160a01b03169282019290925290600090614967576000614991565b815163ffffffff166000908152600187016020526040902054600160201b90046001600160c01b03165b90506000816001600160c01b0316866001600160c01b0316141590508363ffffffff16836020015163ffffffff16146149fc57508151600190810163ffffffff908116808552885463ffffffff19161767ffffffff000000001916600160201b918616919091021787555b8015614a735760408051808201825263ffffffff86811682526001600160c01b03898116602080850191825288518416600090815260018e019091529490942092518354945163ffffffff19909516921691909117640100000000600160e01b031916600160201b93909116929092029190911790555b505051949350505050565b6000600160201b8210614ad8576040805162461bcd60e51b815260206004820152601b60248201527f4368506f696e74733a20626c6f636b4e756d203e3d20322a2a33320000000000604482015290519081900360640190fd5b5090565b6000816001600160601b0316836001600160601b03161415614aff5750826115bf565b816001600160601b0316836001600160601b03161115614b4657614b3f614b2f6001600160601b038516846135ac565b6001600160601b038616906139ab565b90506115bf565b6000614b5b6001600160601b038416856135ac565b9050806001600160601b0316856001600160601b031611614b7d576000614b90565b614b906001600160601b038616826135ac565b95945050505050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b604080516060810182526000808252602082018190529181019190915290565b60408051808201909152600080825260208201529056fe5265656e7472616e637947756172643a207265656e7472616e742063616c6c004f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373564c504d696e696e673a20746f6f206269672063767056657374696e67506572696f64496e426c6f636b73564c504d696e696e673a20616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65645361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656464656c65676174653a2063616e27742064656c656761746520746f2074686520636f6e747261637420616464726573735361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a2646970667358221220d6417392f1c78f6ec75c1b71f95adc7e6bc4d41438569174fcb1e0def5c1de8064736f6c634300060c0033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061025e5760003560e01c80637ca8146011610146578063b0b65ddb116100c3578063e2bbb15811610087578063e2bbb15814610814578063e99f5b8014610837578063f095105a1461085d578063f247c4b01461089a578063f2fde38b146108a2578063f3f14ed0146108c85761025e565b8063b0b65ddb14610706578063b4b5ea571461073a578063b9d02df414610760578063d13f90b4146107ca578063d8f14f2b1461080c5761025e565b806394f70aca1161010a57806394f70aca146105db5780639c954c9d146105f8578063a153d96514610615578063ab85cfe41461066a578063ac4afa38146106a45761025e565b80637ca81460146105415780637cd07e4714610597578063866bf7ae1461059f5780638da5cb5b146105a75780638e782f4d146105af5761025e565b8063454b0608116101df5780635c19a95c116101a35780635c19a95c146104715780635c2ef9a314610497578063630b5ba1146104c55780636aa7098c146104cd578063715018a61461050d578063782d6fe1146105155761025e565b8063454b0608146103d357806348cd4cb1146103f057806351eb05a6146104115780635312ea8e1461042e57806356b2ed531461044b5761025e565b80631e31d053116102265780631e31d053146102fb57806323cf31181461030357806334940fa81461032b578063430bf6df1461038c578063441a3e70146103b05761025e565b80630795debe14610263578063081e3eda146102a5578063151e6aa5146102bf57806317caf6f1146102c75780631db56032146102cf575b600080fd5b6102896004803603602081101561027957600080fd5b50356001600160a01b03166108ee565b604080516001600160a01b039092168252519081900360200190f35b6102ad61090a565b60408051918252519081900360200190f35b610289610911565b6102ad610921565b6102ad600480360360408110156102e557600080fd5b50803590602001356001600160a01b0316610928565b610289610a6a565b6103296004803603602081101561031957600080fd5b50356001600160a01b0316610a8e565b005b61035d6004803603604081101561034157600080fd5b5080356001600160a01b0316906020013563ffffffff16610b39565b6040805163ffffffff90941684526001600160601b039283166020850152911682820152519081900360600190f35b610394610b64565b604080516001600160601b039092168252519081900360200190f35b610329600480360360408110156103c657600080fd5b5080359060200135610b7b565b610329600480360360208110156103e957600080fd5b5035610d25565b6103f8611067565b6040805163ffffffff9092168252519081900360200190f35b6103296004803603602081101561042757600080fd5b503561107b565b6103296004803603602081101561044457600080fd5b5035611107565b6103296004803603602081101561046157600080fd5b50356001600160a01b03166112c0565b6103296004803603602081101561048757600080fd5b50356001600160a01b0316611328565b610329600480360360408110156104ad57600080fd5b506001600160a01b038135811691602001351661137d565b61032961142d565b610394600480360360808110156104e357600080fd5b506001600160a01b038135169060208101359063ffffffff60408201358116916060013516611451565b61032961150e565b6103946004803603604081101561052b57600080fd5b506001600160a01b0381351690602001356115b0565b6105676004803603602081101561055757600080fd5b50356001600160a01b03166115c6565b6040805163ffffffff94851681529290931660208301526001600160a01b03168183015290519081900360600190f35b6102896115fd565b6103f8611614565b610289611628565b6102ad600480360360408110156105c557600080fd5b50803590602001356001600160a01b0316611637565b610329600480360360208110156105f157600080fd5b503561175c565b6103296004803603602081101561060e57600080fd5b5035611832565b6106416004803603604081101561062b57600080fd5b506001600160a01b038135169060200135611926565b604051808363ffffffff1681526020018263ffffffff1681526020019250505060405180910390f35b6106906004803603602081101561068057600080fd5b50356001600160a01b03166119d1565b604080519115158252519081900360200190f35b6106c1600480360360208110156106ba57600080fd5b5035611a35565b604080516001600160a01b039097168752941515602087015260ff9093168585015263ffffffff918216606086015216608084015260a0830152519081900360c00190f35b6103296004803603608081101561071c57600080fd5b5080359060208101359060ff60408201351690606001351515611a99565b6103946004803603602081101561075057600080fd5b50356001600160a01b0316611c94565b61078c6004803603604081101561077657600080fd5b50803590602001356001600160a01b0316611d36565b6040805163ffffffff96871681529490951660208501526001600160601b039283168486015291166060830152608082015290519081900360a00190f35b610329600480360360a08110156107e057600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060800135611d8a565b610289611f3c565b6103296004803603604081101561082a57600080fd5b5080359060200135611f4c565b6102ad6004803603602081101561084d57600080fd5b50356001600160a01b03166120a2565b6103296004803603608081101561087357600080fd5b508035906001600160a01b036020820135169060ff604082013516906060013515156120b5565b61039461235f565b610329600480360360208110156108b857600080fd5b50356001600160a01b031661236f565b6102ad600480360360208110156108de57600080fd5b50356001600160a01b0316612468565b610168602052600090815260409020546001600160a01b031681565b6101645490565b610162546001600160a01b031681565b6101675481565b6000610932614b99565b610164848154811061094057fe5b60009182526020918290206040805160c081018252600290930290910180546001600160a01b038116845260ff600160a01b82048116151595850195909552600160a81b81049094169183019190915263ffffffff600160b01b840481166060840152600160d01b909304909216608082015260019091015460a082015290506109c8614bce565b506000848152610166602090815260408083206001600160a01b0387168452825291829020825160a081018452815463ffffffff8082168352600160201b820416938201939093526001600160601b03600160401b8404811694820194909452600160a01b90920490921660608201526001909101546080820152610a4c8261247b565b506000610a5d828460a001516125ae565b9450505050505b92915050565b33600090815261012d6020526040902054600160401b90046001600160a01b031690565b610a9661287c565b6065546001600160a01b03908116911614610ae6576040805162461bcd60e51b81526020600482018190526024820152600080516020614ce7833981519152604482015290519081900360640190fd5b61016380546001600160601b0316600160601b6001600160a01b038416908102919091179091556040517ff40543f3e605deae7fbca26db18ff1de07eda2925d68655836eae4c167444e3290600090a250565b600080600080610b498686612880565b9094509050610b57816128b9565b9497909650939450505050565b61016154600160a01b90046001600160601b031681565b60975460ff16610bc0576040805162461bcd60e51b815260206004820152601f6024820152600080516020614c34833981519152604482015290519081900360640190fd5b6097805460ff19169055610bd3826128ce565b610bdb612925565b60006101648381548110610beb57fe5b60009182526020808320868452610166825260408085203386529092529220600181015460029092029092019250831115610c575760405162461bcd60e51b8152600401808060200182810382526021815260200180614ca56021913960400191505060405180910390fd5b610c60826129ff565b610c6e818360010154612b99565b8215610c9e576001810154610c839084612db5565b60018201558154610c9e906001600160a01b03163385612df7565b610cb081600101548360010154612e4e565b81546001600160601b0391909116600160a01b026001600160a01b03909116178155604080518481529051859133917ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5689181900360200190a3610d1233612ea1565b50506097805460ff191660011790555050565b60975460ff16610d6a576040805162461bcd60e51b815260206004820152601f6024820152600080516020614c34833981519152604482015290519081900360640190fd5b6097805460ff1916905561016354600160601b90046001600160a01b0316610dd2576040805162461bcd60e51b81526020600482015260166024820152752b262826b4b734b7339d1037379036b4b3b930ba37b960511b604482015290519081900360640190fd5b60006101648281548110610de257fe5b6000918252602080832060029092029091018054604080516370a0823160e01b815230600482015290519295506001600160a01b03909116939284926370a08231926024808201939291829003018186803b158015610e4057600080fd5b505afa158015610e54573d6000803e3d6000fd5b505050506040513d6020811015610e6a57600080fd5b505161016354909150610e91906001600160a01b0384811691600160601b90041683613499565b61016354835460408051633b2c6a9560e01b81526001600160a01b038681166004830152600160a81b90930460ff1660248201529051600093600160601b900490921691633b2c6a959160448082019260209290919082900301818787803b158015610efc57600080fd5b505af1158015610f10573d6000803e3d6000fd5b505050506040513d6020811015610f2657600080fd5b5051604080516370a0823160e01b815230600482015290519192506001600160a01b038316916370a0823191602480820192602092909190829003018186803b158015610f7257600080fd5b505afa158015610f86573d6000803e3d6000fd5b505050506040513d6020811015610f9c57600080fd5b50518214610ff1576040805162461bcd60e51b815260206004820152601c60248201527f564c504d696e696e673a20696e76616c6964206d6967726174696f6e00000000604482015290519081900360640190fd5b83546001600160a01b0319166001600160a01b03828116918217865584166000818152610165602052604080822082905583825280822089905551889392917f98c9138ebd4290b5695f6b81a272faa7d3f9e8edc5d6fef5b4417541fea85f5491a450506097805460ff19166001179055505050565b61016254600160c01b900463ffffffff1681565b60975460ff166110c0576040805162461bcd60e51b815260206004820152601f6024820152600080516020614c34833981519152604482015290519081900360640190fd5b6097805460ff19169055610164805460009190839081106110dd57fe5b906000526020600020906002020190506110f6816129ff565b50506097805460ff19166001179055565b60975460ff1661114c576040805162461bcd60e51b815260206004820152601f6024820152600080516020614c34833981519152604482015290519081900360640190fd5b6097805460ff1916905561115f816128ce565b611167612925565b6000610164828154811061117757fe5b60009182526020808320858452610166825260408085203380875293529093206001810154600290930290930180549094506111c0926001600160a01b03919091169190612df7565b60018101546040805191825251849133917fbb757047c2b5f3974fe26b7c10f732e7bce710b0952a71082702781e62ae05959181900360200190a38054600160401b90046001600160601b03161561129457610161548154600160a01b9091046001600160601b03908116600160401b90920416116112695780546101615461126491600160a01b9091046001600160601b0390811691600160401b9004166135ac565b61126c565b60005b61016160146101000a8154816001600160601b0302191690836001600160601b031602179055505b60006001820155805463ffffffff1681556112ae33612ea1565b50506097805460ff1916600117905550565b60975460ff16611305576040805162461bcd60e51b815260206004820152601f6024820152600080516020614c34833981519152604482015290519081900360640190fd5b6097805460ff1916905561131881612ea1565b506097805460ff19166001179055565b6001600160a01b0381163014156113705760405162461bcd60e51b8152600401808060200182810382526030815260200180614d5f6030913960400191505060405180910390fd5b61137a33826135ee565b50565b61138561287c565b6065546001600160a01b039081169116146113d5576040805162461bcd60e51b81526020600482018190526024820152600080516020614ce7833981519152604482015290519081900360640190fd5b6001600160a01b038281166000818152610168602052604080822080546001600160a01b0319169486169485179055517fb7b89eb0ea057d36260d49cabb87830afa2a5fcfe748fe2ae71de060b6410f939190a35050565b6101645460005b8181101561144d576114458161107b565b600101611434565b5050565b6001600160a01b038416600090815261012d6020526040812081908190611482908763ffffffff8089169061366b16565b91509150816001600160c01b0316600014156114a357600092505050611506565b30600090815261012d602052604081206114c7908863ffffffff8089169061366b16565b5030600090815261012d60205260408120919250906114f19063ffffffff80861690849061366b16565b5090506114ff8483836137cf565b9450505050505b949350505050565b61151661287c565b6065546001600160a01b03908116911614611566576040805162461bcd60e51b81526020600482018190526024820152600080516020614ce7833981519152604482015290519081900360640190fd5b6065546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3606580546001600160a01b0319169055565b60006115bf8383600080611451565b9392505050565b61012d6020526000908152604090205463ffffffff80821691600160201b810490911690600160401b90046001600160a01b031683565b61016354600160601b90046001600160a01b031681565b61016254600160a01b900463ffffffff1681565b6065546001600160a01b031690565b61016454600090831061164c57506000610a64565b611654614b99565b610164848154811061166257fe5b600091825260208083206040805160c081018252600290940290910180546001600160a01b03808216865260ff600160a01b83048116151587870152600160a81b8304168685015263ffffffff600160b01b830481166060880152600160d01b909204909116608086015260019091015460a0850152888552610166835281852090881685529091529091209091506116fa8261247b565b50600061172782600101548360000160149054906101000a90046001600160601b03168560a001516138f9565b8254909150611749906001600160601b0380841691600160401b9004166139ab565b6001600160601b03169695505050505050565b61176461287c565b6065546001600160a01b039081169116146117b4576040805162461bcd60e51b81526020600482018190526024820152600080516020614ce7833981519152604482015290519081900360640190fd5b6117d6816040518060600160405280602b8152602001614c7a602b91396139ed565b610162805463ffffffff92909216600160a01b0263ffffffff60a01b199092169190911790556040805182815290517fb6d927d1177d65639186d960a1926f0aa9cd35eca2b1b244e62f50fe3bff99a09181900360200190a150565b61183a61287c565b6065546001600160a01b0390811691161461188a576040805162461bcd60e51b81526020600482018190526024820152600080516020614ce7833981519152604482015290519081900360640190fd5b6118c9816040518060400160405280601e81526020017f564c504d696e696e673a20746f6f2062696720637670506572426c6f636b0000815250613a87565b61016380546bffffffffffffffffffffffff19166001600160601b03929092169190911790556040805182815290517f11d360a0021a6a2561238805127962df1163ba47bfd43d6936083b0e0029c88d916020908290030190a150565b6000806001600160a01b038416611984576040805162461bcd60e51b815260206004820152601d60248201527f66696e64436865636b706f696e74733a207a65726f206163636f756e74000000604482015290519081900360640190fd5b6001600160a01b038416600090815261012d602052604090206119a79084613adc565b5030600090815261012d602052604090209092506119c59084613adc565b50809150509250929050565b6001600160a01b038116600090815261016560205260408120546101645481108015611a2c5750826001600160a01b03166101648281548110611a1057fe5b60009182526020909120600290910201546001600160a01b0316145b9150505b919050565b6101648181548110611a4357fe5b6000918252602090912060029091020180546001909101546001600160a01b038216925060ff600160a01b8304811692600160a81b81049091169163ffffffff600160b01b8304811692600160d01b9004169086565b611aa161287c565b6065546001600160a01b03908116911614611af1576040805162461bcd60e51b81526020600482018190526024820152600080516020614ce7833981519152604482015290519081900360640190fd5b611af961142d565b611b4083611b3a6101648781548110611b0e57fe5b6000918252602090912060029091020154610167549063ffffffff600160b01b909104811690612db516565b90613b0d565b6101675560408051808201909152601d81527f564c504d696e696e673a20746f6f2062696720616c6c6f636174696f6e0000006020820152611b839084906139ed565b6101648581548110611b9157fe5b906000526020600020906002020160000160166101000a81548163ffffffff021916908363ffffffff160217905550806101648581548110611bcf57fe5b906000526020600020906002020160000160146101000a81548160ff021916908315150217905550816101648581548110611c0657fe5b906000526020600020906002020160000160156101000a81548160ff021916908360ff160217905550836101648581548110611c3e57fe5b6000918252602091829020600290910201546040805187815290516001600160a01b03909216927f0e6fb68a420d604687d312365a9cb09a342eecccc96c0dc3283dbdbb070ce10392918290030190a350505050565b6001600160a01b038116600090815261012d6020526040812081908190611cba90613b67565b91509150816001600160c01b031660001415611cdb57600092505050611a30565b30600090815261012d60205260408120611cf490613b67565b5030600090815261012d6020526040812091925090611d1e9063ffffffff80861690849061366b16565b509050611d2c8483836137cf565b9695505050505050565b6101666020908152600092835260408084209091529082529020805460019091015463ffffffff80831692600160201b8104909116916001600160601b03600160401b8304811692600160a01b9004169085565b600054610100900460ff1680611da35750611da3613c02565b80611db1575060005460ff16155b611dec5760405162461bcd60e51b815260040180806020018281038252602e815260200180614d07602e913960400191505060405180910390fd5b600054610100900460ff16158015611e17576000805460ff1961ff0019909116610100171660011790555b611e1f613c08565b611e27613cb9565b61016180546001600160a01b038089166001600160a01b03199283161790925561016280549288169290911691909117905560408051808201909152601d81527f564c504d696e696e673a20746f6f20626967207374617274426c6f636b0000006020820152611e989084906139ed565b61016260186101000a81548163ffffffff021916908363ffffffff160217905550611ef8826040518060400160405280601e81526020017f564c504d696e696e673a20746f6f20626967207665737420706572696f6400008152506139ed565b61016260146101000a81548163ffffffff021916908363ffffffff160217905550611f2284611832565b8015611f34576000805461ff00191690555b505050505050565b610161546001600160a01b031681565b60975460ff16611f91576040805162461bcd60e51b815260206004820152601f6024820152600080516020614c34833981519152604482015290519081900360640190fd5b6097805460ff19169055611fa4826128ce565b611fac612925565b60006101648381548110611fbc57fe5b6000918252602080832086845261016682526040808520338652909252922060029091029091019150611fee826129ff565b611ffc818360010154612b99565b821561202e578154612019906001600160a01b0316333086613d67565b60018101546120289084613b0d565b60018201555b61204081600101548360010154612e4e565b81546001600160601b0391909116600160a01b026001600160a01b03909116178155604080518481529051859133917f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159181900360200190a3610d1233612ea1565b6101696020526000908152604090205481565b6120bd61287c565b6065546001600160a01b0390811691161461210d576040805162461bcd60e51b81526020600482018190526024820152600080516020614ce7833981519152604482015290519081900360640190fd5b612116836119d1565b15612168576040805162461bcd60e51b815260206004820152601e60248201527f564c504d696e696e673a20746f6b656e20616c72656164792061646465640000604482015290519081900360640190fd5b61217061142d565b600061217a613dc7565b6101625490915060009063ffffffff600160c01b9091048116908316116121b15761016254600160c01b900463ffffffff166121b3565b815b610167549091506121c49087613b0d565b6101678190555060006101648054905090506101646040518060c00160405280886001600160a01b0316815260200186151581526020018760ff1681526020016122438a6040518060400160405280601d81526020017f564c504d696e696e673a20746f6f2062696720616c6c6f636174696f6e0000008152506139ed565b63ffffffff90811682528581166020808401919091526000604093840181905285546001808201885596825282822086516002909202018054878501518888015160608a015160808b01516001600160a01b03199094166001600160a01b039687161760ff60a01b1916600160a01b931515939093029290921760ff60a81b1916600160a81b60ff909216919091021763ffffffff60b01b1916600160b01b918816919091021763ffffffff60d01b1916600160d01b919096160294909417845560a090950151929095019190915591891680845261016583529281902084905580518a815290518493927f4ca3b1f4222c9ac99ea2eb1c68764056287a101a2f63d81e21c3a7ccfcef36e4928290030190a350505050505050565b610163546001600160601b031681565b61237761287c565b6065546001600160a01b039081169116146123c7576040805162461bcd60e51b81526020600482018190526024820152600080516020614ce7833981519152604482015290519081900360640190fd5b6001600160a01b03811661240c5760405162461bcd60e51b8152600401808060200182810382526026815260200180614c546026913960400191505060405180910390fd5b6065546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3606580546001600160a01b0319166001600160a01b0392909216919091179055565b6101656020526000908152604090205481565b600080612486613dc7565b9050826080015163ffffffff168163ffffffff1611156125a85760808301805163ffffffff8381169092528451604080516370a0823160e01b81523060048201529051928503909316926000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561250557600080fd5b505afa158015612519573d6000803e3d6000fd5b505050506040513d602081101561252f57600080fd5b5051905080156125a5576101675460608601516101635461257c92916125769163ffffffff918216916125709188916001600160601b0390911690613e0d16565b90613e0d565b90613e66565b935061259f612594826125768764e8d4a51000613e0d565b60a087015190613b0d565b60a08601525b50505b50919050565b815160009081906125bd613dc7565b63ffffffff908116808752908216106125dd576000809250925050612875565b60008186600001510390506125fb86608001518760600151876138f9565b6001600160601b031693506000841561263f576101625461263a9063ffffffff600160a01b9091048116840181169061257690889086811690613e0d16565b612642565b60005b9050600087604001516001600160601b03169050876020015163ffffffff16886000015163ffffffff16101561267c57875184900361268e565b61016254600160a01b900463ffffffff165b9250600081156126e9576101625463ffffffff600160a01b909104811690851610156126e2576126dd858a602001510363ffffffff166125768663ffffffff1685613e0d90919063ffffffff16565b6126e4565b815b6126ec565b60005b90506126f88184613b0d565b9550612762612727876127218a8d604001516001600160601b0316613b0d90919063ffffffff16565b90612db5565b6040518060400160405280601b81526020017f564c504d696e696e673a3a636f6d70757465437670566573743a310000000000815250613a87565b6001600160601b031660408a015260008215612787576127828383612db5565b61278a565b60005b9050600088156127a35761279e8986612db5565b6127a6565b60005b905060006127b48383613b0d565b905060008315806127c3575081155b156127df575061016254600160a01b900463ffffffff1661282b565b8c5160208e01516101625491900398506128289083906125769061281590879063ffffffff600160a01b909104811690613e0d16565b611b3a8863ffffffff808f1690613e0d16565b90505b6101625463ffffffff808316600160a01b909204161161285b5761016254600160a01b900463ffffffff1661285d565b805b8d510163ffffffff1660208e01525050505050505050505b9250929050565b3390565b6001600160a01b038216600090815261012d6020526040812081906128ae9063ffffffff80861690613ea816565b909590945092505050565b6001600160601b03606082901c811692911690565b61016454811061137a576040805162461bcd60e51b815260206004820152601a60248201527f564c504d696e696e673a20696e76616c696420706f6f6c206964000000000000604482015290519081900360640190fd5b3260009081526101696020526040902054431161297a576040805162461bcd60e51b815260206004820152600e60248201526d29a0a6a2afaa2c2fa7a924a3a4a760911b604482015290519081900360640190fd5b3260008181526101696020526040902043905533146129fd57336000908152610169602052604090205443116129e9576040805162461bcd60e51b815260206004820152600f60248201526e29a0a6a2afa6a9a3afa9a2a72222a960891b604482015290519081900360640190fd5b336000908152610169602052604090204390555b565b612a07614b99565b506040805160c08101825282546001600160a01b038116825260ff600160a01b8204811615156020840152600160a81b8204169282019290925263ffffffff600160b01b830481166060830152600160d01b90920490911660808201819052600183015460a083018190526000612a7d8461247b565b90508015612b3e57612b16612ac7826040518060400160405280601a81526020017f564c504d696e696e673a3a5f646f506f6f6c5570646174653a31000000000000815250613a87565b60408051808201909152601a81527f564c504d696e696e673a3a5f646f506f6f6c5570646174653a32000000000000602082015261016154600160a01b90046001600160601b03169190613ee0565b61016160146101000a8154816001600160601b0302191690836001600160601b031602179055505b818460a001511115612b555760a084015160018601555b8263ffffffff16846080015163ffffffff161115612b92576080840151855463ffffffff909116600160d01b0263ffffffff60d01b199091161785555b5050505050565b612ba1614bce565b506040805160a081018252835463ffffffff808216808452600160201b8304909116602084018190526001600160601b03600160401b8404811695850195909552600160a01b9092049093166060830152600185015460808301529091600080612c0b85876125ae565b9150915081600014612c4c57604085015187546001600160601b03909116600160401b0273ffffffffffffffffffffffff0000000000000000199091161787555b8015612d455761016154600160a01b90046001600160601b0316811115612c83575061016154600160a01b90046001600160601b03165b612d14612cc5826040518060400160405280601981526020017f564c504d696e696e673a3a5f76657374557365724376703a3100000000000000815250613a87565b60408051808201909152601981527f564c504d696e696e673a3a5f76657374557365724376703a3200000000000000602082015261016154600160a01b90046001600160601b03169190613f4a565b61016160146101000a8154816001600160601b0302191690836001600160601b03160217905550612d453382613fb7565b8363ffffffff16856020015163ffffffff161115612d83576020850151875463ffffffff909116600160201b0267ffffffff00000000199091161787555b845163ffffffff80851691161115612dac578451875463ffffffff191663ffffffff9091161787555b50505050505050565b60006115bf83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613fd7565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612e49908490614029565b505050565b60006115bf612e6664e8d4a510006125768686613e0d565b6040518060400160405280601981526020017f564c504d696e696e673a3a5f636f6d7075746543767041646a00000000000000815250613a87565b6101645460008080805b84811015613369576000818152610166602090815260408083206001600160a01b038a168452909152902054612ef4906001600160601b0386811691600160401b9004166139ab565b935060006101648281548110612f0657fe5b60009182526020808320600290920290910180546001600160a01b03908116808552610168909352604084205491945016806130105761016154604080516370a0823160e01b81526001600160a01b0385811660048301529151612ff49392909216916370a0823191602480820192602092909190829003018186803b158015612f8f57600080fd5b505afa158015612fa3573d6000803e3d6000fd5b505050506040513d6020811015612fb957600080fd5b505160408051808201909152601f81527f564c504d696e696e673a3a5f646f436865636b706f696e74566f7465733a31006020820152613a87565b92506130096001600160601b038716846139ab565b95506131e4565b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561304b57600080fd5b505afa15801561305f573d6000803e3d6000fd5b505050506040513d602081101561307557600080fd5b5051604080516370a0823160e01b81526001600160a01b0386811660048301529151929350600092918516916370a0823191602480820192602092909190829003018186803b1580156130c757600080fd5b505afa1580156130db573d6000803e3d6000fd5b505050506040513d60208110156130f157600080fd5b50519050600061310a836125768464e8d4a51000613e0d565b61016154604080516370a0823160e01b81526001600160a01b038881166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561315e57600080fd5b505afa158015613172573d6000803e3d6000fd5b505050506040513d602081101561318857600080fd5b505190506131dd6131a264e8d4a510006125768486613e0d565b6040518060400160405280601f81526020017f564c504d696e696e673a3a5f646f436865636b706f696e74566f7465733a3100815250613a87565b9650505050505b8354600160a01b900460ff166131fd5750505050613361565b8354604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561324157600080fd5b505afa158015613255573d6000803e3d6000fd5b505050506040513d602081101561326b57600080fd5b810190808051906020019092919050505090506000610166600088815260200190815260200160002060008d6001600160a01b03166001600160a01b03168152602001908152602001600020600101549050806000141580156132cd57508115155b1561335a5760006132f0836125766001600160601b03891664e8d4a51000613e0d565b9050600061330764e8d4a510006125768585613e0d565b90506133138b82613b0d565b9a50888e6001600160a01b03167f84f3863b4a309d20b83ad6a41ab2860bf0603f2e4cdab881907e7a847276a661836040518082815260200191505060405180910390a350505b5050505050505b600101612eab565b50600082158061338057506001600160601b038216155b6133e3576133de6133a36001600160601b0384166125768664e8d4a51000613e0d565b6040518060400160405280601f81526020017f564c504d696e696e673a3a5f646f436865636b706f696e74566f7465733a3200815250613a87565b6133e6565b60005b604080516001600160601b038516815290519192507fa51ed239c57bb58dd90b5196b2a3a35e8254954f924d0a8eed8e68460d90254f919081900360200190a1604080516001600160601b0380871682528316602082015281516001600160a01b038916927ff55c0f893af4049399318f4399e95624341f7d36e6958902eb15a73ab771c14f928290030190a26134868661348186846141e1565b614205565b611f346134948360006141e1565b6142df565b80158061351f575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156134f157600080fd5b505afa158015613505573d6000803e3d6000fd5b505050506040513d602081101561351b57600080fd5b5051155b61355a5760405162461bcd60e51b8152600401808060200182810382526036815260200180614d8f6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612e49908490614029565b60006115bf83836040518060400160405280602081526020017f536166654d61746839363a207375627472616374696f6e206f766572666c6f77815250613f4a565b6001600160a01b03808316600081815261012d60205260408082208054868616600160401b81810268010000000000000000600160e01b03198416179093559251919004909416939092849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4612e498382846142f9565b600080600061367985614443565b9050613683614bfc565b5060408051606081018252875463ffffffff8082168352600160201b8204166020830152600160401b90046001600160a01b0316918101919091526136c6614c1c565b851561379057815163ffffffff16861115613728576040805162461bcd60e51b815260206004820152601f60248201527f4368506f696e74733a20696e76616c696420636865636b706f696e7420696400604482015290519081900360640190fd5b5063ffffffff8581166000908152600189016020908152604091829020825180840190935254808416808452600160201b9091046001600160c01b03169183019190915290918791908516141561378e57506020810151905190945092506137c7915050565b505b6000806137a28a8560000151876144a2565b63ffffffff918216600090815260018d01602052604090205490985016955050505050505b935093915050565b60008060006137dd866128b9565b9150915060006137ec866128b9565b50905060006137fa866128b9565b5090506001600160601b038316613813578394506138ee565b600061383464e8d4a510006125766001600160601b03878116908716613e0d565b9050816001600160601b0316836001600160601b0316146138985760006138716001600160601b038085169061257690871664e8d4a51000613e0d565b905064e8d4a5100081111561389657613893816125768464e8d4a51000613e0d565b91505b505b6138ea6138da826040518060400160405280601881526020017f564c504d696e696e673a3a5f636f6d70757465566f7465730000000000000000815250613a87565b6001600160601b038716906139ab565b9550505b505050509392505050565b600083156139a15760408051808201909152601781527f564c504d696e696e673a3a636f6d707574654376703a32000000000000000000602082015261399c90849061398c61395164e8d4a510006125768a89613e0d565b6040518060400160405280601781526020017f564c504d696e696e673a3a636f6d707574654376703a31000000000000000000815250613a87565b6001600160601b03169190613f4a565b611506565b6000949350505050565b60006115bf83836040518060400160405280601d81526020017f536166654d61746839363a206164646974696f6e206f766572666c6f77000000815250613ee0565b600081600160201b8410613a7f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613a44578181015183820152602001613a2c565b50505050905090810190601f168015613a715780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509192915050565b600081600160601b8410613a7f5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315613a44578181015183820152602001613a2c565b6000806000613aea84614443565b855490915063ffffffff16613b008682846144a2565b9097909650945050505050565b6000828201838110156115bf576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080613b72614bfc565b5060408051606081018252845463ffffffff808216808452600160201b83049091166020840152600160401b9091046001600160a01b0316928201929092529015613bf457805163ffffffff908116600090815260018601602052604080822054845184168352912054600160201b9091046001600160c01b03169116613bf8565b6000805b9250925050915091565b303b1590565b600054610100900460ff1680613c215750613c21613c02565b80613c2f575060005460ff16155b613c6a5760405162461bcd60e51b815260040180806020018281038252602e815260200180614d07602e913960400191505060405180910390fd5b600054610100900460ff16158015613c95576000805460ff1961ff0019909116610100171660011790555b613c9d61463a565b613ca56146da565b801561137a576000805461ff001916905550565b600054610100900460ff1680613cd25750613cd2613c02565b80613ce0575060005460ff16155b613d1b5760405162461bcd60e51b815260040180806020018281038252602e815260200180614d07602e913960400191505060405180910390fd5b600054610100900460ff16158015613d46576000805460ff1961ff0019909116610100171660011790555b6097805460ff19166001179055801561137a576000805461ff001916905550565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052613dc1908590614029565b50505050565b6000613e08436040518060400160405280601e81526020017f564c504d696e696e673a3a5f63757272426c6f636b3a6f766572666c6f7700008152506139ed565b905090565b600082613e1c57506000610a64565b82820282848281613e2957fe5b04146115bf5760405162461bcd60e51b8152600401808060200182810382526021815260200180614cc66021913960400191505060405180910390fd5b60006115bf83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506147d3565b600080821580613ebe5750835463ffffffff1683115b613ed157613ecc8484614838565b613ed5565b6000805b915091509250929050565b6000838301826001600160601b038087169083161015613f415760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315613a44578181015183820152602001613a2c565b50949350505050565b6000836001600160601b0316836001600160601b031611158290613faf5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315613a44578181015183820152602001613a2c565b505050900390565b610161546101625461144d916001600160a01b0390811691168484613d67565b60008184841115613faf5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315613a44578181015183820152602001613a2c565b61403b826001600160a01b031661486c565b61408c576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106140ca5780518252601f1990920191602091820191016140ab565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461412c576040519150601f19603f3d011682016040523d82523d6000602084013e614131565b606091505b509150915081614188576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115613dc1578080602001905160208110156141a457600080fd5b5051613dc15760405162461bcd60e51b815260040180806020018281038252602a815260200180614d35602a913960400191505060405180910390fd5b6001600160601b031660609190911b6bffffffffffffffffffffffff60601b161790565b6001600160a01b03808316600090815261012d6020526040812080549092600160401b90910416908115614251576001600160a01b038216600090815261012d60205260409020614253565b825b9050600061426082613b67565b506001600160a01b038716600090815261012e602052604090205490915061429f9061429890839088906001600160c01b03166148a5565b8390614903565b505050506001600160a01b0392909216600090815261012e6020526040902080546001600160c01b0319166001600160c01b039290921691909117905550565b30600090815261012d6020526040902061144d9082614903565b6000806001600160a01b0384166143335750506001600160a01b03808416600090815261012d60205260408082209284168252902061438f565b6001600160a01b03831661436a5750506001600160a01b03808316600090815261012d60205260408082209286168252902061438f565b50506001600160a01b03808316600090815261012d6020526040808220928416825290205b6001600160a01b038516600090815261012e60205260408120546001600160c01b0316906143bc84613b67565b50905060006143cd826000856148a5565b9050806001600160c01b0316826001600160c01b0316146143f4576143f28582614903565b505b60006143ff85613b67565b5090506000614410828660006148a5565b9050806001600160c01b0316826001600160c01b031614614437576144358682614903565b505b50505050505050505050565b6000438210614499576040805162461bcd60e51b815260206004820152601d60248201527f4368506f696e74733a20626c6f636b206e6f7420796574206d696e6564000000604482015290519081900360640190fd5b610a6482614a7e565b6000806144ad614c1c565b63ffffffff85166144c55760008092509250506137c7565b5063ffffffff8481166000908152600187016020908152604091829020825180840190935254808416808452600160201b9091046001600160c01b0316918301919091529091851610614520576020015184925090506137c7565b60016000818152908701602052604090205463ffffffff8086169116111561454f5760008092509250506137c7565b6001855b8163ffffffff168163ffffffff161115614602576000600263ffffffff8484031604820363ffffffff818116600090815260018c016020908152604091829020825180840190935254808416808452600160201b9091046001600160c01b031691830191909152909650919250881614156145db5780846020015195509550505050506137c7565b835163ffffffff808916911610156145f5578092506145fc565b6001810391505b50614553565b5063ffffffff811660009081526001880160205260409020549093506001600160c01b03600160201b90910416915050935093915050565b600054610100900460ff16806146535750614653613c02565b80614661575060005460ff16155b61469c5760405162461bcd60e51b815260040180806020018281038252602e815260200180614d07602e913960400191505060405180910390fd5b600054610100900460ff16158015613ca5576000805460ff1961ff001990911661010017166001179055801561137a576000805461ff001916905550565b600054610100900460ff16806146f357506146f3613c02565b80614701575060005460ff16155b61473c5760405162461bcd60e51b815260040180806020018281038252602e815260200180614d07602e913960400191505060405180910390fd5b600054610100900460ff16158015614767576000805460ff1961ff0019909116610100171660011790555b600061477161287c565b606580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350801561137a576000805461ff001916905550565b600081836148225760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315613a44578181015183820152602001613a2c565b50600083858161482e57fe5b0495945050505050565b63ffffffff908116600090815260019290920160205260409091205490811691600160201b9091046001600160c01b031690565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590611506575050151592915050565b60008060006148b3866128b9565b915091506000806148c3876128b9565b915091506000806148d3886128b9565b915091506148f56148e5878685614adc565b6148f0878685614adc565b6141e1565b9a9950505050505050505050565b60008061490f43614a7e565b9050614919614bfc565b5060408051606081018252855463ffffffff808216808452600160201b83049091166020840152600160401b9091046001600160a01b03169282019290925290600090614967576000614991565b815163ffffffff166000908152600187016020526040902054600160201b90046001600160c01b03165b90506000816001600160c01b0316866001600160c01b0316141590508363ffffffff16836020015163ffffffff16146149fc57508151600190810163ffffffff908116808552885463ffffffff19161767ffffffff000000001916600160201b918616919091021787555b8015614a735760408051808201825263ffffffff86811682526001600160c01b03898116602080850191825288518416600090815260018e019091529490942092518354945163ffffffff19909516921691909117640100000000600160e01b031916600160201b93909116929092029190911790555b505051949350505050565b6000600160201b8210614ad8576040805162461bcd60e51b815260206004820152601b60248201527f4368506f696e74733a20626c6f636b4e756d203e3d20322a2a33320000000000604482015290519081900360640190fd5b5090565b6000816001600160601b0316836001600160601b03161415614aff5750826115bf565b816001600160601b0316836001600160601b03161115614b4657614b3f614b2f6001600160601b038516846135ac565b6001600160601b038616906139ab565b90506115bf565b6000614b5b6001600160601b038416856135ac565b9050806001600160601b0316856001600160601b031611614b7d576000614b90565b614b906001600160601b038616826135ac565b95945050505050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b604080516060810182526000808252602082018190529181019190915290565b60408051808201909152600080825260208201529056fe5265656e7472616e637947756172643a207265656e7472616e742063616c6c004f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373564c504d696e696e673a20746f6f206269672063767056657374696e67506572696f64496e426c6f636b73564c504d696e696e673a20616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65645361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656464656c65676174653a2063616e27742064656c656761746520746f2074686520636f6e747261637420616464726573735361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a2646970667358221220d6417392f1c78f6ec75c1b71f95adc7e6bc4d41438569174fcb1e0def5c1de8064736f6c634300060c0033
Deployed Bytecode Sourcemap
46921:21721:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;50157:52;;;;;;;;;;;;;;;;-1:-1:-1;50157:52:0;-1:-1:-1;;;;;50157:52:0;;:::i;:::-;;;;-1:-1:-1;;;;;50157:52:0;;;;;;;;;;;;;;50890:95;;;:::i;:::-;;;;;;;;;;;;;;;;49361:24;;;:::i;50116:34::-;;;:::i;54779:317::-;;;;;;;;;;;;;;;;-1:-1:-1;54779:317:0;;;;;;-1:-1:-1;;;;;54779:317:0;;:::i;39842:97::-;;;:::i;52486:153::-;;;;;;;;;;;;;;;;-1:-1:-1;52486:153:0;-1:-1:-1;;;;;52486:153:0;;:::i;:::-;;58115:346;;;;;;;;;;;;;;;;-1:-1:-1;58115:346:0;;-1:-1:-1;;;;;58115:346:0;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;58115:346:0;;;;;;;;;;;;;;;;;;;;;;49302:28;;;:::i;:::-;;;;-1:-1:-1;;;;;49302:28:0;;;;;;;;;;;;;;56463:701;;;;;;;;;;;;;;;;-1:-1:-1;56463:701:0;;;;;;;:::i;53602:679::-;;;;;;;;;;;;;;;;-1:-1:-1;53602:679:0;;:::i;49523:24::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;55608:133;;;;;;;;;;;;;;;;-1:-1:-1;55608:133:0;;:::i;57205:721::-;;;;;;;;;;;;;;;;-1:-1:-1;57205:721:0;;:::i;57967:107::-;;;;;;;;;;;;;;;;-1:-1:-1;57967:107:0;-1:-1:-1;;;;;57967:107:0;;:::i;40078:193::-;;;;;;;;;;;;;;;;-1:-1:-1;40078:193:0;-1:-1:-1;;;;;40078:193:0;;:::i;53290:200::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;53290:200:0;;;;;;;;;;:::i;55401:166::-;;;:::i;42159:592::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;42159:592:0;;;;;;;;;;;;;;;;;;;;;;:::i;6162:148::-;;;:::i;41303:151::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;41303:151:0;;;;;;;;:::i;39166:61::-;;;;;;;;;;;;;;;;-1:-1:-1;39166:61:0;-1:-1:-1;;;;;39166:61:0;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;39166:61:0;;;;;;;;;;;;;;;49708:32;;;:::i;49423:38::-;;;:::i;5520:79::-;;;:::i;54322:416::-;;;;;;;;;;;;;;;;-1:-1:-1;54322:416:0;;;;;;-1:-1:-1;;;;;54322:416:0;;:::i;52929:320::-;;;;;;;;;;;;;;;;-1:-1:-1;52929:320:0;;:::i;52680:208::-;;;;;;;;;;;;;;;;-1:-1:-1;52680:208:0;;:::i;42900:382::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;42900:382:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;55137:223;;;;;;;;;;;;;;;;-1:-1:-1;55137:223:0;-1:-1:-1;;;;;55137:223:0;;:::i;:::-;;;;;;;;;;;;;;;;;;49773:19;;;;;;;;;;;;;;;;-1:-1:-1;49773:19:0;;:::i;:::-;;;;-1:-1:-1;;;;;49773:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;51929:516;;;;;;;;;;;;;;;;-1:-1:-1;51929:516:0;;;;;;;;;;;;;;;;;;;;;:::i;40459:440::-;;;;;;;;;;;;;;;;-1:-1:-1;40459:440:0;-1:-1:-1;;;;;40459:440:0;;:::i;50009:57::-;;;;;;;;;;;;;;;;-1:-1:-1;50009:57:0;;;;;;-1:-1:-1;;;;;50009:57:0;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;50009:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;50306:543;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;50306:543:0;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;49214:17::-;;;:::i;55782:640::-;;;;;;;;;;;;;;;;-1:-1:-1;55782:640:0;;;;;;;:::i;50216:48::-;;;;;;;;;;;;;;;;-1:-1:-1;50216:48:0;-1:-1:-1;;;;;50216:48:0;;:::i;51026:862::-;;;;;;;;;;;;;;;;-1:-1:-1;51026:862:0;;;-1:-1:-1;;;;;51026:862:0;;;;;;;;;;;;;;;;;;;:::i;49617:25::-;;;:::i;6465:244::-;;;;;;;;;;;;;;;;-1:-1:-1;6465:244:0;-1:-1:-1;;;;;6465:244:0;;:::i;49872:51::-;;;;;;;;;;;;;;;;-1:-1:-1;49872:51:0;-1:-1:-1;;;;;49872:51:0;;:::i;50157:52::-;;;;;;;;;;;;-1:-1:-1;;;;;50157:52:0;;:::o;50890:95::-;50967:5;:12;50890:95;:::o;49361:24::-;;;-1:-1:-1;;;;;49361:24:0;;:::o;50116:34::-;;;;:::o;54779:317::-;54860:7;54876:17;;:::i;:::-;54896:5;54902:4;54896:11;;;;;;;;;;;;;;;;;54876:31;;;;;;;;54896:11;;;;;;;54876:31;;-1:-1:-1;;;;;54876:31:0;;;;;-1:-1:-1;;;54876:31:0;;;;;;;;;;;;;-1:-1:-1;;;54876:31:0;;;;;;;;;;;;;-1:-1:-1;;;54876:31:0;;;;;;;;-1:-1:-1;;;54876:31:0;;;;;;;;;;;;;;;;;;;;-1:-1:-1;54914:17:0;;:::i;:::-;-1:-1:-1;54934:11:0;;;;:5;:11;;;;;;;;-1:-1:-1;;;;;54934:17:0;;;;;;;;;;54914:37;;;;;;;;;;;;;;;-1:-1:-1;;;54914:37:0;;;;;;;;;;-1:-1:-1;;;;;;;;54914:37:0;;;;;;;;;;;-1:-1:-1;;;54914:37:0;;;;;;;;;;;;;;;;;;;54960:25;54979:5;54960:18;:25::i;:::-;;54995:19;55018:45;55037:5;55044;:18;;;55018;:45::i;:::-;54992:71;-1:-1:-1;;;;;54779:317:0;;;;;:::o;39842:97::-;39912:10;39884:7;39907:16;;;:4;:16;;;;;:26;-1:-1:-1;;;39907:26:0;;-1:-1:-1;;;;;39907:26:0;39842:97;:::o;52486:153::-;5742:12;:10;:12::i;:::-;5732:6;;-1:-1:-1;;;;;5732:6:0;;;:22;;;5724:67;;;;;-1:-1:-1;;;5724:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5724:67:0;;;;;;;;;;;;;;;52568:8:::1;:20:::0;;-1:-1:-1;;;;;52568:20:0::1;-1:-1:-1::0;;;;;;;;52568:20:0;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;52602:31:::1;::::0;::::1;::::0;-1:-1:-1;;52602:31:0::1;52486:153:::0;:::o;58115:346::-;58236:16;58261;58286:21;58325:12;58364:37;58379:7;58388:12;58364:14;:37::i;:::-;58344:57;;-1:-1:-1;58344:57:0;-1:-1:-1;58438:17:0;58344:57;58438:11;:17::i;:::-;58115:346;;58408:47;;-1:-1:-1;58408:47:0;;-1:-1:-1;;;;58115:346:0:o;49302:28::-;;;-1:-1:-1;;;49302:28:0;;-1:-1:-1;;;;;49302:28:0;;:::o;56463:701::-;23703:11;;;;23695:55;;;;;-1:-1:-1;;;23695:55:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;23695:55:0;;;;;;;;;;;;;;;23828:11;:19;;-1:-1:-1;;23828:19:0;;;56548:21:::1;56564:4:::0;56548:15:::1;:21::i;:::-;56576:34;:32;:34::i;:::-;56619:17;56639:5;56645:4;56639:11;;;;;;;;;::::0;;;::::1;::::0;;;56677;;;:5:::1;:11:::0;;;;;;56689:10:::1;56677:23:::0;;;;;;;56715:14:::1;::::0;::::1;::::0;56639:11:::1;::::0;;::::1;::::0;;::::1;::::0;-1:-1:-1;56715:25:0;-1:-1:-1;56715:25:0::1;56707:71;;;;-1:-1:-1::0;;;56707:71:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;56787:19;56801:4;56787:13;:19::i;:::-;56813:37;56826:4;56832;:17;;;56813:12;:37::i;:::-;56863:12:::0;;56859:134:::1;;56903:14;::::0;::::1;::::0;:27:::1;::::0;56922:7;56903:18:::1;:27::i;:::-;56886:14;::::0;::::1;:44:::0;56939:12;;:46:::1;::::0;-1:-1:-1;;;;;56939:12:0::1;56965:10;56977:7:::0;56939:25:::1;:46::i;:::-;57016:56;57038:4;:14;;;57054:4;:17;;;57016:21;:56::i;:::-;56999:73:::0;;-1:-1:-1;;;;;56999:73:0;;;::::1;-1:-1:-1::0;;;56999:73:0::1;-1:-1:-1::0;;;;;56999:73:0;;::::1;;::::0;;57084:35:::1;::::0;;;;;;;57105:4;;57093:10:::1;::::0;57084:35:::1;::::0;;;;::::1;::::0;;::::1;57128:30;57147:10;57128:18;:30::i;:::-;-1:-1:-1::0;;24008:11:0;:18;;-1:-1:-1;;24008:18:0;24022:4;24008:18;;;-1:-1:-1;;56463:701:0:o;53602:679::-;23703:11;;;;23695:55;;;;;-1:-1:-1;;;23695:55:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;23695:55:0;;;;;;;;;;;;;;;23828:11;:19;;-1:-1:-1;;23828:19:0;;;53685:8:::1;::::0;-1:-1:-1;;;53685:8:0;::::1;-1:-1:-1::0;;;;;53685:8:0::1;53669:66;;;::::0;;-1:-1:-1;;;53669:66:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;53669:66:0;;;;;;;;;;;;;::::1;;53742:17;53762:5;53768:4;53762:11;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;;::::1;::::0;;::::1;53797:12:::0;;53830:32:::1;::::0;;-1:-1:-1;;;53830:32:0;;53856:4:::1;53830:32;::::0;::::1;::::0;;;53762:11;;-1:-1:-1;;;;;;53797:12:0;;::::1;::::0;53762:11;53797:12;;53830:17:::1;::::0;:32;;;;;53762:11;53830:32;;;;;;53797:12;53830:32;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;53830:32:0;53897:8:::1;::::0;53830:32;;-1:-1:-1;53869:43:0::1;::::0;-1:-1:-1;;;;;53869:19:0;;::::1;::::0;-1:-1:-1;;;53897:8:0;::::1;;53830:32:::0;53869:19:::1;:43::i;:::-;53939:8;::::0;53965:13;;53939:40:::1;::::0;;-1:-1:-1;;;53939:40:0;;-1:-1:-1;;;;;53939:40:0;;::::1;;::::0;::::1;::::0;-1:-1:-1;;;53965:13:0;;::::1;;;53939:40:::0;;;;;;-1:-1:-1;;;;;53939:8:0;::::1;::::0;;::::1;::::0;:16:::1;::::0;:40;;;;;::::1;::::0;;;;;;;;;-1:-1:-1;53939:8:0;:40;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;53939:40:0;54001:35:::1;::::0;;-1:-1:-1;;;54001:35:0;;54030:4:::1;54001:35;::::0;::::1;::::0;;;53939:40;;-1:-1:-1;;;;;;54001:20:0;::::1;::::0;::::1;::::0;:35;;;;;53939:40:::1;::::0;54001:35;;;;;;;;:20;:35;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;54001:35:0;53994:42;::::1;53986:83;;;::::0;;-1:-1:-1;;;53986:83:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;54076:25:::0;;-1:-1:-1;;;;;;54076:25:0::1;-1:-1:-1::0;;;;;54076:25:0;;::::1;::::0;;::::1;::::0;;54117:34;::::1;-1:-1:-1::0;54117:34:0;;;:16:::1;:34;::::0;;;;;54110:41;;;54158:37;;;;;;:44;;;54216:59;54158:44;;54076:25;54117:34;54216:59:::1;::::0;::::1;-1:-1:-1::0;;24008:11:0;:18;;-1:-1:-1;;24008:18:0;24022:4;24008:18;;;-1:-1:-1;;;53602:679:0:o;49523:24::-;;;-1:-1:-1;;;49523:24:0;;;;;:::o;55608:133::-;23703:11;;;;23695:55;;;;;-1:-1:-1;;;23695:55:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;23695:55:0;;;;;;;;;;;;;;;23828:11;:19;;-1:-1:-1;;23828:19:0;;;55698:5:::1;:11:::0;;23842:5;;55698;55704:4;;55698:11;::::1;;;;;;;;;;;;;;;55678:31;;55716:19;55730:4;55716:13;:19::i;:::-;-1:-1:-1::0;;24008:11:0;:18;;-1:-1:-1;;24008:18:0;24022:4;24008:18;;;55608:133::o;57205:721::-;23703:11;;;;23695:55;;;;;-1:-1:-1;;;23695:55:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;23695:55:0;;;;;;;;;;;;;;;23828:11;:19;;-1:-1:-1;;23828:19:0;;;57282:21:::1;57298:4:::0;57282:15:::1;:21::i;:::-;57310:34;:32;:34::i;:::-;57353:17;57373:5;57379:4;57373:11;;;;;;;;;::::0;;;::::1;::::0;;;57411;;;:5:::1;:11:::0;;;;;;57423:10:::1;57411:23:::0;;;;;;;;57481:14:::1;::::0;::::1;::::0;57373:11:::1;::::0;;::::1;::::0;;::::1;57443:12:::0;;57373:11;;-1:-1:-1;57443:53:0::1;::::0;-1:-1:-1;;;;;57443:12:0;;;::::1;::::0;57423:10;57443:25:::1;:53::i;:::-;57544:14;::::0;::::1;::::0;57508:51:::1;::::0;;;;;;57538:4;;57526:10:::1;::::0;57508:51:::1;::::0;;;;::::1;::::0;;::::1;57572:14:::0;;-1:-1:-1;;;57572:14:0;::::1;-1:-1:-1::0;;;;;57572:14:0::1;:18:::0;57568:209:::1;;57714:14;::::0;57697;;-1:-1:-1;;;57714:14:0;;::::1;-1:-1:-1::0;;;;;57714:14:0;;::::1;-1:-1:-1::0;;;57697:14:0;;::::1;;:31;:72;;57754:14:::0;;57735::::1;::::0;:34:::1;::::0;-1:-1:-1;;;57735:14:0;;::::1;-1:-1:-1::0;;;;;57735:14:0;;::::1;::::0;-1:-1:-1;;;57754:14:0;::::1;;57735:18;:34::i;:::-;57697:72;;;57731:1;57697:72;57680:14;;:89;;;;;-1:-1:-1::0;;;;;57680:89:0::1;;;;;-1:-1:-1::0;;;;;57680:89:0::1;;;;;;57568:209;57802:1;57785:14;::::0;::::1;:18:::0;57810;;57860:21:::1;::::0;;;57890:30:::1;57909:10;57890:18;:30::i;:::-;-1:-1:-1::0;;24008:11:0;:18;;-1:-1:-1;;24008:18:0;24022:4;24008:18;;;-1:-1:-1;57205:721:0:o;57967:107::-;23703:11;;;;23695:55;;;;;-1:-1:-1;;;23695:55:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;23695:55:0;;;;;;;;;;;;;;;23828:11;:19;;-1:-1:-1;;23828:19:0;;;58043:25:::1;58062:5:::0;58043:18:::1;:25::i;:::-;-1:-1:-1::0;24008:11:0;:18;;-1:-1:-1;;24008:18:0;24022:4;24008:18;;;57967:107::o;40078:193::-;-1:-1:-1;;;;;40138:27:0;;40160:4;40138:27;;40130:88;;;;-1:-1:-1;;;40130:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40232:33;40242:10;40254;40232:9;:33::i;:::-;40078:193;:::o;53290:200::-;5742:12;:10;:12::i;:::-;5732:6;;-1:-1:-1;;;;;5732:6:0;;;:22;;;5724:67;;;;;-1:-1:-1;;;5724:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5724:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;53390:28:0;;::::1;;::::0;;;:17:::1;:28;::::0;;;;;:39;;-1:-1:-1;;;;;;53390:39:0::1;::::0;;::::1;::::0;;::::1;::::0;;53443:41;::::1;::::0;53390:28;53443:41:::1;53290:200:::0;;:::o;55401:166::-;55468:5;:12;55451:14;55487:75;55515:6;55509:3;:12;55487:75;;;55539:15;55550:3;55539:10;:15::i;:::-;55523:5;;55487:75;;;;55401:166;:::o;42159:592::-;-1:-1:-1;;;;;42382:13:0;;42318:6;42382:13;;;:4;:13;;;;;42318:6;;;;42382:57;;42409:11;42382:57;;;;;:26;:57;:::i;:::-;42333:106;;;;42450:8;-1:-1:-1;;;;;42450:13:0;42462:1;42450:13;42446:27;;;42472:1;42465:8;;;;;;42446:27;42520:4;42483:18;42507:19;;;:4;:19;;;;;:65;;42540:11;42507:65;;;;;:32;:65;:::i;:::-;-1:-1:-1;42627:4:0;42580:28;42614:19;;;:4;:19;;;;;42482:90;;-1:-1:-1;42580:28:0;42614:56;;;;;;;42580:28;;42614:32;:56;:::i;:::-;42579:91;;;42684:61;42702:8;42712:10;42724:20;42684:17;:61::i;:::-;42677:68;;;;;;42159:592;;;;;;;:::o;6162:148::-;5742:12;:10;:12::i;:::-;5732:6;;-1:-1:-1;;;;;5732:6:0;;;:22;;;5724:67;;;;;-1:-1:-1;;;5724:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5724:67:0;;;;;;;;;;;;;;;6253:6:::1;::::0;6232:40:::1;::::0;6269:1:::1;::::0;-1:-1:-1;;;;;6253:6:0::1;::::0;6232:40:::1;::::0;6269:1;;6232:40:::1;6283:6;:19:::0;;-1:-1:-1;;;;;;6283:19:0::1;::::0;;6162:148::o;41303:151::-;41385:6;41407:41;41421:7;41430:11;41443:1;41446;41407:13;:41::i;:::-;41400:48;41303:151;-1:-1:-1;;;41303:151:0:o;39166:61::-;;;;;;;;;;;;;;;;;-1:-1:-1;;;39166:61:0;;;;;;-1:-1:-1;;;39166:61:0;;-1:-1:-1;;;;;39166:61:0;;:::o;49708:32::-;;;-1:-1:-1;;;49708:32:0;;-1:-1:-1;;;;;49708:32:0;;:::o;49423:38::-;;;-1:-1:-1;;;49423:38:0;;;;;:::o;5520:79::-;5585:6;;-1:-1:-1;;;;;5585:6:0;5520:79;:::o;54322:416::-;54431:5;:12;54403:7;;54423:20;;54419:34;;-1:-1:-1;54452:1:0;54445:8;;54419:34;54462:17;;:::i;:::-;54482:5;54488:4;54482:11;;;;;;;;;;;;;;;;54462:31;;;;;;;;54482:11;;;;;;;54462:31;;-1:-1:-1;;;;;54462:31:0;;;;;;-1:-1:-1;;;54462:31:0;;;;;;;;;;-1:-1:-1;;;54462:31:0;;;;;;;;-1:-1:-1;;;54462:31:0;;;;;;;;-1:-1:-1;;;54462:31:0;;;;;;;;;;;;;;;;;;;54520:11;;;:5;:11;;;;;:18;;;;;;;;;;;54462:31;;-1:-1:-1;54547:25:0;54462:31;54547:18;:25::i;:::-;;54579:20;54602:72;54623:4;:14;;;54639:4;:14;;;;;;;;;;-1:-1:-1;;;;;54639:14:0;54655:5;:18;;;54602:20;:72::i;:::-;54716:14;;54579:95;;-1:-1:-1;54698:33:0;;-1:-1:-1;;;;;54698:17:0;;;;-1:-1:-1;;;54716:14:0;;;54698:17;:33::i;:::-;-1:-1:-1;;;;;54690:42:0;;54322:416;-1:-1:-1;;;;;;54322:416:0:o;52929:320::-;5742:12;:10;:12::i;:::-;5732:6;;-1:-1:-1;;;;;5732:6:0;;;:22;;;5724:67;;;;;-1:-1:-1;;;5724:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5724:67:0;;;;;;;;;;;;;;;53061:114:::1;53089:25;53061:114;;;;;;;;;;;;;;;;;:19;:114::i;:::-;53034:24;:141:::0;;::::1;::::0;;;::::1;-1:-1:-1::0;;;53034:141:0::1;-1:-1:-1::0;;;;53034:141:0;;::::1;::::0;;;::::1;::::0;;53189:54:::1;::::0;;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;52929:320:::0;:::o;52680:208::-;5742:12;:10;:12::i;:::-;5732:6;;-1:-1:-1;;;;;5732:6:0;;;:22;;;5724:67;;;;;-1:-1:-1;;;5724:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5724:67:0;;;;;;;;;;;;;;;52773::::1;52793:12;52773:67;;;;;;;;;;;;;;;;::::0;:19:::1;:67::i;:::-;52759:11;:81:::0;;-1:-1:-1;;52759:81:0::1;-1:-1:-1::0;;;;;52759:81:0;;;::::1;::::0;;;::::1;::::0;;52854:28:::1;::::0;;;;;;;::::1;::::0;::::1;::::0;;;;;;::::1;52680:208:::0;:::o;42900:382::-;43001:23;;-1:-1:-1;;;;;43071:21:0;;43063:63;;;;;-1:-1:-1;;;43063:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;43156:13:0;;;;;;:4;:13;;;;;:41;;43185:11;43156:28;:41::i;:::-;-1:-1:-1;43242:4:0;43229:19;;;;:4;:19;;;;;43133:64;;-1:-1:-1;43229:47:0;;43264:11;43229:34;:47::i;:::-;43204:72;;;;;42900:382;;;;;:::o;55137:223::-;-1:-1:-1;;;;;55235:35:0;;55208:4;55235:35;;;:16;:35;;;;;;55284:5;:12;:18;-1:-1:-1;55284:70:0;;;;;55345:8;-1:-1:-1;;;;;55306:48:0;55314:5;55320:3;55314:10;;;;;;;;;;;;;;;;;;;;;:18;-1:-1:-1;;;;;55314:18:0;55306:48;55284:70;55277:77;;;55137:223;;;;:::o;49773:19::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;49773:19:0;;;-1:-1:-1;49773:19:0;-1:-1:-1;;;49773:19:0;;;;;-1:-1:-1;;;49773:19:0;;;;;;;-1:-1:-1;;;49773:19:0;;;;;-1:-1:-1;;;49773:19:0;;;;;:::o;51929:516::-;5742:12;:10;:12::i;:::-;5732:6;;-1:-1:-1;;;;;5732:6:0;;;:22;;;5724:67;;;;;-1:-1:-1;;;5724:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5724:67:0;;;;;;;;;;;;;;;52072:17:::1;:15;:17::i;:::-;52114:69;52171:11;52114:52;52142:5;52148:4;52142:11;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;;::::1;;:22:::0;52114:15:::1;::::0;;52142:22:::1;-1:-1:-1::0;;;52142:22:0;;::::1;::::0;::::1;::::0;52114:19:::1;:52;:::i;:::-;:56:::0;::::1;:69::i;:::-;52096:15;:87:::0;52215:65:::1;::::0;;;;::::1;::::0;;;::::1;::::0;;::::1;;::::0;::::1;::::0;::::1;::::0;52235:11;;52215:19:::1;:65::i;:::-;52190:5;52196:4;52190:11;;;;;;;;;;;;;;;;;;:22;;;:90;;;;;;;;;;;;;;;;;;52314:13;52287:5;52293:4;52287:11;;;;;;;;;;;;;;;;;;:24;;;:40;;;;;;;;;;;;;;;;;;52357:9;52334:5;52340:4;52334:11;;;;;;;;;;;;;;;;;;:20;;;:32;;;;;;;;;;;;;;;;;;52421:4;52399:5;52405:4;52399:11;;;;;;;;;::::0;;;::::1;::::0;;;;::::1;::::0;;::::1;;:19:::0;52380:59:::1;::::0;;;;;;;-1:-1:-1;;;;;52399:19:0;;::::1;::::0;52380:59:::1;::::0;;;;;;;::::1;51929:516:::0;;;;:::o;40459:440::-;-1:-1:-1;;;;;40588:13:0;;40524:6;40588:13;;;:4;:13;;;;;40524:6;;;;40588:29;;:27;:29::i;:::-;40539:78;;;;40628:8;-1:-1:-1;;;;;40628:13:0;40640:1;40628:13;40624:27;;;40650:1;40643:8;;;;;;40624:27;40698:4;40661:18;40685:19;;;:4;:19;;;;;:35;;:33;:35::i;:::-;-1:-1:-1;40775:4:0;40728:28;40762:19;;;:4;:19;;;;;40660:60;;-1:-1:-1;40728:28:0;40762:56;;;;;;;40728:28;;40762:32;:56;:::i;:::-;40727:91;;;40832:61;40850:8;40860:10;40872:20;40832:17;:61::i;:::-;40825:68;40459:440;-1:-1:-1;;;;;;40459:440:0:o;50009:57::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;50009:57:0;;;;;;-1:-1:-1;;;;;;;;50009:57:0;;;;;-1:-1:-1;;;50009:57:0;;;;;:::o;50306:543::-;1765:12;;;;;;;;:31;;;1781:15;:13;:15::i;:::-;1765:47;;;-1:-1:-1;1801:11:0;;;;1800:12;1765:47;1757:106;;;;-1:-1:-1;;;1757:106:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1872:19;1895:12;;;;;;1894:13;1914:83;;;;1943:12;:19;;-1:-1:-1;;;;1943:19:0;;;;;1971:18;1958:4;1971:18;;;1914:83;50504:16:::1;:14;:16::i;:::-;50527:34;:32;:34::i;:::-;50570:3;:10:::0;;-1:-1:-1;;;;;50570:10:0;;::::1;-1:-1:-1::0;;;;;;50570:10:0;;::::1;;::::0;;;50587:9:::1;:22:::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;50629:65:::1;::::0;;;;::::1;::::0;;;::::1;::::0;;::::1;;::::0;::::1;::::0;::::1;::::0;50649:11;;50629:19:::1;:65::i;:::-;50616:10;;:78;;;;;;;;;;;;;;;;;;50728:80;50748:25;50728:80;;;;;;;;;;;;;;;;::::0;:19:::1;:80::i;:::-;50701:24;;:107;;;;;;;;;;;;;;;;;;50815:28;50830:12;50815:14;:28::i;:::-;2019:14:::0;2015:57;;;2059:5;2044:20;;-1:-1:-1;;2044:20:0;;;2015:57;50306:543;;;;;;:::o;49214:17::-;;;-1:-1:-1;;;;;49214:17:0;;:::o;55782:640::-;23703:11;;;;23695:55;;;;;-1:-1:-1;;;23695:55:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;23695:55:0;;;;;;;;;;;;;;;23828:11;:19;;-1:-1:-1;;23828:19:0;;;55866:21:::1;55882:4:::0;55866:15:::1;:21::i;:::-;55894:34;:32;:34::i;:::-;55937:17;55957:5;55963:4;55957:11;;;;;;;;;::::0;;;::::1;::::0;;;55995;;;:5:::1;:11:::0;;;;;;56007:10:::1;55995:23:::0;;;;;;;55957:11:::1;::::0;;::::1;::::0;;::::1;::::0;-1:-1:-1;56027:19:0::1;55957:11:::0;56027:13:::1;:19::i;:::-;56053:37;56066:4;56072;:17;;;56053:12;:37::i;:::-;56103:12:::0;;56099:153:::1;;56126:12:::0;;:65:::1;::::0;-1:-1:-1;;;;;56126:12:0::1;56156:10;56176:4;56183:7:::0;56126:29:::1;:65::i;:::-;56217:14;::::0;::::1;::::0;:27:::1;::::0;56236:7;56217:18:::1;:27::i;:::-;56200:14;::::0;::::1;:44:::0;56099:153:::1;56275:56;56297:4;:14;;;56313:4;:17;;;56275:21;:56::i;:::-;56258:73:::0;;-1:-1:-1;;;;;56258:73:0;;;::::1;-1:-1:-1::0;;;56258:73:0::1;-1:-1:-1::0;;;;;56258:73:0;;::::1;;::::0;;56343:34:::1;::::0;;;;;;;56363:4;;56351:10:::1;::::0;56343:34:::1;::::0;;;;::::1;::::0;;::::1;56386:30;56405:10;56386:18;:30::i;50216:48::-:0;;;;;;;;;;;;;:::o;51026:862::-;5742:12;:10;:12::i;:::-;5732:6;;-1:-1:-1;;;;;5732:6:0;;;:22;;;5724:67;;;;;-1:-1:-1;;;5724:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5724:67:0;;;;;;;;;;;;;;;51181:24:::1;51196:8;51181:14;:24::i;:::-;51180:25;51172:68;;;::::0;;-1:-1:-1;;;51172:68:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;51249:17;:15;:17::i;:::-;51273:15;51291:12;:10;:12::i;:::-;51346:10;::::0;51273:30;;-1:-1:-1;51310:22:0::1;::::0;51346:10:::1;-1:-1:-1::0;;;51346:10:0;;::::1;::::0;::::1;51335:21:::0;;::::1;;:45;;51370:10;::::0;-1:-1:-1;;;51370:10:0;::::1;;;51335:45;;;51359:8;51335:45;51405:15;::::0;51310:70;;-1:-1:-1;51405:32:0::1;::::0;51425:11;51405:19:::1;:32::i;:::-;51387:15;:50;;;;51446:11;51460:5;:12;;;;51446:26;;51479:5;51498:268;;;;;;;;51523:8;-1:-1:-1::0;;;;;51498:268:0::1;;;;;51556:13;51498:268;;;;;;51590:9;51498:268;;;;;;51622:65;51642:11;51622:65;;;;;;;;;;;;;;;;::::0;:19:::1;:65::i;:::-;51498:268;::::0;;::::1;::::0;;;;::::1;;::::0;;::::1;::::0;;;;-1:-1:-1;51498:268:0;;;;;;;51479:294;;::::1;::::0;;::::1;::::0;;;;;;;;;;::::1;::::0;;::::1;;::::0;;;;::::1;::::0;;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;-1:-1:-1;;;;;;51479:294:0;;::::1;-1:-1:-1::0;;;;;51479:294:0;;::::1;;-1:-1:-1::0;;;;51479:294:0::1;-1:-1:-1::0;;;51479:294:0;::::1;;::::0;;;::::1;::::0;;;::::1;-1:-1:-1::0;;;;51479:294:0::1;-1:-1:-1::0;;;51479:294:0::1;::::0;;::::1;::::0;;;::::1;;-1:-1:-1::0;;;;51479:294:0::1;-1:-1:-1::0;;;51479:294:0;;::::1;::::0;;;::::1;;-1:-1:-1::0;;;;51479:294:0::1;-1:-1:-1::0;;;51479:294:0;;;::::1;;::::0;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;::::1;::::0;;;;51780:35;;::::1;::::0;;;:16:::1;:35:::0;;;;;;:41;;;51835:47;;;;;;;51780:41;;:35;51835:47:::1;::::0;;;;;;::::1;5802:1;;;51026:862:::0;;;;:::o;49617:25::-;;;-1:-1:-1;;;;;49617:25:0;;:::o;6465:244::-;5742:12;:10;:12::i;:::-;5732:6;;-1:-1:-1;;;;;5732:6:0;;;:22;;;5724:67;;;;;-1:-1:-1;;;5724:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5724:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;6554:22:0;::::1;6546:73;;;;-1:-1:-1::0;;;6546:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6656:6;::::0;6635:38:::1;::::0;-1:-1:-1;;;;;6635:38:0;;::::1;::::0;6656:6:::1;::::0;6635:38:::1;::::0;6656:6:::1;::::0;6635:38:::1;6684:6;:17:::0;;-1:-1:-1;;;;;;6684:17:0::1;-1:-1:-1::0;;;;;6684:17:0;;;::::1;::::0;;;::::1;::::0;;6465:244::o;49872:51::-;;;;;;;;;;;;;:::o;65767:664::-;65837:21;65891:15;65909:12;:10;:12::i;:::-;65891:30;;65943:5;:21;;;65932:32;;:8;:32;;;65928:498;;;66015:21;;;;;65996:41;66064:32;;;;;;66128:13;;:38;;;-1:-1:-1;;;66128:38:0;;66160:4;66128:38;;;;;;66004:32;;;65996:41;;;;-1:-1:-1;;;;;;;66128:23:0;;;;;;:38;;;;;;;;;;;;;;;:23;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;66128:38:0;;-1:-1:-1;66179:15:0;;66175:244;;66295:15;;66272:16;;;;66246:11;;66223:88;;66295:15;66223:67;;66264:25;;;;;66223:36;;:10;;-1:-1:-1;;;;;66246:11:0;;;;66223:14;:36;:::i;:::-;:40;;:67::i;:::-;:71;;:88::i;:::-;66207:104;-1:-1:-1;66345:64:0;66368:40;66397:10;66368:24;66207:104;49183:4;66368:17;:24::i;:40::-;66345:18;;;;;:22;:64::i;:::-;66324:18;;;:85;66175:244;65928:498;;;65767:664;;;;:::o;62893:2868::-;63073:21;;63000;;;;63125:12;:10;:12::i;:::-;63101:36;;;;;;;63148:34;;;;63144:70;;63201:1;63204;63193:13;;;;;;;63144:70;63222:10;63259:9;63235:5;:21;;;:33;63222:46;;63581:68;63602:5;:15;;;63619:5;:15;;;63636:12;63581:20;:68::i;:::-;-1:-1:-1;;;;;63573:77:0;;-1:-1:-1;63657:17:0;63684:18;;:103;;63760:24;;63710:76;;63760:24;-1:-1:-1;;;63760:24:0;;;;;63754:30;;63746:39;;;63710:31;;:13;;63728:12;;;;63710:17;:31;:::i;:76::-;63684:103;;;63705:1;63684:103;63657:130;;64129:14;64154:5;:15;;;-1:-1:-1;;;;;64146:24:0;64129:41;;64208:5;:18;;;64183:43;;:5;:21;;;:43;;;;:106;;64256:21;;:33;;;64183:106;;;64229:24;;-1:-1:-1;;;64229:24:0;;;;64183:106;64177:112;-1:-1:-1;64296:20:0;64326:11;;:198;;64382:24;;;-1:-1:-1;;;64382:24:0;;;;;64375:31;;;;;:138;;64444:69;64502:9;64481:5;:18;;;:30;64473:39;;64444:24;64463:3;64455:12;;64444:6;:10;;:24;;;;:::i;:69::-;64375:138;;;64422:6;64375:138;64326:198;;;64349:1;64326:198;64296:228;-1:-1:-1;64547:27:0;64296:228;64564:9;64547:16;:27::i;:::-;64533:41;;64599:133;64627:60;64675:11;64627:43;64656:13;64635:5;:15;;;-1:-1:-1;;;;;64627:24:0;:28;;:43;;;;:::i;:::-;:47;;:60::i;:::-;64599:133;;;;;;;;;;;;;;;;;:19;:133::i;:::-;-1:-1:-1;;;;;64581:151:0;:15;;;:151;64807:23;64833:11;;:42;;64851:24;:6;64862:12;64851:10;:24::i;:::-;64833:42;;;64847:1;64833:42;64807:68;-1:-1:-1;64882:23:0;64908:18;;:53;;64933:28;:13;64951:9;64933:17;:28::i;:::-;64908:53;;;64929:1;64908:53;64882:79;-1:-1:-1;64968:15:0;64986:36;:15;64882:79;64986:19;:36::i;:::-;64968:54;-1:-1:-1;65112:14:0;65141:20;;;:36;;-1:-1:-1;65165:12:0;;65141:36;65137:422;;;-1:-1:-1;65257:24:0;;-1:-1:-1;;;65257:24:0;;;;65137:422;;;65420:21;;65399:18;;;;65511:24;;65399:42;;;;-1:-1:-1;65459:92:0;;65543:7;;65460:77;;65491:45;;:15;;65511:24;-1:-1:-1;;;65511:24:0;;;;;;65491:19;:45;:::i;:::-;65461:24;:15;:24;;;;;:19;:24;:::i;65459:92::-;65450:101;;65137:422;65625:24;;:41;;;;-1:-1:-1;;;65625:24:0;;;;:41;:85;;65686:24;;-1:-1:-1;;;65686:24:0;;;;65625:85;;;65676:6;65625:85;65593:21;;:118;65565:146;;:18;;;:146;-1:-1:-1;;;;;;;;;62893:2868:0;;;;;;:::o;3796:106::-;3884:10;3796:106;:::o;43288:191::-;-1:-1:-1;;;;;43432:13:0;;43373:16;43432:13;;;:4;:13;;;;;43373:16;;43432:41;;;;;;;:27;:41;:::i;:::-;43412:61;;;;-1:-1:-1;43288:191:0;-1:-1:-1;;;43288:191:0:o;46074:160::-;-1:-1:-1;;;;;46196:2:0;46188:10;;;;;;46208:18;;;46074:160::o;68018:121::-;68090:5;:12;68084:18;;68076:57;;;;;-1:-1:-1;;;68076:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;68290:349;68387:9;68373:24;;;;:13;:24;;;;;;68358:12;:39;68350:66;;;;;-1:-1:-1;;;68350:66:0;;;;;;;;;;;;-1:-1:-1;;;68350:66:0;;;;;;;;;;;;;;;68437:9;68423:24;;;;:13;:24;;;;;68450:12;68423:39;;68475:10;:23;68471:163;;68546:10;68532:25;;;;:13;:25;;;;;;68517:12;:40;68509:68;;;;;-1:-1:-1;;;68509:68:0;;;;;;;;;;;;-1:-1:-1;;;68509:68:0;;;;;;;;;;;;;;;68600:10;68586:25;;;;:13;:25;;;;;68614:12;68586:40;;68471:163;68290:349::o;60693:630::-;60751:17;;:::i;:::-;-1:-1:-1;60751:24:0;;;;;;;;;;-1:-1:-1;;;;;60751:24:0;;;;;-1:-1:-1;;;60751:24:0;;;;;;;;;;-1:-1:-1;;;60751:24:0;;;;;;;;;;;-1:-1:-1;;;60751:24:0;;;;;;;;-1:-1:-1;;;60751:24:0;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;60894:25:0;60751:24;60894:18;:25::i;:::-;60874:45;-1:-1:-1;60930:14:0;;60926:191;;60972:137;61001:60;61021:9;61001:60;;;;;;;;;;;;;;;;;:19;:60::i;:::-;60972:137;;;;;;;;;;;;;;;;;:14;;-1:-1:-1;;;60972:14:0;;-1:-1:-1;;;;;60972:14:0;;;:18;:137::i;:::-;60955:14;;:154;;;;;-1:-1:-1;;;;;60955:154:0;;;;;-1:-1:-1;;;;;60955:154:0;;;;;;60926:191;61148:7;61127:5;:18;;;:28;61123:89;;;61186:18;;;;61166:17;;;:38;61123:89;61246:9;61222:33;;:5;:21;;;:33;;;61218:100;;;61289:21;;;;61266:44;;;;;;-1:-1:-1;;;61266:44:0;-1:-1:-1;;;;61266:44:0;;;;;;61218:100;60693:630;;;;;:::o;61329:928::-;61408:17;;:::i;:::-;-1:-1:-1;61408:24:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;61408:24:0;;;;;;;;;;;-1:-1:-1;;;;;;;;61408:24:0;;;;;;;;;;;-1:-1:-1;;;61408:24:0;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;61590:39:0;61408:24;61616:12;61590:18;:39::i;:::-;61543:86;;;;61642:13;61659:1;61642:18;61638:73;;61688:15;;;;61671:32;;-1:-1:-1;;;;;61671:32:0;;;-1:-1:-1;;;61671:32:0;-1:-1:-1;;61671:32:0;;;;;;61638:73;61721:16;;61717:319;;61766:14;;-1:-1:-1;;;61766:14:0;;-1:-1:-1;;;;;61766:14:0;61752:28;;61748:71;;;-1:-1:-1;61804:14:0;;-1:-1:-1;;;61804:14:0;;-1:-1:-1;;;;;61804:14:0;61748:71;61845:137;61874:61;61894:11;61874:61;;;;;;;;;;;;;;;;;:19;:61::i;:::-;61845:137;;;;;;;;;;;;;;;;;:14;;-1:-1:-1;;;61845:14:0;;-1:-1:-1;;;;;61845:14:0;;;:18;:137::i;:::-;61828:14;;:154;;;;;-1:-1:-1;;;;;61828:154:0;;;;;-1:-1:-1;;;;;61828:154:0;;;;;;61991:37;62004:10;62016:11;61991:12;:37::i;:::-;62067:16;62046:37;;:5;:18;;;:37;;;62042:98;;;62114:18;;;;62094:38;;;;;;-1:-1:-1;;;62094:38:0;-1:-1:-1;;62094:38:0;;;;;;62042:98;62150:21;;:39;;;;;;;62146:106;;;62223:21;;62200:44;;-1:-1:-1;;62200:44:0;;;;;;;;62146:106;61329:928;;;;;;;:::o;8146:136::-;8204:7;8231:43;8235:1;8238;8231:43;;;;;;;;;;;;;;;;;:3;:43::i;18414:177::-;18524:58;;;-1:-1:-1;;;;;18524:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18524:58:0;-1:-1:-1;;;18524:58:0;;;18497:86;;18517:5;;18497:19;:86::i;:::-;18414:177;;;:::o;67802:210::-;67896:6;67918:88;67938:38;49183:4;67938:27;:9;67952:12;67938:13;:27::i;:38::-;67918:88;;;;;;;;;;;;;;;;;:19;:88::i;58467:2041::-;58543:5;:12;58526:14;;;;58654:1400;58682:6;58676:3;:12;58654:1400;;;58740:10;;;;:5;:10;;;;;;;;-1:-1:-1;;;;;58740:17:0;;;;;;;;;:27;58722:46;;-1:-1:-1;;;;;58722:17:0;;;;-1:-1:-1;;;58740:27:0;;;58722:17;:46::i;:::-;58706:62;;58779:17;58799:5;58805:3;58799:10;;;;;;;;;;;;;;;;;;;;;;;58865:12;;-1:-1:-1;;;;;58865:12:0;;;58911:26;;;:17;:26;;;;;;;58799:10;;-1:-1:-1;58911:26:0;58950:27;58946:598;;59018:3;;:22;;;-1:-1:-1;;;59018:22:0;;-1:-1:-1;;;;;59018:22:0;;;;;;;;;58998:78;;59018:3;;;;;:13;;:22;;;;;;;;;;;;;;;:3;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;59018:22:0;58998:78;;;;;;;;;;;;;59018:22;58998:78;;;:19;:78::i;:::-;58990:86;-1:-1:-1;59100:21:0;-1:-1:-1;;;;;59100:14:0;;58990:86;59100:14;:21::i;:::-;59087:34;;58946:598;;;59148:23;59181:13;-1:-1:-1;;;;;59174:33:0;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;59174:35:0;59242:40;;;-1:-1:-1;;;59242:40:0;;-1:-1:-1;;;;;59242:40:0;;;;;;;;;59174:35;;-1:-1:-1;59220:19:0;;59242:31;;;;;;:40;;;;;59174:35;;59242:40;;;;;;;;:31;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;59242:40:0;;-1:-1:-1;59293:15:0;59311:52;59347:15;59311:31;59242:40;49183:4;59311:24;:31::i;:52::-;59396:3;;:28;;;-1:-1:-1;;;59396:28:0;;-1:-1:-1;;;;;59396:28:0;;;;;;;;;59293:70;;-1:-1:-1;59374:19:0;;59396:3;;;;;:13;;:28;;;;;;;;;;;;;;:3;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;59396:28:0;;-1:-1:-1;59443:91:0;59463:35;49183:4;59463:24;59396:28;59479:7;59463:15;:24::i;:35::-;59443:91;;;;;;;;;;;;;;;;;:19;:91::i;:::-;59435:99;;58946:598;;;;;59559:17;;-1:-1:-1;;;59559:17:0;;;;59554:53;;59589:8;;;;;;59554:53;59642:12;;:26;;;-1:-1:-1;;;59642:26:0;;;;59617:22;;-1:-1:-1;;;;;59642:12:0;;:24;;:26;;;;;;;;;;;;;;:12;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;59617:51;;59677:17;59697:5;:10;59703:3;59697:10;;;;;;;;;;;:17;59708:5;-1:-1:-1;;;;;59697:17:0;-1:-1:-1;;;;;59697:17:0;;;;;;;;;;;;:27;;;59677:47;;59737:9;59750:1;59737:14;;:37;;;;-1:-1:-1;59755:19:0;;;59737:37;59733:314;;;59787:17;59807:45;59837:14;59807:25;-1:-1:-1;;;;;59807:14:0;;49183:4;59807:18;:25::i;:45::-;59787:65;-1:-1:-1;59863:17:0;59883:35;49183:4;59883:24;:9;59787:65;59883:13;:24::i;:35::-;59863:55;-1:-1:-1;59946:29:0;:14;59863:55;59946:18;:29::i;:::-;59929:46;;60022:3;60015:5;-1:-1:-1;;;;;59993:44:0;;60027:9;59993:44;;;;;;;;;;;;;;;;;;59733:314;;;58654:1400;;;;;;;58690:5;;58654:1400;;;-1:-1:-1;60062:21:0;60094:19;;;:38;;-1:-1:-1;;;;;;60117:15:0;;;60094:38;60093:162;;60158:97;60178:41;-1:-1:-1;;;;;60178:41:0;;:25;:14;49183:4;60178:18;:25::i;:41::-;60158:97;;;;;;;;;;;;;;;;;:19;:97::i;:::-;60093:162;;;60145:1;60093:162;60269:34;;;-1:-1:-1;;;;;60269:34:0;;;;;;60062:193;;-1:-1:-1;60269:34:0;;;;;;;;;;60315:66;;;-1:-1:-1;;;;;60342:22:0;;;60315:66;;;;;;;;;;-1:-1:-1;;;;;60315:66:0;;;;;;;;;;;60390:63;60405:5;60412:40;60422:13;60437:14;60412:9;:40::i;:::-;60390:14;:63::i;:::-;60460:42;60477:24;60487:10;60499:1;60477:9;:24::i;:::-;60460:16;:42::i;18812:622::-;19182:10;;;19181:62;;-1:-1:-1;19198:39:0;;;-1:-1:-1;;;19198:39:0;;19222:4;19198:39;;;;-1:-1:-1;;;;;19198:39:0;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19198:39:0;:44;19181:62;19173:152;;;;-1:-1:-1;;;19173:152:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19363:62;;;-1:-1:-1;;;;;19363:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19363:62:0;-1:-1:-1;;;19363:62:0;;;19336:90;;19356:5;;19336:19;:90::i;29946:135::-;30002:6;30028:45;30032:1;30035;30028:45;;;;;;;;;;;;;;;;;:3;:45::i;45053:307::-;-1:-1:-1;;;;;45153:15:0;;;45127:23;45153:15;;;:4;:15;;;;;;:25;;45185:38;;;-1:-1:-1;;;45185:38:0;;;-1:-1:-1;;;;;;45185:38:0;;;;;;45237:55;;45153:25;;;;;;;45185:38;;45153:25;;:15;;45237:55;;45127:23;45237:55;45301:53;45315:9;45326:15;45343:10;45301:13;:53::i;33811:1292::-;33921:7;33930:6;33954:15;33972:31;33991:11;33972:18;:31::i;:::-;33954:49;;34014:21;;:::i;:::-;-1:-1:-1;34014:30:0;;;;;;;;;;;;;;;;-1:-1:-1;;;34014:30:0;;;;;;;-1:-1:-1;;;34014:30:0;;-1:-1:-1;;;;;34014:30:0;;;;;;;;34055:20;;:::i;:::-;34154:17;;34150:719;;34212:22;;34196:38;;;;;34188:82;;;;;-1:-1:-1;;;34188:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;34341:24:0;;;;34285:11;34341:24;;;:18;;;:24;;;;;;;;;34336:29;;;;;;;;;;;;;;;-1:-1:-1;;;34336:29:0;;;-1:-1:-1;;;;;34336:29:0;;;;;;;;;;34341:24;;34384;;;;34380:478;;;-1:-1:-1;34437:7:0;;;;34446:12;;34437:7;;-1:-1:-1;34446:12:0;-1:-1:-1;34429:30:0;;-1:-1:-1;;34429:30:0;34380:478;34150:719;;34933:19;34954:12;34970:57;34986:6;34994:7;:22;;;35018:8;34970:15;:57::i;:::-;35052:32;;;;;;;;:18;;;:32;;;;;:42;34932:95;;-1:-1:-1;35052:42:0;;-1:-1:-1;;;;;;33811:1292:0;;;;;;;:::o;66437:947::-;66584:12;66606:13;66621:21;66646;66658:8;66646:11;:21::i;:::-;66605:62;;;;66675:28;66709:23;66721:10;66709:11;:23::i;:::-;66674:58;;;66740:31;66777:33;66789:20;66777:11;:33::i;:::-;-1:-1:-1;66739:71:0;-1:-1:-1;;;;;;66823:19:0;;66819:560;;66861:6;66853:14;;66819:560;;;66890:17;66910:61;49183:4;66910:50;-1:-1:-1;;;;;66910:23:0;;;;:50;;:27;:50::i;:61::-;66890:81;;67009:24;-1:-1:-1;;;;;66984:49:0;:21;-1:-1:-1;;;;;66984:49:0;;66980:305;;67046:25;67074:80;-1:-1:-1;;;;;67120:33:0;;;;67074:41;;:30;;49183:4;67074:34;:41::i;:80::-;67046:108;;49183:4;67169:17;:25;67165:111;;;67221:43;67246:17;67221:20;:9;49183:4;67221:13;:20::i;:43::-;67209:55;;67165:111;66980:305;;67301:70;67312:58;67332:9;67312:58;;;;;;;;;;;;;;;;;:19;:58::i;:::-;-1:-1:-1;;;;;67301:10:0;;;;:70::i;:::-;67293:78;;66819:560;;66437:947;;;;;;;;;:::o;67390:406::-;67527:6;67556:12;;:234;;67606:173;;;;;;;;;;;;;;;;;;;67713:13;;67606:88;67626:40;49183:4;67626:29;:7;67638:16;67626:11;:29::i;:40::-;67606:88;;;;;;;;;;;;;;;;;:19;:88::i;:::-;-1:-1:-1;;;;;67606:92:0;;:173;:92;:173::i;:::-;67556:234;;;67580:1;67542:248;67390:406;-1:-1:-1;;;;67390:406:0:o;29635:132::-;29691:6;29717:42;29721:1;29724;29717:42;;;;;;;;;;;;;;;;;:3;:42::i;31335:163::-;31412:6;31450:12;-1:-1:-1;;;31439:9:0;;31431:32;;;;-1:-1:-1;;;31431:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;31488:1:0;;31335:163;-1:-1:-1;;31335:163:0:o;30288:::-;30365:6;30403:12;-1:-1:-1;;;30392:9:0;;30384:32;;;;-1:-1:-1;;;30384:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;35469:322;35562:9;35573:12;35603:15;35621:31;35640:11;35621:18;:31::i;:::-;35687:21;;35603:49;;-1:-1:-1;35687:21:0;;35734:49;35687:6;:21;35603:49;35734:15;:49::i;:::-;35721:62;;;;-1:-1:-1;35469:322:0;-1:-1:-1;;;;;35469:322:0:o;7690:181::-;7748:7;7780:5;;;7804:6;;;;7796:46;;;;;-1:-1:-1;;;7796:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;33055:323;33129:7;33138:6;33162:21;;:::i;:::-;-1:-1:-1;33162:30:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;33162:30:0;;;;;;;;;-1:-1:-1;;;33162:30:0;;;-1:-1:-1;;;;;33162:30:0;;;;;;;;;33210:27;:160;;33287:22;;33268:42;;;;;;;;:18;;;:42;;;;;;:47;33336:22;;33317:42;;;;;;:52;-1:-1:-1;;;33268:47:0;;;-1:-1:-1;;;;;33268:47:0;;33317:52;33210:160;;;33250:1;33253;33210:160;33203:167;;;;;33055:323;;;:::o;2166:508::-;2583:4;2629:17;2661:7;2166:508;:::o;5098:129::-;1765:12;;;;;;;;:31;;;1781:15;:13;:15::i;:::-;1765:47;;;-1:-1:-1;1801:11:0;;;;1800:12;1765:47;1757:106;;;;-1:-1:-1;;;1757:106:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1872:19;1895:12;;;;;;1894:13;1914:83;;;;1943:12;:19;;-1:-1:-1;;;;1943:19:0;;;;;1971:18;1958:4;1971:18;;;1914:83;5156:26:::1;:24;:26::i;:::-;5193;:24;:26::i;:::-;2019:14:::0;2015:57;;;2059:5;2044:20;;-1:-1:-1;;2044:20:0;;;5098:129;:::o;22676:526::-;1765:12;;;;;;;;:31;;;1781:15;:13;:15::i;:::-;1765:47;;;-1:-1:-1;1801:11:0;;;;1800:12;1765:47;1757:106;;;;-1:-1:-1;;;1757:106:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1872:19;1895:12;;;;;;1894:13;1914:83;;;;1943:12;:19;;-1:-1:-1;;;;1943:19:0;;;;;1971:18;1958:4;1971:18;;;1914:83;23174:11:::1;:18:::0;;-1:-1:-1;;23174:18:0::1;23188:4;23174:18;::::0;;2015:57;;;;2059:5;2044:20;;-1:-1:-1;;2044:20:0;;;22676:526;:::o;18599:205::-;18727:68;;;-1:-1:-1;;;;;18727:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18727:68:0;-1:-1:-1;;;18727:68:0;;;18700:96;;18720:5;;18700:19;:96::i;:::-;18599:205;;;;:::o;68145:139::-;68189:6;68211:67;68231:12;68211:67;;;;;;;;;;;;;;;;;:19;:67::i;:::-;68204:74;;68145:139;:::o;9020:471::-;9078:7;9323:6;9319:47;;-1:-1:-1;9353:1:0;9346:8;;9319:47;9390:5;;;9394:1;9390;:5;:1;9414:5;;;;;:10;9406:56;;;;-1:-1:-1;;;9406:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9959:132;10017:7;10044:39;10048:1;10051;10044:39;;;;;;;;;;;;;;;;;:3;:39::i;32403:295::-;32496:16;;32551:17;;;:57;;-1:-1:-1;32587:21:0;;;;32572:36;;32551:57;:139;;32646:44;32661:6;32676:12;32646:14;:44::i;:::-;32551:139;;;32625:1;32628;32551:139;32544:146;;;;32403:295;;;;;:::o;29441:186::-;29525:6;29555:5;;;29587:12;-1:-1:-1;;;;;29579:6:0;;;;;;;;29571:29;;;;-1:-1:-1;;;29571:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;29618:1:0;29441:186;-1:-1:-1;;;;29441:186:0:o;29775:163::-;29859:6;29891:1;-1:-1:-1;;;;;29886:6:0;:1;-1:-1:-1;;;;;29886:6:0;;;29894:12;29878:29;;;;;-1:-1:-1;;;29878:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;29925:5:0;;;29775:163::o;60514:130::-;60609:3;;60614:9;;60582:56;;-1:-1:-1;;;;;60609:3:0;;;;60614:9;60625:3;60630:7;60582:26;:56::i;8577:192::-;8663:7;8699:12;8691:6;;;;8683:29;;;;-1:-1:-1;;;8683:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20458:1115;21063:27;21071:5;-1:-1:-1;;;;;21063:25:0;;:27::i;:::-;21055:71;;;;;-1:-1:-1;;;21055:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;21200:12;21214:23;21249:5;-1:-1:-1;;;;;21241:19:0;21261:4;21241:25;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;21241:25:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21199:67;;;;21285:7;21277:52;;;;;-1:-1:-1;;;21277:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21346:17;;:21;21342:224;;21488:10;21477:30;;;;;;;;;;;;;;;-1:-1:-1;21477:30:0;21469:85;;;;-1:-1:-1;;;21469:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46240:149;-1:-1:-1;;;;;46369:13:0;46363:2;46346:19;;;;-1:-1:-1;;;46346:19:0;46345:37;;46240:149::o;43594:525::-;-1:-1:-1;;;;;43709:13:0;;;43665:41;43709:13;;;:4;:13;;;;;43750;;43709;;-1:-1:-1;;;43750:13:0;;;;;43814:24;;:49;;-1:-1:-1;;;;;43847:16:0;;;;;;:4;:16;;;;;43814:49;;;43841:3;43814:49;43770:93;;43873:18;43897:19;:3;:17;:19::i;:::-;-1:-1:-1;;;;;;44049:21:0;;;;;;:12;:21;;;;;;43872:44;;-1:-1:-1;43923:155:0;;44014:57;;43872:44;;44043:4;;-1:-1:-1;;;;;44049:21:0;44014:16;:57::i;:::-;43923:3;;:19;:155::i;:::-;-1:-1:-1;;;;;;;;;44085:21:0;;;;;;;;:12;:21;;;;;:28;;-1:-1:-1;;;;;;44085:28:0;-1:-1:-1;;;;;44085:28:0;;;;;;;;;;-1:-1:-1;43594:525:0:o;43485:103::-;43554:4;43541:19;;;;:4;:19;;;;;:41;;43577:4;43541:35;:41::i;44125:922::-;44227:41;;-1:-1:-1;;;;;44329:18:0;;44325:293;;-1:-1:-1;;;;;;;44394:13:0;;;;;;;:4;:13;;;;;;44422:8;;;;;;;44325:293;;;-1:-1:-1;;;;;44448:16:0;;44444:174;;-1:-1:-1;;;;;;;44510:10:0;;;;;;;:4;:10;;;;;;44535:13;;;;;;;44444:174;;;-1:-1:-1;;;;;;;44577:10:0;;;;;;;:4;:10;;;;;;44602:8;;;;;;;44444:174;-1:-1:-1;;;;;44646:21:0;;44624:19;44646:21;;;:12;:21;;;;;;-1:-1:-1;;;;;44646:21:0;;44702:19;:3;:17;:19::i;:::-;44676:45;;;44728:15;44746:45;44763:11;44776:1;44779:11;44746:16;:45::i;:::-;44728:63;;44817:7;-1:-1:-1;;;;;44802:22:0;:11;-1:-1:-1;;;;;44802:22:0;;44798:56;;44826:28;:3;44846:7;44826:19;:28::i;:::-;;44798:56;44864:19;44889;:3;:17;:19::i;:::-;44863:45;;;44915:15;44933:45;44950:11;44963;44976:1;44933:16;:45::i;:::-;44915:63;;45004:7;-1:-1:-1;;;;;44989:22:0;:11;-1:-1:-1;;;;;44989:22:0;;44985:56;;45013:28;:3;45033:7;45013:19;:28::i;:::-;;44985:56;44125:922;;;;;;;;;;:::o;37428:210::-;37499:6;37540:12;37526:11;:26;37518:68;;;;;-1:-1:-1;;;37518:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;37604:26;37618:11;37604:13;:26::i;37646:1085::-;37761:6;37769:7;37794:20;;:::i;:::-;37869:19;;;37865:65;;37913:1;37916;37905:13;;;;;;;37865:65;-1:-1:-1;37945:34:0;;;;;;;;:18;;;:34;;;;;;;;;37940:39;;;;;;;;;;;;;;;-1:-1:-1;;;37940:39:0;;;-1:-1:-1;;;;;37940:39:0;;;;;;;;;;37994:24;;-1:-1:-1;37990:89:0;;38059:7;;;38043:14;;-1:-1:-1;38059:7:0;-1:-1:-1;38035:32:0;;37990:89;38093:18;:21;;;;:18;;;:21;;;;;:31;:42;;;;:31;;:42;38089:88;;;38160:1;38163;38152:13;;;;;;;38089:88;38204:1;38231:14;38256:411;38271:5;38263:13;;:5;:13;;;38256:411;;;38293:13;38335:1;38317:19;38318:13;;;38317:19;;38309:27;;38383:26;;;;;;;;:18;;;:26;;;;;;;;;38378:31;;;;;;;;;;;;;;;-1:-1:-1;;;38378:31:0;;;-1:-1:-1;;;;;38378:31:0;;;;;;;;;;-1:-1:-1;38309:27:0;;-1:-1:-1;38428:24:0;;;38424:232;;;38481:6;38489:2;:7;;;38473:24;;;;;;;;;;38424:232;38523:12;;:23;;;;;;;38519:137;;;38575:6;38567:14;;38519:137;;;38639:1;38630:6;:10;38622:18;;38519:137;38256:411;;;;-1:-1:-1;38692:25:0;;;;;;;:18;;;:25;;;;;:30;38685:5;;-1:-1:-1;;;;;;;;;38692:30:0;;;;;-1:-1:-1;;37646:1085:0;;;;;;:::o;3717:69::-;1765:12;;;;;;;;:31;;;1781:15;:13;:15::i;:::-;1765:47;;;-1:-1:-1;1801:11:0;;;;1800:12;1765:47;1757:106;;;;-1:-1:-1;;;1757:106:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1872:19;1895:12;;;;;;1894:13;1914:83;;;;1943:12;:19;;-1:-1:-1;;;;1943:19:0;;;;;1971:18;1958:4;1971:18;;;2019:14;2015:57;;;2059:5;2044:20;;-1:-1:-1;;2044:20:0;;;3717:69;:::o;5235:202::-;1765:12;;;;;;;;:31;;;1781:15;:13;:15::i;:::-;1765:47;;;-1:-1:-1;1801:11:0;;;;1800:12;1765:47;1757:106;;;;-1:-1:-1;;;1757:106:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1872:19;1895:12;;;;;;1894:13;1914:83;;;;1943:12;:19;;-1:-1:-1;;;;1943:19:0;;;;;1971:18;1958:4;1971:18;;;1914:83;5307:17:::1;5327:12;:10;:12::i;:::-;5350:6;:18:::0;;-1:-1:-1;;;;;;5350:18:0::1;-1:-1:-1::0;;;;;5350:18:0;::::1;::::0;;::::1;::::0;;;5384:43:::1;::::0;5350:18;;-1:-1:-1;5350:18:0;-1:-1:-1;;5384:43:0::1;::::0;-1:-1:-1;;5384:43:0::1;2005:1;2019:14:::0;2015:57;;;2059:5;2044:20;;-1:-1:-1;;2044:20:0;;;5235:202;:::o;10579:345::-;10665:7;10767:12;10760:5;10752:28;;;;-1:-1:-1;;;10752:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10791:9;10807:1;10803;:5;;;;;;;10579:345;-1:-1:-1;;;;;10579:345:0:o;32706:242::-;32858:32;;;;32802:16;32858:32;;;:18;;;;;:32;;;;;;:42;;;;;-1:-1:-1;;;32902:37:0;;;-1:-1:-1;;;;;32902:37:0;;32706:242::o;15776:619::-;15836:4;16304:20;;16147:66;16344:23;;;;;;:42;;-1:-1:-1;;16371:15:0;;;16336:51;-1:-1:-1;;15776:619:0:o;45532:536::-;45672:16;45698:12;45712;45728:21;45740:8;45728:11;:21::i;:::-;45697:52;;;;45757:20;45779;45803:25;45815:12;45803:11;:25::i;:::-;45756:72;;;;45836:21;45859;45884:26;45896:13;45884:11;:26::i;:::-;45835:75;;;;45928:134;45946:50;45959:5;45966:13;45981:14;45946:12;:50::i;:::-;46005;46018:5;46025:13;46040:14;46005:12;:50::i;:::-;45928:9;:134::i;:::-;45917:145;45532:536;-1:-1:-1;;;;;;;;;;45532:536:0:o;35916:827::-;36001:9;36028:15;36046:27;36060:12;36046:13;:27::i;:::-;36028:45;;36084:21;;:::i;:::-;-1:-1:-1;36084:30:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;36084:30:0;;;;;;;;;-1:-1:-1;;;36084:30:0;;;-1:-1:-1;;;;;36084:30:0;;;;;;;;;-1:-1:-1;;36145:80:0;;36224:1;36145:80;;;36193:22;;36174:42;;;;;;:18;;;:42;;;;;:47;-1:-1:-1;;;36174:47:0;;-1:-1:-1;;;;;36174:47:0;36145:80;36127:98;;36236:14;36261:7;-1:-1:-1;;;;;36253:15:0;:4;-1:-1:-1;;;;;36253:15:0;;;36236:32;;36316:8;36285:39;;:7;:27;;;:39;;;36281:294;;-1:-1:-1;36366:22:0;;36391:1;36366:26;;;36341:51;;;;;;;36434:46;;-1:-1:-1;;36434:46:0;;-1:-1:-1;;36495:37:0;-1:-1:-1;;;36495:37:0;;;;;;;;;;36281:294;36589:9;36585:113;;;36660:26;;;;;;;;;;;;;;-1:-1:-1;;;;;36660:26:0;;;;;;;;;;36634:22;;36615:42;;-1:-1:-1;36615:42:0;;;:18;;;:42;;;;;;;:71;;;;;;-1:-1:-1;;36615:71:0;;;;;;;;;-1:-1:-1;;;;;;36615:71:0;-1:-1:-1;;;36615:71:0;;;;;;;;;;;;;;36585:113;-1:-1:-1;;36713:22:0;;35916:827;-1:-1:-1;;;;35916:827:0:o;37231:189::-;37297:6;-1:-1:-1;;;37324:11:0;:19;37316:59;;;;;-1:-1:-1;;;37316:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;37400:11:0;37231:189::o;46395:368::-;46506:13;46540:4;-1:-1:-1;;;;;46532:12:0;:4;-1:-1:-1;;;;;46532:12:0;;46528:230;;;-1:-1:-1;46564:3:0;46528:230;;;46592:4;-1:-1:-1;;;;;46585:11:0;:4;-1:-1:-1;;;;;46585:11:0;;46581:177;;;46616:23;46624:14;-1:-1:-1;;;;;46624:8:0;;46633:4;46624:8;:14::i;:::-;-1:-1:-1;;;;;46616:7:0;;;;:23::i;:::-;46607:32;;46581:177;;;46662:15;46680:14;-1:-1:-1;;;;;46680:8:0;;46689:4;46680:8;:14::i;:::-;46662:32;;46718:8;-1:-1:-1;;;;;46712:14:0;:3;-1:-1:-1;;;;;46712:14:0;;:38;;46749:1;46712:38;;;46729:17;-1:-1:-1;;;;;46729:7:0;;46737:8;46729:7;:17::i;:::-;46703:47;46395:368;-1:-1:-1;;;;;46395:368:0:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
ipfs://d6417392f1c78f6ec75c1b71f95adc7e6bc4d41438569174fcb1e0def5c1de80
🤖 Code Reader
Generate instant answers for your smart contract questions using AI Models. Read more.
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 30 Chains
Tokens
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
DeFi
0 Protocols
Loading...
Loading
| Chain | Protocol | Positions | Portfolio % | Value |
|---|---|---|---|---|
There are no matching entries |
||||
DeFi
0 Protocols
Loading...
Loading
| Protocol | Positions | Portfolio % | Value |
|---|---|---|---|
There are no matching entries |
|||
Loading...
Loading
Loading...
Loading
Loading...
Loading
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.


