[ { "inputs": [ { "internalType": "address", "name": "_locker", "type": "address" }, { "internalType": "uint24", "name": "_poolFee", "type": "uint24" }, { "internalType": "address", "name": "_projectOwner", "type": "address" }, { "components": [ { "internalType": "uint256", "name": "totalSupply", "type": "uint256" }, { "internalType": "address", "name": "uniswapRouter", "type": "address" }, { "internalType": "address", "name": "uniswapFactory", "type": "address" }, { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "string", "name": "meta", "type": "string" }, { "internalType": "uint256", "name": "afterBlock", "type": "uint256" }, { "internalType": "uint256", "name": "softTopCap", "type": "uint256" }, { "internalType": "uint256", "name": "refundFeeRate", "type": "uint256" }, { "internalType": "address", "name": "refundFeeTo", "type": "address" } ], "internalType": "struct FairLaunchLimitBlockStruct", "name": "params", "type": "tuple" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "ERC20InvalidSpender", "type": "error" }, { "inputs": [], "name": "ReentrancyGuardReentrantCall", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "addr", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_type", "type": "uint256" } ], "name": "Deployed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "ethAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amountOfTokens", "type": "uint256" } ], "name": "FundEvent", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "ethAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "liquidity", "type": "uint256" } ], "name": "LaunchEvent", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "eth", "type": "uint256" } ], "name": "RefundEvent", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "CLAIM_COMMAND", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINIMAL_FUND", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINT_COMMAND", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "REFUND_COMMAND", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "START_COMMAND", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "canStart", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "claimed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "clearRefundFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "factory", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "fundBalanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_addr", "type": "address" } ], "name": "getExtraETH", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "locker", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "meta", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "mightGet", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "minted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "poolFee", "outputs": [ { "internalType": "uint24", "name": "", "type": "uint24" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "projectOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "refundFeeRate", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "refundFeeTo", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint24", "name": "_poolFee", "type": "uint24" } ], "name": "setPoolFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "softTopCap", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "started", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalDispatch", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalEthers", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "uniswapFactory", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapPositionManager", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "untilBlockNumber", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "weth", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
6101e06040523480156200001257600080fd5b5060405162003ce738038062003ce783398101604081905262000035916200070f565b6060810151608082015160a0830151828260036200005483826200090d565b5060046200006382826200090d565b506005915062000076905082826200090d565b5050600160065550503060808190526007805460ff19169055815160e0819052620000a29190620002d7565b60208101516001600160a01b0390811660a0908152604083015190911660c052810151600590620000d490826200090d565b50438160c00151620000e79190620009ef565b61010090815260e082015161012090815290820151600b558101516001600160a01b03908116610140528481166101605282811661018052600d805462ffffff191662ffffff8616179055336101a05260a051604080516312a9293f60e21b815290519190921691634aa4a4fc9160048083019260209291908290030181865afa1580156200017a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a0919062000a05565b6001600160a01b03166101c081905260009081903010620001c6576101c05130620001cc565b306101c0515b915091506000806101c0516001600160a01b0316306001600160a01b0316106200020b5761012051600260e05162000205919062000a2a565b62000221565b600260e0516200021c919062000a2a565b610120515b9092509050600062000234838362000319565b60a051600d546040516309f56ab160e11b81526001600160a01b038981166004830152888116602483015262ffffff9092166044820152818416606482015292935016906313ead562906084016020604051808303816000875af1158015620002a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c7919062000a05565b5050505050505050505062000a67565b6001600160a01b038216620003075760405163ec442f0560e01b8152600060048201526024015b60405180910390fd5b6200031560008383620003cf565b5050565b600080831180156200032b5750600082115b620003795760405162461bcd60e51b815260206004820152601e60248201527f416d6f756e7473206d7573742062652067726561746572207468616e203000006044820152606401620002fe565b6000836200039084670de0b6b3a764000062000a4d565b6200039c919062000a2a565b90506000620003ab8262000441565b90506000620003c3633b9aca00606084901b62000a2a565b93505050505b92915050565b600081116200042f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401620002fe565b6200043c838383620004b6565b505050565b6000816000036200045457506000919050565b8160006200046460028362000a2a565b62000471906001620009ef565b90505b81811015620004af579050806002816200048f818762000a2a565b6200049b9190620009ef565b620004a7919062000a2a565b905062000474565b5092915050565b6200043c8383836001600160a01b038316620004ec578060026000828254620004e09190620009ef565b90915550620005609050565b6001600160a01b03831660009081526020819052604090205481811015620005415760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401620002fe565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166200057e576002805482900390556200059d565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620005e391815260200190565b60405180910390a3505050565b80516001600160a01b03811681146200060857600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60405161014081016001600160401b03811182821017156200064957620006496200060d565b60405290565b604051601f8201601f191681016001600160401b03811182821017156200067a576200067a6200060d565b604052919050565b600082601f8301126200069457600080fd5b81516001600160401b03811115620006b057620006b06200060d565b6020620006c6601f8301601f191682016200064f565b8281528582848701011115620006db57600080fd5b60005b83811015620006fb578581018301518282018401528201620006de565b506000928101909101919091529392505050565b600080600080608085870312156200072657600080fd5b6200073185620005f0565b9350602085015162ffffff811681146200074a57600080fd5b92506200075a60408601620005f0565b60608601519092506001600160401b03808211156200077857600080fd5b9086019061014082890312156200078e57600080fd5b6200079862000623565b82518152620007aa60208401620005f0565b6020820152620007bd60408401620005f0565b6040820152606083015182811115620007d557600080fd5b620007e38a82860162000682565b606083015250608083015182811115620007fc57600080fd5b6200080a8a82860162000682565b60808301525060a0830151828111156200082357600080fd5b620008318a82860162000682565b60a08301525060c083015160c082015260e083015160e08201526101009150818301518282015261012091506200086a828401620005f0565b8282015280935050505092959194509250565b600181811c908216806200089257607f821691505b602082108103620008b357634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200043c576000816000526020600020601f850160051c81016020861015620008e45750805b601f850160051c820191505b818110156200090557828155600101620008f0565b505050505050565b81516001600160401b038111156200092957620009296200060d565b62000941816200093a84546200087d565b84620008b9565b602080601f831160018114620009795760008415620009605750858301515b600019600386901b1c1916600185901b17855562000905565b600085815260208120601f198616915b82811015620009aa5788860151825594840194600190910190840162000989565b5085821015620009c95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b80820180821115620003c957620003c9620009d9565b60006020828403121562000a1857600080fd5b62000a2382620005f0565b9392505050565b60008262000a4857634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417620003c957620003c9620009d9565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516130f662000bf16000396000818161062b015281816116a00152818161170501528181612649015281816126710152818161269901526126d50152600081816108af0152818161205a01526122de01526000818161083b0152611c830152600081816109550152818161176601528181611a3a01528181611ab101528181611bcc0152611cb501526000818161069e015281816112210152611262015260008181610a5b01528181610df701528181610e8b01528181610efe015281816115330152818161156301528181611591015281816121bc01526121ef0152600081816103d9015281816106d20152610a0d01526000818161078901528181610c8b015281816118f3015281816119a101528181612017015281816127030152612733015260006107d8015260008181610293015281816109dc01528181611510015281816115b901528181611ae00152611b7701526000610a9501526130f66000f3fe60806040526004361061026e5760003560e01c80638255217011610153578063c884ef83116100cb578063e5047b301161007f578063f196248611610064578063f196248614610a34578063f570ee6b14610a49578063fb5d5d4d1461080f57600080fd5b8063e5047b30146109ca578063ec309038146109fe57600080fd5b8063d35e7efc116100b0578063d35e7efc14610916578063d7b96d4e14610943578063dd62ed3e1461097757600080fd5b8063c884ef83146108d1578063c885044e1461090157600080fd5b80639ecf009011610122578063a9059cbb11610107578063a9059cbb1461085d578063a92bc58a1461087d578063c45a01551461089d57600080fd5b80639ecf009014610672578063a4475ce41461082957600080fd5b806382552170146107ab5780638bdb2afa146107c657806395d89b41146107fa578063996eba2d1461080f57600080fd5b806332c4f2bf116101e65780635ce38d99116101b557806370a082311161019a57806370a082311461071457806373dd250c146107575780637b0fa9541461077757600080fd5b80635ce38d99146106c057806368b63c24146106f457600080fd5b806332c4f2bf146106035780633fc8cef314610619578063475a519f14610672578063544d46a31461068c57600080fd5b806318160ddd1161023d5780631f2698ab116102225780631f2698ab146105ad57806323b872dd146105c7578063313ce567146105e757600080fd5b806318160ddd146105685780631e7269c51461057d57600080fd5b806306fdde03146104b9578063089fe6aa146104e4578063095ea7b3146105145780630a4625af1461054457600080fd5b366104b45761027b610a7d565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610352573233146103325760405162461bcd60e51b815260206004820152602d60248201527f466169724d696e743a2063616e206e6f742073656e6420636f6d6d616e64206660448201527f726f6d20636f6e74726163742e0000000000000000000000000000000000000060648201526084015b60405180910390fd5b60075460ff16156103d757655af3107a4000340361035457610352610ac1565b005b65b5e620f48000340361036957610352610d73565b60405162461bcd60e51b815260206004820152602e60248201527f466169724d696e743a20696e76616c696420636f6d6d616e64202d206d696e7460448201527f206f7220636c61696d206f6e6c790000000000000000000000000000000000006064820152608401610329565b7f000000000000000000000000000000000000000000000000000000000000000043106104975765b5e620f480003403610413576103526110ee565b6601c6bf52634000340361042957610352611456565b60405162461bcd60e51b815260206004820152603060248201527f466169724d696e743a20696e76616c696420636f6d6d616e64202d207374617260448201527f74206f7220726566756e64206f6e6c79000000000000000000000000000000006064820152608401610329565b65b5e620f4800034036104ac576103526110ee565b610352611dcb565b600080fd5b3480156104c557600080fd5b506104ce611efe565b6040516104db9190612ca9565b60405180910390f35b3480156104f057600080fd5b50600d546105009062ffffff1681565b60405162ffffff90911681526020016104db565b34801561052057600080fd5b5061053461052f366004612d3b565b611f90565b60405190151581526020016104db565b34801561055057600080fd5b5061055a600a5481565b6040519081526020016104db565b34801561057457600080fd5b5060025461055a565b34801561058957600080fd5b50610534610598366004612d67565b60096020526000908152604090205460ff1681565b3480156105b957600080fd5b506007546105349060ff1681565b3480156105d357600080fd5b506105346105e2366004612d84565b611faa565b3480156105f357600080fd5b50604051601281526020016104db565b34801561060f57600080fd5b5061055a600b5481565b34801561062557600080fd5b5061064d7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016104db565b34801561067e57600080fd5b5061055a655af3107a400081565b34801561069857600080fd5b5061064d7f000000000000000000000000000000000000000000000000000000000000000081565b3480156106cc57600080fd5b5061055a7f000000000000000000000000000000000000000000000000000000000000000081565b34801561070057600080fd5b5061055a61070f366004612d67565b611fce565b34801561072057600080fd5b5061055a61072f366004612d67565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b34801561076357600080fd5b50610352610772366004612dc5565b612056565b34801561078357600080fd5b5061055a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107b757600080fd5b5061055a6601c6bf5263400081565b3480156107d257600080fd5b5061064d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561080657600080fd5b506104ce61219b565b34801561081b57600080fd5b5061055a65b5e620f4800081565b34801561083557600080fd5b5061064d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561086957600080fd5b50610534610878366004612d3b565b6121aa565b34801561088957600080fd5b5061055a610898366004612d67565b6121b8565b3480156108a957600080fd5b5061064d7f000000000000000000000000000000000000000000000000000000000000000081565b3480156108dd57600080fd5b506105346108ec366004612d67565b600c6020526000908152604090205460ff1681565b34801561090d57600080fd5b506104ce61224c565b34801561092257600080fd5b5061055a610931366004612d67565b60086020526000908152604090205481565b34801561094f57600080fd5b5061064d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561098357600080fd5b5061055a610992366004612dea565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b3480156109d657600080fd5b5061064d7f000000000000000000000000000000000000000000000000000000000000000081565b348015610a0a57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000431015610534565b348015610a4057600080fd5b506103526122da565b348015610a5557600080fd5b5061055a7f000000000000000000000000000000000000000000000000000000000000000081565b3073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610abf57600080fd5b565b610ac96123f0565b60075460ff16610b1b5760405162461bcd60e51b815260206004820152601560248201527f466169724d696e743a206e6f74207374617274656400000000000000000000006044820152606401610329565b333214610b905760405162461bcd60e51b815260206004820152602360248201527f466169724d696e743a2063616e206e6f74206d696e7420746f20636f6e74726160448201527f63742e00000000000000000000000000000000000000000000000000000000006064820152608401610329565b3360009081526009602052604090205460ff1615610bf05760405162461bcd60e51b815260206004820152601860248201527f466169724d696e743a20616c7265616479206d696e74656400000000000000006044820152606401610329565b33600081815260096020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905590610c3290611fce565b905060008111610c845760405162461bcd60e51b815260206004820152601d60248201527f466169724d696e743a206d696e7420616d6f756e74206973207a65726f0000006044820152606401610329565b610caf60027f0000000000000000000000000000000000000000000000000000000000000000612e52565b811115610cbe57610cbe612e8d565b610cc9303383612433565b6040516000903390655af3107a4000908381818185875af1925050503d8060008114610d11576040519150601f19603f3d011682016040523d82523d6000602084013e610d16565b606091505b5050905080610d675760405162461bcd60e51b815260206004820152601560248201527f466169724d696e743a206d696e74206661696c656400000000000000000000006044820152606401610329565b5050610abf6001600655565b610d7b6123f0565b60075460ff16610df35760405162461bcd60e51b815260206004820152602d60248201527f466169724d696e743a20776974686472617720657874726120657468206d757360448201527f74206166746572207374617274000000000000000000000000000000000000006064820152608401610329565b60007f000000000000000000000000000000000000000000000000000000000000000011610e895760405162461bcd60e51b815260206004820152602260248201527f466169724d696e743a20736f667420746f7020636170206d757374206265207360448201527f65740000000000000000000000000000000000000000000000000000000000006064820152608401610329565b7f0000000000000000000000000000000000000000000000000000000000000000600a5411610efa5760405162461bcd60e51b815260206004820152601660248201527f466169724d696e743a206e6f20657874726120657468000000000000000000006044820152606401610329565b60007f0000000000000000000000000000000000000000000000000000000000000000600a54610f2a9190612ebc565b3360009081526008602052604090205490915080610f8a5760405162461bcd60e51b815260206004820152601160248201527f466169724d696e743a206e6f2066756e640000000000000000000000000000006044820152606401610329565b336000908152600c602052604090205460ff1615610fea5760405162461bcd60e51b815260206004820152601960248201527f466169724d696e743a20616c726561647920636c61696d6564000000000000006044820152606401610329565b336000908152600c6020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055600a5461102f8484612ecf565b6110399190612e52565b905060003361104e65b5e620f4800084612ee6565b604051600081818185875af1925050503d806000811461108a576040519150601f19603f3d011682016040523d82523d6000602084013e61108f565b606091505b50509050806110e05760405162461bcd60e51b815260206004820152601960248201527f466169724d696e743a207769746864726177206661696c6564000000000000006044820152606401610329565b50505050610abf6001600655565b6110f66123f0565b60075460ff16156111495760405162461bcd60e51b815260206004820152601960248201527f466169724d696e743a20616c72656164792073746172746564000000000000006044820152606401610329565b33600081815260086020526040902054806111a65760405162461bcd60e51b815260206004820152601160248201527f466169724d696e743a206e6f2066756e640000000000000000000000000000006044820152606401610329565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600860205260408120819055600a80548392906111e0908490612ebc565b9091555050600b54600090612710906111f99084612ecf565b6112039190612e52565b905081811061121457611214612e8d565b60008111801561125957507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1615155b156113305760007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146112d8576040519150601f19603f3d011682016040523d82523d6000602084013e6112dd565b606091505b505090508061132e5760405162461bcd60e51b815260206004820152601b60248201527f466169724d696e743a20726566756e6420666565206661696c656400000000006044820152606401610329565b505b600073ffffffffffffffffffffffffffffffffffffffff841665b5e620f4800061135a8486612ebc565b6113649190612ee6565b604051600081818185875af1925050503d80600081146113a0576040519150601f19603f3d011682016040523d82523d6000602084013e6113a5565b606091505b50509050806113f65760405162461bcd60e51b815260206004820152601760248201527f466169724d696e743a20726566756e64206661696c65640000000000000000006044820152606401610329565b60408051600081526020810185905273ffffffffffffffffffffffffffffffffffffffff8616917fb24b09fd2e8e4d8904c3c26f3e935824e032891520ffda419dec9f086b0e1eea910160405180910390a250505050610abf6001600655565b61145e6123f0565b60075460ff16156114b15760405162461bcd60e51b815260206004820152601960248201527f466169724d696e743a20616c72656164792073746172746564000000000000006044820152606401610329565b306000908152602081905260408120541161150e5760405162461bcd60e51b815260206004820152601460248201527f466169724d696e743a206e6f2062616c616e63650000000000000000000000006044820152606401610329565b7f000000000000000000000000000000000000000000000000000000000000000060007f000000000000000000000000000000000000000000000000000000000000000061155e57600a546115b1565b600a547f00000000000000000000000000000000000000000000000000000000000000001061158f57600a546115b1565b7f00000000000000000000000000000000000000000000000000000000000000005b9050611600307f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60006124e3565b600080600080611610858761262c565b50604080516101608101825273ffffffffffffffffffffffffffffffffffffffff8087168083528187166020840152600d5462ffffff16938301939093527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2764c6060830152620d89b4608083015260a0820185905260c08201849052959950939750919550935060009260e08301917f0000000000000000000000000000000000000000000000000000000000000000909116146116ce5760006116e7565b6127106116dd86612648612ecf565b6116e79190612e52565b81526020018573ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff161461174657600061175f565b61271061175585612648612ecf565b61175f9190612e52565b81526020017f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16156117a657306117a9565b60005b73ffffffffffffffffffffffffffffffffffffffff1681526020016117d042610e10612ee6565b81525090506000806000808a73ffffffffffffffffffffffffffffffffffffffff1663883164568b876040518363ffffffff1660e01b81526004016118159190612ef9565b60806040518083038185885af1158015611833573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118589190612fe4565b93509350935093508a73ffffffffffffffffffffffffffffffffffffffff166312210e8a6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156118a857600080fd5b505af11580156118bc573d6000803e3d6000fd5b5050600780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905550611917905060027f0000000000000000000000000000000000000000000000000000000000000000612e52565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201819052906370a0823190602401602060405180830381865afa15801561196c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119909190613037565b11156119e4576119e4306119c560027f0000000000000000000000000000000000000000000000000000000000000000612e52565b306000908152602081905260409020546119df9190612ebc565b61282b565b60408051838152602081018390526fffffffffffffffffffffffffffffffff851681830152905130917fef1e73540aed31615f5f09b178cff91261e831560c37718c23862e93a3fc3ceb919081900360600190a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1615611d16576040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b390604401600060405180830381600087803b158015611b2457600080fd5b505af1158015611b38573d6000803e3d6000fd5b50506040517fe2ab691d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018890527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60448301527f000000000000000000000000000000000000000000000000000000000000000093506000925083169063e2ab691d906064016020604051808303816000875af1158015611c1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c409190613037565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081166024830152604482018390529192507f0000000000000000000000000000000000000000000000000000000000000000909116906323b872dd90606401600060405180830381600087803b158015611cfb57600080fd5b505af1158015611d0f573d6000803e3d6000fd5b5050505050505b60405160009033906601c6bf52634000908381818185875af1925050503d8060008114611d5f576040519150601f19603f3d011682016040523d82523d6000602084013e611d64565b606091505b5050905080611db55760405162461bcd60e51b815260206004820152601560248201527f466169724d696e743a206d696e74206661696c656400000000000000000000006044820152606401610329565b505050505050505050505050610abf6001600655565b611dd36123f0565b60075460ff1615611e265760405162461bcd60e51b815260206004820152601960248201527f466169724d696e743a20616c72656164792073746172746564000000000000006044820152606401610329565b655af3107a4000341015611e7c5760405162461bcd60e51b815260206004820152601760248201527f466169724d696e743a2076616c756520746f6f206c6f770000000000000000006044820152606401610329565b3360009081526008602052604081208054349290611e9b908490612ee6565b9250508190555034600a6000828254611eb49190612ee6565b9091555050604080513481526000602082015233917f4c10b3a5590fcdc7a6f3b564c09870bd275facbd00a0bcf68c8b069e32f9508b910160405180910390a2610abf6001600655565b606060038054611f0d90613050565b80601f0160208091040260200160405190810160405280929190818152602001828054611f3990613050565b8015611f865780601f10611f5b57610100808354040283529160200191611f86565b820191906000526020600020905b815481529060010190602001808311611f6957829003601f168201915b5050505050905090565b600033611f9e81858561288b565b60019150505b92915050565b600033611fb8858285612898565b611fc3858585612433565b506001949350505050565b6000600a54600003611fe257506000919050565b600a5473ffffffffffffffffffffffffffffffffffffffff831660009081526008602052604081205490919060029061203b907f0000000000000000000000000000000000000000000000000000000000000000612ecf565b6120459190612e52565b61204f9190612e52565b9392505050565b60007f000000000000000000000000000000000000000000000000000000000000000090508073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ea91906130a3565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146121645760405162461bcd60e51b815260206004820152601460248201527f466169724d696e743a206f6e6c79206f776e65720000000000000000000000006044820152606401610329565b50600d80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000001662ffffff92909216919091179055565b606060048054611f0d90613050565b600033611f9e818585612433565b60007f0000000000000000000000000000000000000000000000000000000000000000600a54111561224457600a546000906122147f000000000000000000000000000000000000000000000000000000000000000082612ebc565b73ffffffffffffffffffffffffffffffffffffffff85166000908152600860205260409020546120459190612ecf565b506000919050565b6005805461225990613050565b80601f016020809104026020016040519081016040528092919081815260200182805461228590613050565b80156122d25780601f106122a7576101008083540402835291602001916122d2565b820191906000526020600020905b8154815290600101906020018083116122b557829003601f168201915b505050505081565b60007f000000000000000000000000000000000000000000000000000000000000000090508073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561234a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061236e91906130a3565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146123e85760405162461bcd60e51b815260206004820152601460248201527f466169724d696e743a206f6e6c79206f776e65720000000000000000000000006044820152606401610329565b506000600b55565b60026006540361242c576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600655565b73ffffffffffffffffffffffffffffffffffffffff8316612483576040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152602401610329565b73ffffffffffffffffffffffffffffffffffffffff82166124d3576040517fec442f0500000000000000000000000000000000000000000000000000000000815260006004820152602401610329565b6124de838383612961565b505050565b73ffffffffffffffffffffffffffffffffffffffff8416612533576040517fe602df0500000000000000000000000000000000000000000000000000000000815260006004820152602401610329565b73ffffffffffffffffffffffffffffffffffffffff8316612583576040517f94280d6200000000000000000000000000000000000000000000000000000000815260006004820152602401610329565b73ffffffffffffffffffffffffffffffffffffffff80851660009081526001602090815260408083209387168352929052208290558015612626578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161261d91815260200190565b60405180910390a35b50505050565b60008080808073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163010612696577f0000000000000000000000000000000000000000000000000000000000000000306126b9565b307f00000000000000000000000000000000000000000000000000000000000000005b909550935073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301061272c578661272760027f0000000000000000000000000000000000000000000000000000000000000000612e52565b612759565b61275760027f0000000000000000000000000000000000000000000000000000000000000000612e52565b875b9093509150600061276a84846129e2565b600d546040517f13ead56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8981166004830152888116602483015262ffffff909216604482015281831660648201529192508816906313ead562906084016020604051808303816000875af11580156127fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061281e91906130a3565b9150509295509295909350565b73ffffffffffffffffffffffffffffffffffffffff821661287b576040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152602401610329565b61288782600083612961565b5050565b6124de83838360016124e3565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146126265781811015612952576040517ffb8f41b200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201526024810182905260448101839052606401610329565b612626848484840360006124e3565b600081116129d75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610329565b6124de838383612a8b565b600080831180156129f35750600082115b612a3f5760405162461bcd60e51b815260206004820152601e60248201527f416d6f756e7473206d7573742062652067726561746572207468616e203000006044820152606401610329565b600083612a5484670de0b6b3a7640000612ecf565b612a5e9190612e52565b90506000612a6b82612a96565b90506000612a81633b9aca00606084901b612e52565b9695505050505050565b6124de838383612afe565b600081600003612aa857506000919050565b816000612ab6600283612e52565b612ac1906001612ee6565b90505b81811015612af757905080600281612adc8187612e52565b612ae69190612ee6565b612af09190612e52565b9050612ac4565b5092915050565b73ffffffffffffffffffffffffffffffffffffffff8316612b36578060026000828254612b2b9190612ee6565b90915550612be89050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015612bbc576040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024810182905260448101839052606401610329565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020819052604090209082900390555b73ffffffffffffffffffffffffffffffffffffffff8216612c1157600280548290039055612c3d565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090208054820190555b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612c9c91815260200190565b60405180910390a3505050565b60006020808352835180602085015260005b81811015612cd757858101830151858201604001528201612cbb565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b73ffffffffffffffffffffffffffffffffffffffff81168114612d3857600080fd5b50565b60008060408385031215612d4e57600080fd5b8235612d5981612d16565b946020939093013593505050565b600060208284031215612d7957600080fd5b813561204f81612d16565b600080600060608486031215612d9957600080fd5b8335612da481612d16565b92506020840135612db481612d16565b929592945050506040919091013590565b600060208284031215612dd757600080fd5b813562ffffff8116811461204f57600080fd5b60008060408385031215612dfd57600080fd5b8235612e0881612d16565b91506020830135612e1881612d16565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082612e88577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b81810381811115611fa457611fa4612e23565b8082028115828204841417611fa457611fa4612e23565b80820180821115611fa457611fa4612e23565b815173ffffffffffffffffffffffffffffffffffffffff16815261016081016020830151612f3f602084018273ffffffffffffffffffffffffffffffffffffffff169052565b506040830151612f56604084018262ffffff169052565b506060830151612f6b606084018260020b9052565b506080830151612f80608084018260020b9052565b5060a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151612fd38285018273ffffffffffffffffffffffffffffffffffffffff169052565b505061014092830151919092015290565b60008060008060808587031215612ffa57600080fd5b8451935060208501516fffffffffffffffffffffffffffffffff8116811461302157600080fd5b6040860151606090960151949790965092505050565b60006020828403121561304957600080fd5b5051919050565b600181811c9082168061306457607f821691505b60208210810361309d577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000602082840312156130b557600080fd5b815161204f81612d1656fea26469706673582212208880f2ec3b4ce7bf28d4a88cabffeaf3e6bedbef24fff6740e969bf69f3159fe64736f6c6343000818003300000000000000000000000099090d2d220901de904c6e3d003d7ced4b6ec2a40000000000000000000000000000000000000000000000000000000000000bb8000000000000000000000000f62500de6890b32288d013e70479419d6447eb1800000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000409f9cbc7c4a04c220000000000000000000000000000000c36442b4a4522e871399cd717abdd847ab11fe880000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000012c000000000000000000000000000000000000000000000001158e460913d0000000000000000000000000000000000000000000000000000000000000000000c800000000000000000000000069691ce612c244b0829b9e124cca063816da1448000000000000000000000000000000000000000000000000000000000000000a6475636b77696663617400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000344574300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000305646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c5733736964484a686158526664486c775a534936496d526c63324e79615842306157397549697769646d4673645755694f694a556147556c4d6a4270626e526c636d356c644355794d476c7a4a54497762324a7a5a584e7a5a57516c4d6a42336158526f4a5449776447686c4a54497759575276636d46696247556c4d6a426b64574e724a5449775957356b4a544977593246304a5449775a4856764a544a444a5449775a585a6c626955794d474e6864474e6f6157356e4a54497752577876626955794d4531316332736e637955794d4746306447567564476c766269456c4d6a425561475670636955794d48567562476c725a5778354a544977596d39755a4355794d476868637955794d476476626d556c4d6a423261584a6862435579517955794d4746755a4355794d48526f5a586b6c5254496c4f44416c4f546c795a5355794d473576647955794d48526f5a5355794d484e3562574a76624355794d47396d4a544977623356794a5449775932397462585675615852354a54497759323970626956464d6955344d4355354e484e77636d56685a476c755a7955794d4856756158523549534a394c48736964484a686158526664486c775a534936496e526c6247566e636d467449697769646d4673645755694f694a6f64485277637a6f764c335175625755765932463064326c6d5a48566a6132563061434a394c48736964484a686158526664486c775a534936496e67694c434a32595778315a534936496d68306448427a4f6938766543356a623230765a577876626d31316332736966537837496e527959576c3058335235634755694f694a706257466e5a534973496e5a686248566c496a6f696148523063484d364c79396863334e6c64484d75636d396a613256304c6d316c6257557659584e7a5a58527a4c7a49774d6a51774f5445774d444d764d5455304e7a526b5a5459744e444979595330304e474e694c546b35595755744e6d526b4e6d55354e4755325a4459324c6d70775a794a3958513d3d000000000000000000000000000000000000000000000000000000