60806040523480156200001157600080fd5b50604051620017643803806200176483398101604081905262000034916200027f565b600380546001600160a01b031916331790556004829055600581905560408051808201909152601381527f535441434b20233220434f4c4c454354494f4e0000000000000000000000000060208201526006906200009390826200034b565b506200009e620000a6565b505062000513565b60005b6004548110156200010357600354600254600554604080516020810190915260008152620000e3936001600160a01b031692919062000106565b60028054906000620000f5836200042d565b9091555050600101620000a9565b50565b6001600160a01b038416600090815260208181526040808320868452909152812080548492906200013990849062000449565b909155505060408051848152602081018490526001600160a01b0386169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46001600160a01b0384163b15620002285760405163f23a6e6160e01b808252906001600160a01b0386169063f23a6e6190620001d190339060009089908990899060040162000465565b6020604051808303816000875af1158015620001f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002179190620004e0565b6001600160e01b0319161462000235565b6001600160a01b03841615155b620002795760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b604482015260640160405180910390fd5b50505050565b600080604083850312156200029357600080fd5b505080516020909101519092909150565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620002cf57607f821691505b602082108103620002f057634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000346576000816000526020600020601f850160051c81016020861015620003215750805b601f850160051c820191505b8181101562000342578281556001016200032d565b5050505b505050565b81516001600160401b03811115620003675762000367620002a4565b6200037f81620003788454620002ba565b84620002f6565b602080601f831160018114620003b757600084156200039e5750858301515b600019600386901b1c1916600185901b17855562000342565b600085815260208120601f198616915b82811015620003e857888601518255948401946001909101908401620003c7565b5085821015620004075787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b60006001820162000442576200044262000417565b5060010190565b808201808211156200045f576200045f62000417565b92915050565b600060018060a01b0380881683526020818816602085015286604085015285606085015260a06080850152845191508160a085015260005b82811015620004bb5785810182015185820160c0015281016200049d565b5050600060c0828501015260c0601f19601f8301168401019150509695505050505050565b600060208284031215620004f357600080fd5b81516001600160e01b0319811681146200050c57600080fd5b9392505050565b61124180620005236000396000f3fe608060405234801561001057600080fd5b50600436106100e95760003560e01c80634e1273f41161008c578063a22cb46511610066578063a22cb465146101f9578063d5abeb011461020c578063e985e9c514610215578063f242432a1461024357600080fd5b80634e1273f4146101a557806375794a3c146101c55780638da5cb5b146101ce57600080fd5b80630e89341c116100c85780630e89341c14610161578063156e29f6146101745780632eb2c2d614610189578063378dc3dc1461019c57600080fd5b8062fdd58e146100ee57806301ffc9a71461012957806306fdde031461014c575b600080fd5b6101166100fc366004610ba9565b600060208181529281526040808220909352908152205481565b6040519081526020015b60405180910390f35b61013c610137366004610bec565b610256565b6040519015158152602001610120565b6101546102a8565b6040516101209190610c56565b61015461016f366004610c69565b610336565b610187610182366004610c82565b61039e565b005b610187610197366004610d43565b610407565b61011660055481565b6101b86101b3366004610dfe565b6106aa565b6040516101209190610e6a565b61011660025481565b6003546101e1906001600160a01b031681565b6040516001600160a01b039091168152602001610120565b610187610207366004610eae565b6107df565b61011660045481565b61013c610223366004610eea565b600160209081526000928352604080842090915290825290205460ff1681565b610187610251366004610f1d565b61084b565b60006301ffc9a760e01b6001600160e01b0319831614806102875750636cdb3d1360e11b6001600160e01b03198316145b806102a257506303a24d0760e21b6001600160e01b03198316145b92915050565b600680546102b590610f95565b80601f01602080910402602001604051908101604052809291908181526020018280546102e190610f95565b801561032e5780601f106103035761010080835404028352916020019161032e565b820191906000526020600020905b81548152906001019060200180831161031157829003601f168201915b505050505081565b60608160405160200161038891907f68747470733a2f2f7777772e737461636b2e736f2f696d616765732f69636f6e815269732f6c6f676f2e73766760b01b6020820152602a810191909152604a0190565b6040516020818303038152906040529050919050565b60045482106103e75760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a59081d1bdad95b88125160821b60448201526064015b60405180910390fd5b61040283838360405180602001604052806000815250610a45565b505050565b8483146104485760405162461bcd60e51b815260206004820152600f60248201526e0988a9c8ea890be9a92a69a82a8869608b1b60448201526064016103de565b336001600160a01b038916148061048257506001600160a01b038816600090815260016020908152604080832033845290915290205460ff165b6104bf5760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b60448201526064016103de565b60008060005b8781101561057a578888828181106104df576104df610fcf565b9050602002013592508686828181106104fa576104fa610fcf565b6001600160a01b038e1660009081526020818152604080832089845282528220805493909102949094013595508593925090610537908490610ffb565b90915550506001600160a01b038a166000908152602081815260408083208684529091528120805484929061056d90849061100e565b90915550506001016104c5565b50886001600160a01b03168a6001600160a01b0316336001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8b8b8b8b6040516105ce9493929190611053565b60405180910390a46001600160a01b0389163b156106755760405163bc197c8160e01b808252906001600160a01b038b169063bc197c81906106229033908f908e908e908e908e908e908e906004016110ae565b6020604051808303816000875af1158015610641573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106659190611112565b6001600160e01b03191614610682565b6001600160a01b03891615155b61069e5760405162461bcd60e51b81526004016103de9061112f565b50505050505050505050565b60608382146106ed5760405162461bcd60e51b815260206004820152600f60248201526e0988a9c8ea890be9a92a69a82a8869608b1b60448201526064016103de565b8367ffffffffffffffff81111561070657610706611159565b60405190808252806020026020018201604052801561072f578160200160208202803683370190505b50905060005b848110156107d65760008087878481811061075257610752610fcf565b9050602002016020810190610767919061116f565b6001600160a01b03166001600160a01b03168152602001908152602001600020600085858481811061079b5761079b610fcf565b905060200201358152602001908152602001600020548282815181106107c3576107c3610fcf565b6020908102919091010152600101610735565b50949350505050565b3360008181526001602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b336001600160a01b038716148061088557506001600160a01b038616600090815260016020908152604080832033845290915290205460ff165b6108c25760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b60448201526064016103de565b6001600160a01b038616600090815260208181526040808320878452909152812080548592906108f3908490610ffb565b90915550506001600160a01b0385166000908152602081815260408083208784529091528120805485929061092990849061100e565b909155505060408051858152602081018590526001600160a01b03808816929089169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46001600160a01b0385163b15610a145760405163f23a6e6160e01b808252906001600160a01b0387169063f23a6e61906109c19033908b908a908a908a908a9060040161118a565b6020604051808303816000875af11580156109e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a049190611112565b6001600160e01b03191614610a21565b6001600160a01b03851615155b610a3d5760405162461bcd60e51b81526004016103de9061112f565b505050505050565b6001600160a01b03841660009081526020818152604080832086845290915281208054849290610a7690849061100e565b909155505060408051848152602081018490526001600160a01b0386169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46001600160a01b0384163b15610b5e5760405163f23a6e6160e01b808252906001600160a01b0386169063f23a6e6190610b0b9033906000908990899089906004016111d1565b6020604051808303816000875af1158015610b2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4e9190611112565b6001600160e01b03191614610b6b565b6001600160a01b03841615155b610b875760405162461bcd60e51b81526004016103de9061112f565b50505050565b80356001600160a01b0381168114610ba457600080fd5b919050565b60008060408385031215610bbc57600080fd5b610bc583610b8d565b946020939093013593505050565b6001600160e01b031981168114610be957600080fd5b50565b600060208284031215610bfe57600080fd5b8135610c0981610bd3565b9392505050565b6000815180845260005b81811015610c3657602081850181015186830182015201610c1a565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610c096020830184610c10565b600060208284031215610c7b57600080fd5b5035919050565b600080600060608486031215610c9757600080fd5b610ca084610b8d565b95602085013595506040909401359392505050565b60008083601f840112610cc757600080fd5b50813567ffffffffffffffff811115610cdf57600080fd5b6020830191508360208260051b8501011115610cfa57600080fd5b9250929050565b60008083601f840112610d1357600080fd5b50813567ffffffffffffffff811115610d2b57600080fd5b602083019150836020828501011115610cfa57600080fd5b60008060008060008060008060a0898b031215610d5f57600080fd5b610d6889610b8d565b9750610d7660208a01610b8d565b9650604089013567ffffffffffffffff80821115610d9357600080fd5b610d9f8c838d01610cb5565b909850965060608b0135915080821115610db857600080fd5b610dc48c838d01610cb5565b909650945060808b0135915080821115610ddd57600080fd5b50610dea8b828c01610d01565b999c989b5096995094979396929594505050565b60008060008060408587031215610e1457600080fd5b843567ffffffffffffffff80821115610e2c57600080fd5b610e3888838901610cb5565b90965094506020870135915080821115610e5157600080fd5b50610e5e87828801610cb5565b95989497509550505050565b6020808252825182820181905260009190848201906040850190845b81811015610ea257835183529284019291840191600101610e86565b50909695505050505050565b60008060408385031215610ec157600080fd5b610eca83610b8d565b915060208301358015158114610edf57600080fd5b809150509250929050565b60008060408385031215610efd57600080fd5b610f0683610b8d565b9150610f1460208401610b8d565b90509250929050565b60008060008060008060a08789031215610f3657600080fd5b610f3f87610b8d565b9550610f4d60208801610b8d565b94506040870135935060608701359250608087013567ffffffffffffffff811115610f7757600080fd5b610f8389828a01610d01565b979a9699509497509295939492505050565b600181811c90821680610fa957607f821691505b602082108103610fc957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156102a2576102a2610fe5565b808201808211156102a2576102a2610fe5565b81835260006001600160fb1b0383111561103a57600080fd5b8260051b80836020870137939093016020019392505050565b604081526000611067604083018688611021565b828103602084015261107a818587611021565b979650505050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b0389811682528816602082015260a0604082018190526000906110db908301888a611021565b82810360608401526110ee818789611021565b90508281036080840152611103818587611085565b9b9a5050505050505050505050565b60006020828403121561112457600080fd5b8151610c0981610bd3565b60208082526010908201526f155394d0519157d49150d2541251539560821b604082015260600190565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561118157600080fd5b610c0982610b8d565b6001600160a01b03878116825286166020820152604081018590526060810184905260a0608082018190526000906111c59083018486611085565b98975050505050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009061107a90830184610c1056fea264697066735822122041560fbb3ea27416750abf9cb9238cc0d47f0ec75a1a03320545633a32eb4dda64736f6c6343000818003300000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000032