[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "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": false, "internalType": "uint256", "name": "buyTaxTotal", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "buyMarketingTax", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "buyProjectTax", "type": "uint256" } ], "name": "BuyFeeUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "DisabledTransferDelay", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludeFromFees", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludeFromLimits", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "LimitsRemoved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "MarketingWalletUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "maxTx", "type": "uint256" } ], "name": "MaxTxUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "maxWallet", "type": "uint256" } ], "name": "MaxWalletUpdated", "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": true, "internalType": "address", "name": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "ProjectWalletUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "sellTaxTotal", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "sellMarketingTax", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "sellProjectTax", "type": "uint256" } ], "name": "SellFeeUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "pair", "type": "address" }, { "indexed": true, "internalType": "bool", "name": "value", "type": "bool" } ], "name": "SetDexPair", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bool", "name": "enabled", "type": "bool" }, { "indexed": false, "internalType": "uint256", "name": "swapBackValueMin", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "swapBackValueMax", "type": "uint256" } ], "name": "SwapbackSettingsUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "TradingEnabled", "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" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newAddress", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldAddress", "type": "address" } ], "name": "UpdateUniswapV2Router", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "_target", "type": "address" } ], "name": "addressPermissions", "outputs": [ { "internalType": "bool", "name": "_transferTaxExempt", "type": "bool" }, { "internalType": "bool", "name": "_transferLimitExempt", "type": "bool" }, { "internalType": "bool", "name": "_automatedMarketMakerPairs", "type": "bool" } ], "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": "amount", "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": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newDevWal", "type": "address" } ], "name": "developerWalletChange", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "dexPair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_marketingFee", "type": "uint256" }, { "internalType": "uint256", "name": "_devFee", "type": "uint256" } ], "name": "feesOnBuysSet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_marketingFee", "type": "uint256" }, { "internalType": "uint256", "name": "_devFee", "type": "uint256" } ], "name": "feesOnSellsChange", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_marketingFee", "type": "uint256" }, { "internalType": "uint256", "name": "_devFee", "type": "uint256" } ], "name": "feesOnTransfersChange", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newMktWal", "type": "address" } ], "name": "marketingWalletChange", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newMaxTxLimit", "type": "uint256" } ], "name": "maxTransactionLimitChange", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newMaxWalletLimit", "type": "uint256" } ], "name": "maxWalletLimitChange", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "openTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_anti", "type": "bool" } ], "name": "setAnti", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pair", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setDexPair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enable", "type": "bool" }, { "internalType": "uint256", "name": "_min", "type": "uint256" }, { "internalType": "uint256", "name": "_max", "type": "uint256" } ], "name": "swapBackMinMaxEnabledSet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "updAds", "type": "address" }, { "internalType": "bool", "name": "isEx", "type": "bool" } ], "name": "transactionLimitsExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "transactionLimitsRemove", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "excluded", "type": "bool" } ], "name": "transactionTaxesExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "valuesForLimits", "outputs": [ { "internalType": "bool", "name": "_limitsEnabled", "type": "bool" }, { "internalType": "uint256", "name": "_maxWallet", "type": "uint256" }, { "internalType": "uint256", "name": "_maxTx", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "valuesForReceivers", "outputs": [ { "internalType": "address", "name": "_marketingWallet", "type": "address" }, { "internalType": "address", "name": "_projectWallet", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "valuesForSwapback", "outputs": [ { "internalType": "bool", "name": "_swapbackEnabled", "type": "bool" }, { "internalType": "uint256", "name": "_swapBackValueMin", "type": "uint256" }, { "internalType": "uint256", "name": "_swapBackValueMax", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "valuesForTaxes", "outputs": [ { "internalType": "uint256", "name": "_buyTaxTotal", "type": "uint256" }, { "internalType": "uint256", "name": "_buyMarketingTax", "type": "uint256" }, { "internalType": "uint256", "name": "_buyProjectTax", "type": "uint256" }, { "internalType": "uint256", "name": "_sellTaxTotal", "type": "uint256" }, { "internalType": "uint256", "name": "_sellMarketingTax", "type": "uint256" }, { "internalType": "uint256", "name": "_sellProjectTax", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60c06040525f600560156101000a81548160ff021916908315150217905550600160085f6101000a81548160ff0219169083151502179055505f600c5f6101000a81548160ff0219169083151502179055506001601d5f6101000a81548160ff021916908315150217905550348015610076575f5ffd5b506040518060400160405280600681526020017f50455054494e00000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f5050544e0000000000000000000000000000000000000000000000000000000081525081600390816100f29190610ee9565b5080600490816101029190610ee9565b50505061012161011661064360201b60201c565b61064a60201b60201c565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d905061014a81600161070d60201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101c7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101eb9190611016565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610250573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102749190611016565b6040518363ffffffff1660e01b8152600401610291929190611050565b6020604051808303815f875af11580156102ad573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102d19190611016565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff168152505061031760a051600161070d60201b60201c565b61032a60a051600161083b60201b60201c565b5f601e90505f5f90505f604690505f5f90505f5f90505f5f90505f6103536108d960201b60201c565b600a61035f91906111df565b66017e9d8602b4006103719190611229565b90506103e8600a826103839190611229565b61038d9190611297565b600a819055506103e8600a826103a39190611229565b6103ad9190611297565b6009819055506103e86001826103c39190611229565b6103cd9190611297565b60068190555060646002826103e29190611229565b6103ec9190611297565b600781905550866010819055508560118190555060115460105461041091906112c7565b600f81905550846013819055508360148190555060145460135461043491906112c7565b601281905550826016819055508160178190555060175460165461045891906112c7565b60158190555073ddf1c4f2e2a956d64db6b139ca8e70628496160b600c60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550732ff8961b73292270b68c6d6f7743ee8a8abd5023600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506105583360016108e160201b60201c565b6105693060016108e160201b60201c565b61057c61dead60016108e160201b60201c565b6105af600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016108e160201b60201c565b6105c033600161070d60201b60201c565b6105d130600161070d60201b60201c565b6105e461dead600161070d60201b60201c565b610617600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600161070d60201b60201c565b61062633610a0f60201b60201c565b6106363382610b1760201b60201c565b50505050505050506114c3565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61071b61064360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1661073f610c7a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c90611354565b60405180910390fd5b80601b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f4b89c347592b1d537e066cb4ed98d87696ae35164745d7e370e4add16941dc928260405161082f919061138c565b60405180910390a25050565b80601c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167f02d59e6bf2c101e2d8367c2a27c51357eccfebcca0d09aa27c00e24e946c0d6a60405160405180910390a35050565b5f6012905090565b6108ef61064360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16610913610c7a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614610969576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096090611354565b60405180910390fd5b80601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051610a03919061138c565b60405180910390a25050565b610a1d61064360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16610a41610c7a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614610a97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8e90611354565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afc90611415565b60405180910390fd5b610b148161064a60201b60201c565b50565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7c9061147d565b60405180910390fd5b610b965f8383610ca260201b60201c565b8060025f828254610ba791906112c7565b92505081905550805f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610bf991906112c7565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c5d91906114aa565b60405180910390a3610c765f8383610ca760201b60201c565b5050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b505050565b505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610d2757607f821691505b602082108103610d3a57610d39610ce3565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610d9c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610d61565b610da68683610d61565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f610dea610de5610de084610dbe565b610dc7565b610dbe565b9050919050565b5f819050919050565b610e0383610dd0565b610e17610e0f82610df1565b848454610d6d565b825550505050565b5f5f905090565b610e2e610e1f565b610e39818484610dfa565b505050565b5b81811015610e5c57610e515f82610e26565b600181019050610e3f565b5050565b601f821115610ea157610e7281610d40565b610e7b84610d52565b81016020851015610e8a578190505b610e9e610e9685610d52565b830182610e3e565b50505b505050565b5f82821c905092915050565b5f610ec15f1984600802610ea6565b1980831691505092915050565b5f610ed98383610eb2565b9150826002028217905092915050565b610ef282610cac565b67ffffffffffffffff811115610f0b57610f0a610cb6565b5b610f158254610d10565b610f20828285610e60565b5f60209050601f831160018114610f51575f8415610f3f578287015190505b610f498582610ece565b865550610fb0565b601f198416610f5f86610d40565b5f5b82811015610f8657848901518255600182019150602085019450602081019050610f61565b86831015610fa35784890151610f9f601f891682610eb2565b8355505b6001600288020188555050505b505050505050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610fe582610fbc565b9050919050565b610ff581610fdb565b8114610fff575f5ffd5b50565b5f8151905061101081610fec565b92915050565b5f6020828403121561102b5761102a610fb8565b5b5f61103884828501611002565b91505092915050565b61104a81610fdb565b82525050565b5f6040820190506110635f830185611041565b6110706020830184611041565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b60018511156110f9578086048111156110d5576110d4611077565b5b60018516156110e45780820291505b80810290506110f2856110a4565b94506110b9565b94509492505050565b5f8261111157600190506111cc565b8161111e575f90506111cc565b8160018114611134576002811461113e5761116d565b60019150506111cc565b60ff8411156111505761114f611077565b5b8360020a91508482111561116757611166611077565b5b506111cc565b5060208310610133831016604e8410600b84101617156111a25782820a90508381111561119d5761119c611077565b5b6111cc565b6111af84848460016110b0565b925090508184048111156111c6576111c5611077565b5b81810290505b9392505050565b5f60ff82169050919050565b5f6111e982610dbe565b91506111f4836111d3565b92506112217fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611102565b905092915050565b5f61123382610dbe565b915061123e83610dbe565b925082820261124c81610dbe565b9150828204841483151761126357611262611077565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6112a182610dbe565b91506112ac83610dbe565b9250826112bc576112bb61126a565b5b828204905092915050565b5f6112d182610dbe565b91506112dc83610dbe565b92508282019050808211156112f4576112f3611077565b5b92915050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61133e6020836112fa565b91506113498261130a565b602082019050919050565b5f6020820190508181035f83015261136b81611332565b9050919050565b5f8115159050919050565b61138681611372565b82525050565b5f60208201905061139f5f83018461137d565b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6113ff6026836112fa565b915061140a826113a5565b604082019050919050565b5f6020820190508181035f83015261142c816113f3565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f611467601f836112fa565b915061147282611433565b602082019050919050565b5f6020820190508181035f8301526114948161145b565b9050919050565b6114a481610dbe565b82525050565b5f6020820190506114bd5f83018461149b565b92915050565b60805160a051614a9c6114f95f395f8181611c430152611cdf01525f818161342601528181613505015261352c0152614a9c5ff3fe608060405260043610610207575f3560e01c8063715018a611610117578063c9b6c1ce1161009f578063e55648f41161006e578063e55648f41461075e578063f242ab4114610786578063f2fde38b146107b0578063f3cfad94146107d8578063fb42948a146108005761020e565b8063c9b6c1ce146106a3578063ca3608c3146106cb578063d7ff53e5146106f3578063dd62ed3e146107225761020e565b8063a457c2d7116100e6578063a457c2d7146105af578063a9059cbb146105eb578063bb931db214610627578063c40b793b1461064f578063c9567bf91461068d5761020e565b8063715018a61461051d5780637ff6f7b9146105335780638da5cb5b1461055b57806395d89b41146105855761020e565b8063336ddc291161019a5780634ada218b116101695780634ada218b1461043b57806351b8dc7b14610465578063622fa7721461048d57806363a7e2d9146104b957806370a08231146104e15761020e565b8063336ddc2914610387578063391822af146103af57806339509351146103d75780634482eea8146104135761020e565b806321108a52116101d657806321108a52146102cd57806323b872dd146102f5578063313ce567146103315780633308740b1461035b5761020e565b806306fdde0314610212578063088c9eb41461023c578063095ea7b31461026757806318160ddd146102a35761020e565b3661020e57005b5f5ffd5b34801561021d575f5ffd5b50610226610816565b6040516102339190613641565b60405180910390f35b348015610247575f5ffd5b506102506108a6565b60405161025e9291906136a0565b60405180910390f35b348015610272575f5ffd5b5061028d60048036038101906102889190613728565b6108f5565b60405161029a9190613780565b60405180910390f35b3480156102ae575f5ffd5b506102b7610912565b6040516102c491906137a8565b60405180910390f35b3480156102d8575f5ffd5b506102f360048036038101906102ee91906137c1565b61091b565b005b348015610300575f5ffd5b5061031b600480360381019061031691906137ff565b610a46565b6040516103289190613780565b60405180910390f35b34801561033c575f5ffd5b50610345610b38565b604051610352919061386a565b60405180910390f35b348015610366575f5ffd5b5061036f610b40565b60405161037e93929190613883565b60405180910390f35b348015610392575f5ffd5b506103ad60048036038101906103a891906138b8565b610b63565b005b3480156103ba575f5ffd5b506103d560048036038101906103d091906137c1565b610c9d565b005b3480156103e2575f5ffd5b506103fd60048036038101906103f89190613728565b610dc8565b60405161040a9190613780565b60405180910390f35b34801561041e575f5ffd5b506104396004803603810190610434919061390d565b610e6f565b005b348015610446575f5ffd5b5061044f610f91565b60405161045c9190613780565b60405180910390f35b348015610470575f5ffd5b5061048b600480360381019061048691906138b8565b610fa3565b005b348015610498575f5ffd5b506104a16110df565b6040516104b093929190613883565b60405180910390f35b3480156104c4575f5ffd5b506104df60048036038101906104da91906137c1565b611103565b005b3480156104ec575f5ffd5b50610507600480360381019061050291906138b8565b6111ed565b60405161051491906137a8565b60405180910390f35b348015610528575f5ffd5b50610531611232565b005b34801561053e575f5ffd5b506105596004803603810190610554919061394b565b6112b9565b005b348015610566575f5ffd5b5061056f611351565b60405161057c9190613976565b60405180910390f35b348015610590575f5ffd5b50610599611379565b6040516105a69190613641565b60405180910390f35b3480156105ba575f5ffd5b506105d560048036038101906105d09190613728565b611409565b6040516105e29190613780565b60405180910390f35b3480156105f6575f5ffd5b50610611600480360381019061060c9190613728565b6114ef565b60405161061e9190613780565b60405180910390f35b348015610632575f5ffd5b5061064d6004803603810190610648919061398f565b61150c565b005b34801561065a575f5ffd5b50610675600480360381019061067091906138b8565b61162e565b604051610684939291906139ba565b60405180910390f35b348015610698575f5ffd5b506106a161171c565b005b3480156106ae575f5ffd5b506106c960048036038101906106c4919061390d565b61184c565b005b3480156106d6575f5ffd5b506106f160048036038101906106ec91906139ef565b61196e565b005b3480156106fe575f5ffd5b50610707611b17565b60405161071996959493929190613a3f565b60405180910390f35b34801561072d575f5ffd5b5061074860048036038101906107439190613a9e565b611b43565b60405161075591906137a8565b60405180910390f35b348015610769575f5ffd5b50610784600480360381019061077f919061390d565b611bc5565b005b348015610791575f5ffd5b5061079a611cdd565b6040516107a79190613976565b60405180910390f35b3480156107bb575f5ffd5b506107d660048036038101906107d191906138b8565b611d01565b005b3480156107e3575f5ffd5b506107fe60048036038101906107f9919061398f565b611df7565b005b34801561080b575f5ffd5b50610814611f19565b005b60606003805461082590613b09565b80601f016020809104026020016040519081016040528092919081815260200182805461085190613b09565b801561089c5780601f106108735761010080835404028352916020019161089c565b820191905f5260205f20905b81548152906001019060200180831161087f57829003601f168201915b5050505050905090565b5f5f600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915091509091565b5f610908610901611fdd565b8484611fe4565b6001905092915050565b5f600254905090565b610923611fdd565b73ffffffffffffffffffffffffffffffffffffffff16610941611351565b73ffffffffffffffffffffffffffffffffffffffff1614610997576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098e90613b83565b60405180910390fd5b81601081905550806011819055506011546010546109b59190613bce565b600f819055506064600f541115610a01576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f890613c71565b60405180910390fd5b7f38513c502b0ab4834ac1df9502b76f75dcf7092469782cfd0db7fe664388e25e600f54601054601154604051610a3a93929190613c8f565b60405180910390a15050565b5f610a528484846121a7565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610a99611fdd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610b18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0f90613d34565b60405180910390fd5b610b2c85610b24611fdd565b858403611fe4565b60019150509392505050565b5f6012905090565b5f5f5f60085f9054906101000a900460ff1692506009549150600a549050909192565b610b6b611fdd565b73ffffffffffffffffffffffffffffffffffffffff16610b89611351565b73ffffffffffffffffffffffffffffffffffffffff1614610bdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd690613b83565b60405180910390fd5b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fb91dbdeaf34f885ccae2d8abc3967cb03c079b6af2c7944e3893fd29427d75e760405160405180910390a380600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610ca5611fdd565b73ffffffffffffffffffffffffffffffffffffffff16610cc3611351565b73ffffffffffffffffffffffffffffffffffffffff1614610d19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1090613b83565b60405180910390fd5b8160138190555080601481905550601454601354610d379190613bce565b60128190555060646012541115610d83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7a90613dc2565b60405180910390fd5b7fcb5f36df892836a2eaedc349de29a7581176990398ee185d16eaa8f6c1abd8f1601254601354601454604051610dbc93929190613c8f565b60405180910390a15050565b5f610e65610dd4611fdd565b848460015f610de1611fdd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610e609190613bce565b611fe4565b6001905092915050565b610e77611fdd565b73ffffffffffffffffffffffffffffffffffffffff16610e95611351565b73ffffffffffffffffffffffffffffffffffffffff1614610eeb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee290613b83565b60405180910390fd5b80601b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f4b89c347592b1d537e066cb4ed98d87696ae35164745d7e370e4add16941dc9282604051610f859190613780565b60405180910390a25050565b600c5f9054906101000a900460ff1681565b610fab611fdd565b73ffffffffffffffffffffffffffffffffffffffff16610fc9611351565b73ffffffffffffffffffffffffffffffffffffffff161461101f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101690613b83565b60405180910390fd5b600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8616c7a330e3cf61290821331585511f1e2778171e2b005fb5ec60cfe874dc6760405160405180910390a380600c60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f5f5f600560159054906101000a900460ff16925060065491506007549050909192565b61110b611fdd565b73ffffffffffffffffffffffffffffffffffffffff16611129611351565b73ffffffffffffffffffffffffffffffffffffffff161461117f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117690613b83565b60405180910390fd5b816016819055508060178190555060175460165461119d9190613bce565b601581905550606460155411156111e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e090613e50565b60405180910390fd5b5050565b5f5f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61123a611fdd565b73ffffffffffffffffffffffffffffffffffffffff16611258611351565b73ffffffffffffffffffffffffffffffffffffffff16146112ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a590613b83565b60405180910390fd5b6112b75f612d95565b565b6112c1611fdd565b73ffffffffffffffffffffffffffffffffffffffff166112df611351565b73ffffffffffffffffffffffffffffffffffffffff1614611335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132c90613b83565b60405180910390fd5b80601d5f6101000a81548160ff02191690831515021790555050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461138890613b09565b80601f01602080910402602001604051908101604052809291908181526020018280546113b490613b09565b80156113ff5780601f106113d6576101008083540402835291602001916113ff565b820191905f5260205f20905b8154815290600101906020018083116113e257829003601f168201915b5050505050905090565b5f5f60015f611416611fdd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156114d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c790613ede565b60405180910390fd5b6114e46114db611fdd565b85858403611fe4565b600191505092915050565b5f6115026114fb611fdd565b84846121a7565b6001905092915050565b611514611fdd565b73ffffffffffffffffffffffffffffffffffffffff16611532611351565b73ffffffffffffffffffffffffffffffffffffffff1614611588576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157f90613b83565b60405180910390fd5b60058110156115cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c390613f6c565b60405180910390fd5b6103e86115d7610912565b826115e29190613f8a565b6115ec9190613ff8565b6009819055507f12528a3c61e0f3b2d6fc707a9fc58b1af86e252cad0d7f4c154ebeabb162dace60095460405161162391906137a8565b60405180910390a150565b5f5f5f601a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169250601b5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169150601c5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1690509193909250565b611724611351565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806117a95750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6117e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117df90614072565b60405180910390fd5b6001600c5f6101000a81548160ff0219169083151502179055506001600560156101000a81548160ff021916908315150217905550427fb3da2db3dfc3778f99852546c6e9ab39ec253f9de7b0847afec61bd27878e92360405160405180910390a2565b611854611fdd565b73ffffffffffffffffffffffffffffffffffffffff16611872611351565b73ffffffffffffffffffffffffffffffffffffffff16146118c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bf90613b83565b60405180910390fd5b80601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516119629190613780565b60405180910390a25050565b611976611fdd565b73ffffffffffffffffffffffffffffffffffffffff16611994611351565b73ffffffffffffffffffffffffffffffffffffffff16146119ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e190613b83565b60405180910390fd5b6001821015611a2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2590614100565b60405180910390fd5b81811015611a71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a689061418e565b60405180910390fd5b82600560156101000a81548160ff02191690831515021790555061271082611a97610912565b611aa19190613f8a565b611aab9190613ff8565b60068190555061271081611abd610912565b611ac79190613f8a565b611ad19190613ff8565b6007819055507f52cd2cdb42ff0eeec9362d7ed5b04f64c8d022697128b5378fc51cea7e63c779838383604051611b0a93929190613883565b60405180910390a1505050565b5f5f5f5f5f5f600f54955060105494506011549350601254925060135491506014549050909192939495565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611bcd611fdd565b73ffffffffffffffffffffffffffffffffffffffff16611beb611351565b73ffffffffffffffffffffffffffffffffffffffff1614611c41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3890613b83565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611ccf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc69061421c565b60405180910390fd5b611cd98282612e58565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b611d09611fdd565b73ffffffffffffffffffffffffffffffffffffffff16611d27611351565b73ffffffffffffffffffffffffffffffffffffffff1614611d7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7490613b83565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611deb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de2906142aa565b60405180910390fd5b611df481612d95565b50565b611dff611fdd565b73ffffffffffffffffffffffffffffffffffffffff16611e1d611351565b73ffffffffffffffffffffffffffffffffffffffff1614611e73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6a90613b83565b60405180910390fd5b6002811015611eb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eae90614312565b60405180910390fd5b6103e8611ec2610912565b82611ecd9190613f8a565b611ed79190613ff8565b600a819055507fff3dd5e80294197918c284bbfc3dadd97d0b40ce92106110946329088f80068a600a54604051611f0e91906137a8565b60405180910390a150565b611f21611fdd565b73ffffffffffffffffffffffffffffffffffffffff16611f3f611351565b73ffffffffffffffffffffffffffffffffffffffff1614611f95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8c90613b83565b60405180910390fd5b5f60085f6101000a81548160ff021916908315150217905550427ff4eaa75eae08ae80c3daf791438dac1cff2cfd3b0bad2304ec7bbb067e50261660405160405180910390a2565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612052576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612049906143a0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120b79061442e565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161219a91906137a8565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612215576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220c906144bc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612283576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161227a9061454a565b60405180910390fd5b5f810361229a5761229583835f612ef6565b612d90565b60085f9054906101000a900460ff161561277d576122b6611351565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561232457506122f4611351565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561235c57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612396575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156123af5750600560149054906101000a900460ff16155b1561277c57600c5f9054906101000a900460ff166124a257601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806124625750601a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6124a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612498906145d8565b60405180910390fd5b5b601c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561253f5750601b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156125e657600a54811115612589576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258090614666565b60405180910390fd5b600954612595836111ed565b826125a09190613bce565b11156125e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125d8906146ce565b60405180910390fd5b61277b565b601c5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156126835750601b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156126d257600a548111156126cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126c49061475c565b60405180910390fd5b61277a565b601b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166127795760095461272c836111ed565b826127379190613bce565b1115612778576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161276f906146ce565b60405180910390fd5b5b5b5b5b5b5f612787306111ed565b90505f60065482101590508080156127ab5750600560159054906101000a900460ff165b80156127c45750600560149054906101000a900460ff16155b80156128175750601c5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561286a5750601a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156128bd5750601a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612901576001600560146101000a81548160ff0219169083151502179055506128e68361316b565b5f600560146101000a81548160ff0219169083151502179055505b5f600560149054906101000a900460ff16159050601a5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806129b05750601a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156129b9575f90505b5f5f90508115612d8057601c5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612a1a57505f601254115b15612ab257612a476064612a396012548861335590919063ffffffff16565b61336a90919063ffffffff16565b905060125460145482612a5a9190613f8a565b612a649190613ff8565b60195f828254612a749190613bce565b9250508190555060125460135482612a8c9190613f8a565b612a969190613ff8565b60185f828254612aa69190613bce565b92505081905550612ce2565b601c5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612b0957505f600f54115b15612ba157612b366064612b28600f548861335590919063ffffffff16565b61336a90919063ffffffff16565b9050600f5460115482612b499190613f8a565b612b539190613ff8565b60195f828254612b639190613bce565b92505081905550600f5460105482612b7b9190613f8a565b612b859190613ff8565b60185f828254612b959190613bce565b92505081905550612ce1565b5f601554118015612bf95750601c5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612c4c5750601c5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612ce057612c796064612c6b6015548861335590919063ffffffff16565b61336a90919063ffffffff16565b905060155460175482612c8c9190613f8a565b612c969190613ff8565b60195f828254612ca69190613bce565b9250508190555060155460165482612cbe9190613f8a565b612cc89190613ff8565b60185f828254612cd89190613bce565b925050819055505b5b5b5f811115612d71575f6064601e83612cfa9190613f8a565b612d049190613ff8565b90505f8183612d13919061477a565b9050612d4189600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612ef6565b612d6e89600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612ef6565b50505b8085612d7d919061477a565b94505b612d8b878787612ef6565b505050505b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80601c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167f02d59e6bf2c101e2d8367c2a27c51357eccfebcca0d09aa27c00e24e946c0d6a60405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612f64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f5b906144bc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612fd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fc99061454a565b60405180910390fd5b612fdd83838361337f565b5f5f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015613060576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130579061481d565b60405180910390fd5b8181035f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546130ee9190613bce565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161315291906137a8565b60405180910390a3613165848484613384565b50505050565b5f613175306111ed565b90505f8190505f5f830361318b57505050613352565b60075483111561319b5760075492505b601d5f9054906101000a900460ff1680156131c157506005846131be9190613f8a565b83115b156131d6576005846131d39190613f8a565b92505b5f8390505f4790506131e782613389565b5f6131fb82476135bc90919063ffffffff16565b90505f613225866132176019548561335590919063ffffffff16565b61336a90919063ffffffff16565b90505f6018819055505f601981905550600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168160405161327a90614868565b5f6040518083038185875af1925050503d805f81146132b4576040519150601f19603f3d011682016040523d82523d5f602084013e6132b9565b606091505b505080955050600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161330590614868565b5f6040518083038185875af1925050503d805f811461333f576040519150601f19603f3d011682016040523d82523d5f602084013e613344565b606091505b505080955050505050505050505b50565b5f81836133629190613f8a565b905092915050565b5f81836133779190613ff8565b905092915050565b505050565b505050565b5f600267ffffffffffffffff8111156133a5576133a461487c565b5b6040519080825280602002602001820160405280156133d35781602001602082028036833780820191505090505b50905030815f815181106133ea576133e96148a9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561348d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134b191906148ea565b816001815181106134c5576134c46148a9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061352a307f000000000000000000000000000000000000000000000000000000000000000084611fe4565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161358b959493929190614a0e565b5f604051808303815f87803b1580156135a2575f5ffd5b505af11580156135b4573d5f5f3e3d5ffd5b505050505050565b5f81836135c9919061477a565b905092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f613613826135d1565b61361d81856135db565b935061362d8185602086016135eb565b613636816135f9565b840191505092915050565b5f6020820190508181035f8301526136598184613609565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61368a82613661565b9050919050565b61369a81613680565b82525050565b5f6040820190506136b35f830185613691565b6136c06020830184613691565b9392505050565b5f5ffd5b6136d481613680565b81146136de575f5ffd5b50565b5f813590506136ef816136cb565b92915050565b5f819050919050565b613707816136f5565b8114613711575f5ffd5b50565b5f81359050613722816136fe565b92915050565b5f5f6040838503121561373e5761373d6136c7565b5b5f61374b858286016136e1565b925050602061375c85828601613714565b9150509250929050565b5f8115159050919050565b61377a81613766565b82525050565b5f6020820190506137935f830184613771565b92915050565b6137a2816136f5565b82525050565b5f6020820190506137bb5f830184613799565b92915050565b5f5f604083850312156137d7576137d66136c7565b5b5f6137e485828601613714565b92505060206137f585828601613714565b9150509250929050565b5f5f5f60608486031215613816576138156136c7565b5b5f613823868287016136e1565b9350506020613834868287016136e1565b925050604061384586828701613714565b9150509250925092565b5f60ff82169050919050565b6138648161384f565b82525050565b5f60208201905061387d5f83018461385b565b92915050565b5f6060820190506138965f830186613771565b6138a36020830185613799565b6138b06040830184613799565b949350505050565b5f602082840312156138cd576138cc6136c7565b5b5f6138da848285016136e1565b91505092915050565b6138ec81613766565b81146138f6575f5ffd5b50565b5f81359050613907816138e3565b92915050565b5f5f60408385031215613923576139226136c7565b5b5f613930858286016136e1565b9250506020613941858286016138f9565b9150509250929050565b5f602082840312156139605761395f6136c7565b5b5f61396d848285016138f9565b91505092915050565b5f6020820190506139895f830184613691565b92915050565b5f602082840312156139a4576139a36136c7565b5b5f6139b184828501613714565b91505092915050565b5f6060820190506139cd5f830186613771565b6139da6020830185613771565b6139e76040830184613771565b949350505050565b5f5f5f60608486031215613a0657613a056136c7565b5b5f613a13868287016138f9565b9350506020613a2486828701613714565b9250506040613a3586828701613714565b9150509250925092565b5f60c082019050613a525f830189613799565b613a5f6020830188613799565b613a6c6040830187613799565b613a796060830186613799565b613a866080830185613799565b613a9360a0830184613799565b979650505050505050565b5f5f60408385031215613ab457613ab36136c7565b5b5f613ac1858286016136e1565b9250506020613ad2858286016136e1565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680613b2057607f821691505b602082108103613b3357613b32613adc565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613b6d6020836135db565b9150613b7882613b39565b602082019050919050565b5f6020820190508181035f830152613b9a81613b61565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613bd8826136f5565b9150613be3836136f5565b9250828201905080821115613bfb57613bfa613ba1565b5b92915050565b7f546f74616c20627579206665652063616e6e6f742062652068696768657220745f8201527f68616e2031303025000000000000000000000000000000000000000000000000602082015250565b5f613c5b6028836135db565b9150613c6682613c01565b604082019050919050565b5f6020820190508181035f830152613c8881613c4f565b9050919050565b5f606082019050613ca25f830186613799565b613caf6020830185613799565b613cbc6040830184613799565b949350505050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f613d1e6028836135db565b9150613d2982613cc4565b604082019050919050565b5f6020820190508181035f830152613d4b81613d12565b9050919050565b7f546f74616c2073656c6c206665652063616e6e6f7420626520686967686572205f8201527f7468616e20313030250000000000000000000000000000000000000000000000602082015250565b5f613dac6029836135db565b9150613db782613d52565b604082019050919050565b5f6020820190508181035f830152613dd981613da0565b9050919050565b7f546f74616c207472616e73666572206665652063616e6e6f74206265206869675f8201527f686572207468616e203130302500000000000000000000000000000000000000602082015250565b5f613e3a602d836135db565b9150613e4582613de0565b604082019050919050565b5f6020820190508181035f830152613e6781613e2e565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f613ec86025836135db565b9150613ed382613e6e565b604082019050919050565b5f6020820190508181035f830152613ef581613ebc565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e205f8201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b5f613f566024836135db565b9150613f6182613efc565b604082019050919050565b5f6020820190508181035f830152613f8381613f4a565b9050919050565b5f613f94826136f5565b9150613f9f836136f5565b9250828202613fad816136f5565b91508282048414831517613fc457613fc3613ba1565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f614002826136f5565b915061400d836136f5565b92508261401d5761401c613fcb565b5b828204905092915050565b7f556e617574686f72697a65642043616c6c6572206164647265737300000000005f82015250565b5f61405c601b836135db565b915061406782614028565b602082019050919050565b5f6020820190508181035f83015261408981614050565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e5f8201527f20302e30312520746f74616c20737570706c792e000000000000000000000000602082015250565b5f6140ea6034836135db565b91506140f582614090565b604082019050919050565b5f6020820190508181035f830152614117816140de565b9050919050565b7f6d6178696d756d20616d6f756e742063616e74206265206869676865722074685f8201527f616e206d696e696d756d00000000000000000000000000000000000000000000602082015250565b5f614178602a836135db565b91506141838261411e565b604082019050919050565b5f6020820190508181035f8301526141a58161416c565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f6142066039836135db565b9150614211826141ac565b604082019050919050565b5f6020820190508181035f830152614233816141fa565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6142946026836135db565b915061429f8261423a565b604082019050919050565b5f6020820190508181035f8301526142c181614288565b9050919050565b7f43616e6e6f7420736574206d61785478206c6f776572207468616e20302e32255f82015250565b5f6142fc6020836135db565b9150614307826142c8565b602082019050919050565b5f6020820190508181035f830152614329816142f0565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61438a6024836135db565b915061439582614330565b604082019050919050565b5f6020820190508181035f8301526143b78161437e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6144186022836135db565b9150614423826143be565b604082019050919050565b5f6020820190508181035f8301526144458161440c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6144a66025836135db565b91506144b18261444c565b604082019050919050565b5f6020820190508181035f8301526144d38161449a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6145346023836135db565b915061453f826144da565b604082019050919050565b5f6020820190508181035f83015261456181614528565b9050919050565b7f5f7472616e736665723a3a2054726164696e67206973206e6f742061637469765f8201527f652e000000000000000000000000000000000000000000000000000000000000602082015250565b5f6145c26022836135db565b91506145cd82614568565b604082019050919050565b5f6020820190508181035f8301526145ef816145b6565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d617854782e0000000000000000000000000000000000000000000000000000602082015250565b5f6146506026836135db565b915061465b826145f6565b604082019050919050565b5f6020820190508181035f83015261467d81614644565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f6146b86013836135db565b91506146c382614684565b602082019050919050565b5f6020820190508181035f8301526146e5816146ac565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d617854782e00000000000000000000000000000000000000000000000000602082015250565b5f6147466027836135db565b9150614751826146ec565b604082019050919050565b5f6020820190508181035f8301526147738161473a565b9050919050565b5f614784826136f5565b915061478f836136f5565b92508282039050818111156147a7576147a6613ba1565b5b92915050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6148076026836135db565b9150614812826147ad565b604082019050919050565b5f6020820190508181035f830152614834816147fb565b9050919050565b5f81905092915050565b50565b5f6148535f8361483b565b915061485e82614845565b5f82019050919050565b5f61487282614848565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f815190506148e4816136cb565b92915050565b5f602082840312156148ff576148fe6136c7565b5b5f61490c848285016148d6565b91505092915050565b5f819050919050565b5f819050919050565b5f61494161493c61493784614915565b61491e565b6136f5565b9050919050565b61495181614927565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61498981613680565b82525050565b5f61499a8383614980565b60208301905092915050565b5f602082019050919050565b5f6149bc82614957565b6149c68185614961565b93506149d183614971565b805f5b83811015614a015781516149e8888261498f565b97506149f3836149a6565b9250506001810190506149d4565b5085935050505092915050565b5f60a082019050614a215f830188613799565b614a2e6020830187614948565b8181036040830152614a4081866149b2565b9050614a4f6060830185613691565b614a5c6080830184613799565b969550505050505056fea26469706673582212204d3a81acdf72777e33c954c0a6c85ce349940ebddcff11179e248c4eae57386664736f6c634300081b0033