60806040526019600d55600e8054600160ff199182168117909255610e10600f556107086011556013805463ffffffff19169092179091556016805490911690553480156200004d57600080fd5b506040518060400160405280600c81526020016b42616279205361746f73686960a01b81525060405180604001604052806008815260200167425341544f53484960c01b8152508160039081620000a5919062000633565b506004620000b4828262000633565b5050506000620000c96200031260201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600160008082818080806b033b2e3c9fd0803ce80000006103e86200013e82602362000715565b6200014a91906200072f565b600a556103e86200015d82602362000715565b6200016991906200072f565b600c556127106200017c82600562000715565b6200018891906200072f565b600b5560188990556019889055601a87905586620001a7898b62000752565b620001b3919062000752565b601755601c869055601d859055601e84905583620001d2868862000752565b620001de919062000752565b601b55601f8390556020829055610e10600f5561270f600d55600e805460ff1916600117905542601055600880546001600160a01b03191673ef61d1246d58260529baeff09d09e546113e9dc3179055620002416005546001600160a01b031690565b600980546001600160a01b0319166001600160a01b039283161790556005546200026e9116600162000316565b6200027b30600162000316565b60085462000294906001600160a01b0316600162000316565b620002a361dead600162000316565b620002c2620002ba6005546001600160a01b031690565b6001620003c4565b620002cf306001620003c4565b600854620002e8906001600160a01b03166001620003c4565b620002f761dead6001620003c4565b6200030333826200043a565b50505050505050505062000768565b3390565b6005546001600160a01b03163314620003655760405162461bcd60e51b8152602060048201819052602482015260008051602062003a1183398151915260448201526064015b60405180910390fd5b6001600160a01b038216600081815260256020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b031633146200040f5760405162461bcd60e51b8152602060048201819052602482015260008051602062003a1183398151915260448201526064016200035c565b6001600160a01b03919091166000908152602660205260409020805460ff1916911515919091179055565b6001600160a01b038216620004925760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016200035c565b600254620004a1908262000523565b6002556001600160a01b038216600090815260208190526040902054620004c9908262000523565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b60008062000532838562000752565b905083811015620005865760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016200035c565b90505b92915050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620005ba57607f821691505b602082108103620005db57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200051e57600081815260208120601f850160051c810160208610156200060a5750805b601f850160051c820191505b818110156200062b5782815560010162000616565b505050505050565b81516001600160401b038111156200064f576200064f6200058f565b6200066781620006608454620005a5565b84620005e1565b602080601f8311600181146200069f5760008415620006865750858301515b600019600386901b1c1916600185901b1785556200062b565b600085815260208120601f198616915b82811015620006d057888601518255948401946001909101908401620006af565b5085821015620006ef5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620005895762000589620006ff565b6000826200074d57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620005895762000589620006ff565b61329980620007786000396000f3fe6080604052600436106103e85760003560e01c80638da5cb5b11610208578063b62496f511610118578063dd62ed3e116100ab578063f11a24d31161007a578063f11a24d314610b0c578063f2fde38b14610b22578063f637434214610b42578063f8b45b0514610b58578063fe72b27a14610b6e57600080fd5b8063dd62ed3e14610a93578063e2f4560514610ad9578063e884f26014610aef578063ed99530714610b0457600080fd5b8063c876d0b9116100e7578063c876d0b914610a2d578063c8c8ebe414610a47578063d257b34f14610a5d578063d85ba06314610a7d57600080fd5b8063b62496f51461099e578063bbc0c742146109ce578063c0246668146109ed578063c18bc19514610a0d57600080fd5b80639ec22c0e1161019b578063a457c2d71161016a578063a457c2d714610907578063a4c82a0014610927578063a4d15b641461093d578063a9059cbb1461095e578063aacebbe31461097e57600080fd5b80639ec22c0e146108a55780639fccce32146108bb578063a0d82dc5146108d1578063a2657778146108e757600080fd5b806395d89b41116101d757806395d89b411461083a5780639a7a23d61461084f5780639a9378d41461086f5780639c3b4fdc1461088f57600080fd5b80638da5cb5b146107c65780638ea5220f146107e45780639213691314610804578063924de9b71461081a57600080fd5b80632c3e486c116103035780635526566911610296578063715018a611610265578063715018a614610746578063730c18881461075b578063751039fc1461077b5780637571336a146107905780637bce5a04146107b057600080fd5b806355265669146106db5780636a486a8e146106f05780636ddd17131461070657806370a082311461072657600080fd5b806349bd5a5e116102d257806349bd5a5e146106525780634a62bb65146106725780634fbee1931461068c578063541a43cf146106c557600080fd5b80632c3e486c146105e65780632e82f1a0146105fc578063313ce56714610616578063395093511461063257600080fd5b8063199ffc721161037b57806323b872dd1161034a57806323b872dd1461058557806327c8f835146105a5578063293230b8146105bb5780632bf3d42d146105d057600080fd5b8063199ffc72146105235780631a8145bb146105395780631f3fed8f1461054f578063203e727e1461056557600080fd5b80631694505e116103b75780631694505e146104ac57806318160ddd146104cc5780631816467f146104eb578063184c16c51461050d57600080fd5b806306fdde03146103f45780630930907b1461041f578063095ea7b31461044c57806310d5de531461047c57600080fd5b366103ef57005b600080fd5b34801561040057600080fd5b50610409610b8e565b6040516104169190612daf565b60405180910390f35b34801561042b57600080fd5b50610434600081565b6040516001600160a01b039091168152602001610416565b34801561045857600080fd5b5061046c610467366004612e12565b610c20565b6040519015158152602001610416565b34801561048857600080fd5b5061046c610497366004612e3e565b60266020526000908152604090205460ff1681565b3480156104b857600080fd5b50600654610434906001600160a01b031681565b3480156104d857600080fd5b506002545b604051908152602001610416565b3480156104f757600080fd5b5061050b610506366004612e3e565b610c37565b005b34801561051957600080fd5b506104dd60115481565b34801561052f57600080fd5b506104dd600d5481565b34801561054557600080fd5b506104dd60225481565b34801561055b57600080fd5b506104dd60215481565b34801561057157600080fd5b5061050b610580366004612e5b565b610cc7565b34801561059157600080fd5b5061046c6105a0366004612e74565b610da4565b3480156105b157600080fd5b5061043461dead81565b3480156105c757600080fd5b5061050b610e0d565b3480156105dc57600080fd5b506104dd60205481565b3480156105f257600080fd5b506104dd600f5481565b34801561060857600080fd5b50600e5461046c9060ff1681565b34801561062257600080fd5b5060405160128152602001610416565b34801561063e57600080fd5b5061046c61064d366004612e12565b610e4e565b34801561065e57600080fd5b50600754610434906001600160a01b031681565b34801561067e57600080fd5b5060135461046c9060ff1681565b34801561069857600080fd5b5061046c6106a7366004612e3e565b6001600160a01b031660009081526025602052604090205460ff1690565b3480156106d157600080fd5b506104dd601f5481565b3480156106e757600080fd5b506104dd610e84565b3480156106fc57600080fd5b506104dd601b5481565b34801561071257600080fd5b5060135461046c9062010000900460ff1681565b34801561073257600080fd5b506104dd610741366004612e3e565b610eb0565b34801561075257600080fd5b5061050b610ecb565b34801561076757600080fd5b5061050b610776366004612ec5565b610f3f565b34801561078757600080fd5b5061046c611067565b34801561079c57600080fd5b5061050b6107ab366004612efa565b6110a4565b3480156107bc57600080fd5b506104dd60185481565b3480156107d257600080fd5b506005546001600160a01b0316610434565b3480156107f057600080fd5b50600954610434906001600160a01b031681565b34801561081057600080fd5b506104dd601c5481565b34801561082657600080fd5b5061050b610835366004612f2f565b6110f9565b34801561084657600080fd5b5061040961113f565b34801561085b57600080fd5b5061050b61086a366004612efa565b61114e565b34801561087b57600080fd5b50600854610434906001600160a01b031681565b34801561089b57600080fd5b506104dd601a5481565b3480156108b157600080fd5b506104dd60125481565b3480156108c757600080fd5b506104dd60235481565b3480156108dd57600080fd5b506104dd601e5481565b3480156108f357600080fd5b5061050b610902366004612f2f565b61120a565b34801561091357600080fd5b5061046c610922366004612e12565b611252565b34801561093357600080fd5b506104dd60105481565b34801561094957600080fd5b5060135461046c906301000000900460ff1681565b34801561096a57600080fd5b5061046c610979366004612e12565b6112a1565b34801561098a57600080fd5b5061050b610999366004612e3e565b6112ae565b3480156109aa57600080fd5b5061046c6109b9366004612e3e565b60276020526000908152604090205460ff1681565b3480156109da57600080fd5b5060135461046c90610100900460ff1681565b3480156109f957600080fd5b5061050b610a08366004612efa565b611335565b348015610a1957600080fd5b5061050b610a28366004612e5b565b6113be565b348015610a3957600080fd5b5060165461046c9060ff1681565b348015610a5357600080fd5b506104dd600a5481565b348015610a6957600080fd5b5061046c610a78366004612e5b565b61148f565b348015610a8957600080fd5b506104dd60175481565b348015610a9f57600080fd5b506104dd610aae366004612f4a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b348015610ae557600080fd5b506104dd600b5481565b348015610afb57600080fd5b5061046c6115e6565b61050b611623565b348015610b1857600080fd5b506104dd60195481565b348015610b2e57600080fd5b5061050b610b3d366004612e3e565b61181d565b348015610b4e57600080fd5b506104dd601d5481565b348015610b6457600080fd5b506104dd600c5481565b348015610b7a57600080fd5b5061046c610b89366004612e5b565b611908565b606060038054610b9d90612f83565b80601f0160208091040260200160405190810160405280929190818152602001828054610bc990612f83565b8015610c165780601f10610beb57610100808354040283529160200191610c16565b820191906000526020600020905b815481529060010190602001808311610bf957829003601f168201915b5050505050905090565b6000610c2d338484611b3c565b5060015b92915050565b6005546001600160a01b03163314610c6a5760405162461bcd60e51b8152600401610c6190612fbd565b60405180910390fd5b6009546040516001600160a01b03918216918316907f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74390600090a3600980546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610cf15760405162461bcd60e51b8152600401610c6190612fbd565b670de0b6b3a76400006103e8610d0660025490565b610d11906005613008565b610d1b919061301f565b610d25919061301f565b811015610d8c5760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060448201526e6c6f776572207468616e20302e352560881b6064820152608401610c61565b610d9e81670de0b6b3a7640000613008565b600a5550565b6000610db1848484611c61565b610e038433610dfe85604051806060016040528060288152602001613217602891396001600160a01b038a16600090815260016020908152604080832033845290915290205491906124d5565b611b3c565b5060019392505050565b6005546001600160a01b03163314610e375760405162461bcd60e51b8152600401610c6190612fbd565b6013805462ffff0019166201010017905543602455565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610c2d918590610dfe908661250f565b6000610eab610e936000610eb0565b610ea5610ea161dead610eb0565b6002545b90612575565b905090565b6001600160a01b031660009081526020819052604090205490565b6005546001600160a01b03163314610ef55760405162461bcd60e51b8152600401610c6190612fbd565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610f695760405162461bcd60e51b8152600401610c6190612fbd565b610258831015610fd75760405162461bcd60e51b815260206004820152603360248201527f63616e6e6f7420736574206275796261636b206d6f7265206f6674656e207468604482015272616e206576657279203130206d696e7574657360681b6064820152608401610c61565b6103e882108015610fe6575060015b61104b5760405162461bcd60e51b815260206004820152603060248201527f4d75737420736574206175746f204c50206275726e2070657263656e7420626560448201526f747765656e20302520616e642031302560801b6064820152608401610c61565b600f92909255600d55600e805460ff1916911515919091179055565b6005546000906001600160a01b031633146110945760405162461bcd60e51b8152600401610c6190612fbd565b506013805460ff19169055600190565b6005546001600160a01b031633146110ce5760405162461bcd60e51b8152600401610c6190612fbd565b6001600160a01b03919091166000908152602660205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146111235760405162461bcd60e51b8152600401610c6190612fbd565b60138054911515620100000262ff000019909216919091179055565b606060048054610b9d90612f83565b6005546001600160a01b031633146111785760405162461bcd60e51b8152600401610c6190612fbd565b6007546001600160a01b03908116908316036111fc5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610c61565b61120682826125b7565b5050565b6005546001600160a01b031633146112345760405162461bcd60e51b8152600401610c6190612fbd565b6013805491151563010000000263ff00000019909216919091179055565b6000610c2d3384610dfe8560405180606001604052806025815260200161323f602591393360009081526001602090815260408083206001600160a01b038d16845290915290205491906124d5565b6000610c2d338484611c61565b6005546001600160a01b031633146112d85760405162461bcd60e51b8152600401610c6190612fbd565b6008546040516001600160a01b03918216918316907fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b0567490600090a3600880546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b0316331461135f5760405162461bcd60e51b8152600401610c6190612fbd565b6001600160a01b038216600081815260256020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b031633146113e85760405162461bcd60e51b8152600401610c6190612fbd565b670de0b6b3a76400006103e86113fd60025490565b61140890600f613008565b611412919061301f565b61141c919061301f565b8110156114775760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015263312e352560e01b6064820152608401610c61565b61148981670de0b6b3a7640000613008565b600c5550565b6005546000906001600160a01b031633146114bc5760405162461bcd60e51b8152600401610c6190612fbd565b620186a06114c960025490565b6114d4906001613008565b6114de919061301f565b82101561154b5760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610c61565b6103e861155760025490565b611562906005613008565b61156c919061301f565b8211156115d85760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171a92903a37ba30b61039bab838363c9760611b6064820152608401610c61565b50600b81905560015b919050565b6005546000906001600160a01b031633146116135760405162461bcd60e51b8152600401610c6190612fbd565b506016805460ff19169055600190565b6005546001600160a01b0316331461164d5760405162461bcd60e51b8152600401610c6190612fbd565b737a250d5630b4cf539739df2c5dacb4c659f2488d61166d8160016110a4565b600680546001600160a01b0319166001600160a01b0383169081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156116c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ea9190613041565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611737573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061175b9190613041565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156117a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117cc9190613041565b600780546001600160a01b0319166001600160a01b039290921691821790556117f69060016110a4565b60075461180d906001600160a01b031660016125b7565b61181a3082600019611b3c565b50565b6005546001600160a01b031633146118475760405162461bcd60e51b8152600401610c6190612fbd565b6001600160a01b0381166118ac5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610c61565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546000906001600160a01b031633146119355760405162461bcd60e51b8152600401610c6190612fbd565b601154601254611945919061305e565b42116119935760405162461bcd60e51b815260206004820181905260248201527f4d757374207761697420666f7220636f6f6c646f776e20746f2066696e6973686044820152606401610c61565b6103e88211156119f85760405162461bcd60e51b815260206004820152602a60248201527f4d6179206e6f74206e756b65206d6f7265207468616e20313025206f6620746f60448201526906b656e7320696e204c560b41b6064820152608401610c61565b426012556007546040516370a0823160e01b81526001600160a01b03909116600482015260009030906370a0823190602401602060405180830381865afa158015611a47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6b9190613071565b90506000611a85612710611a7f848761260b565b9061268d565b90508015611aa657600754611aa6906001600160a01b031661dead836126cf565b6007546040805160016209351760e01b0319815290516001600160a01b0390921691829163fff6cae991600480830192600092919082900301818387803b158015611af057600080fd5b505af1158015611b04573d6000803e3d6000fd5b50506040517f8462566617872a3fbab94534675218431ff9e204063ee3f4f43d965626a39abb925060009150a1506001949350505050565b6001600160a01b038316611b9e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610c61565b6001600160a01b038216611bff5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610c61565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316611c875760405162461bcd60e51b8152600401610c619061308a565b6001600160a01b038216611cad5760405162461bcd60e51b8152600401610c61906130cf565b80600003611cc657611cc1838360006126cf565b505050565b60135460ff161561211b576005546001600160a01b03848116911614801590611cfd57506005546001600160a01b03838116911614155b8015611d1157506001600160a01b03821615155b8015611d2857506001600160a01b03821661dead14155b8015611d3e5750600754600160a01b900460ff16155b1561211b57601354610100900460ff16611dd6576001600160a01b03831660009081526025602052604090205460ff1680611d9157506001600160a01b03821660009081526025602052604090205460ff165b611dd65760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610c61565b60165460ff1615611ed5576005546001600160a01b03838116911614801590611e0d57506006546001600160a01b03838116911614155b8015611e2757506007546001600160a01b03838116911614155b15611ed557326000908152601460205260409020544311611ec25760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610c61565b3260009081526014602052604090204390555b6001600160a01b03831660009081526027602052604090205460ff168015611f1657506001600160a01b03821660009081526026602052604090205460ff16155b15611fea57600a54811115611f8b5760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610c61565b600c54611f9783610eb0565b611fa1908361305e565b1115611fe55760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610c61565b61211b565b6001600160a01b03821660009081526027602052604090205460ff16801561202b57506001600160a01b03831660009081526026602052604090205460ff16155b156120a157600a54811115611fe55760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610c61565b6001600160a01b03821660009081526026602052604090205460ff1661211b57600c546120cd83610eb0565b6120d7908361305e565b111561211b5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610c61565b600061212630610eb0565b600b5490915081108015908190612145575060135462010000900460ff165b801561215b5750600754600160a01b900460ff16155b801561218057506001600160a01b03851660009081526027602052604090205460ff16155b80156121a557506001600160a01b03851660009081526025602052604090205460ff16155b80156121ca57506001600160a01b03841660009081526025602052604090205460ff16155b156121f8576007805460ff60a01b1916600160a01b1790556121ea6127d8565b6007805460ff60a01b191690555b600754600160a01b900460ff1615801561222a57506001600160a01b03841660009081526027602052604090205460ff165b80156122385750600e5460ff165b80156122525750600f5460105461224f919061305e565b42115b801561227657506001600160a01b03851660009081526025602052604090205460ff165b1561228557612283612a2b565b505b6007546001600160a01b03861660009081526025602052604090205460ff600160a01b9092048216159116806122d357506001600160a01b03851660009081526025602052604090205460ff165b156122dc575060005b600081156124c1576001600160a01b03861660009081526027602052604090205460ff16801561230e57506000601b54115b156123c65761232d6064611a7f601b548861260b90919063ffffffff16565b9050601b54601d54826123409190613008565b61234a919061301f565b6022600082825461235b919061305e565b9091555050601b54601e546123709083613008565b61237a919061301f565b6023600082825461238b919061305e565b9091555050601b54601c546123a09083613008565b6123aa919061301f565b602160008282546123bb919061305e565b909155506124a39050565b6001600160a01b03871660009081526027602052604090205460ff1680156123f057506000601754115b156124a35761240f6064611a7f6017548861260b90919063ffffffff16565b9050601754601954826124229190613008565b61242c919061301f565b6022600082825461243d919061305e565b9091555050601754601a546124529083613008565b61245c919061301f565b6023600082825461246d919061305e565b90915550506017546018546124829083613008565b61248c919061301f565b6021600082825461249d919061305e565b90915550505b80156124b4576124b48730836126cf565b6124be8186613112565b94505b6124cc8787876126cf565b50505050505050565b600081848411156124f95760405162461bcd60e51b8152600401610c619190612daf565b5060006125068486613112565b95945050505050565b60008061251c838561305e565b90508381101561256e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610c61565b9392505050565b600061256e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506124d5565b6001600160a01b038216600081815260276020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b60008260000361261d57506000610c31565b60006126298385613008565b905082612636858361301f565b1461256e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610c61565b600061256e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612b75565b6001600160a01b0383166126f55760405162461bcd60e51b8152600401610c619061308a565b6001600160a01b03821661271b5760405162461bcd60e51b8152600401610c61906130cf565b612758816040518060600160405280602681526020016131f1602691396001600160a01b03861660009081526020819052604090205491906124d5565b6001600160a01b038085166000908152602081905260408082209390935590841681522054612787908261250f565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101611c54565b60006127e330610eb0565b905060006023546021546022546127fa919061305e565b612804919061305e565b90506000821580612813575081155b1561281d57505050565b600b5461282b906014613008565b83111561284357600b54612840906014613008565b92505b6000600283602254866128569190613008565b612860919061301f565b61286a919061301f565b905060006128788583612575565b905061288360025490565b61288b610e84565b1461289857612898613125565b476128a282612ba3565b60006128ae4783612575565b905060006128cb87611a7f6021548561260b90919063ffffffff16565b905060006128e888611a7f6023548661260b90919063ffffffff16565b90506000816128f78486613112565b6129019190613112565b60006022819055602181905560238190556009546040519293506001600160a01b031691849181818185875af1925050503d806000811461295e576040519150601f19603f3d011682016040523d82523d6000602084013e612963565b606091505b509098505086158015906129775750600081115b156129ca576129868782612cfd565b602254604080518881526020810184905280820192909252517f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619181900360600190a15b6008546040516001600160a01b03909116904790600081818185875af1925050503d8060008114612a17576040519150601f19603f3d011682016040523d82523d6000602084013e612a1c565b606091505b50505050505050505050505050565b426010556007546040516370a0823160e01b81526001600160a01b039091166004820152600090819030906370a0823190602401602060405180830381865afa158015612a7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aa09190613071565b90506000612abf612710611a7f600d548561260b90919063ffffffff16565b90508015612ae057600754612ae0906001600160a01b031661dead836126cf565b6007546040805160016209351760e01b0319815290516001600160a01b0390921691829163fff6cae991600480830192600092919082900301818387803b158015612b2a57600080fd5b505af1158015612b3e573d6000803e3d6000fd5b50506040517f454c91ae84fcc766ddda0dcb289f26b3d0176efeacf4061fc219fa6ca8c3048d925060009150a16001935050505090565b60008183612b965760405162461bcd60e51b8152600401610c619190612daf565b506000612506848661301f565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110612bd857612bd861313b565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015612c31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c559190613041565b81600181518110612c6857612c6861313b565b6001600160a01b039283166020918202929092010152600654612c8e9130911684611b3c565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790612cc7908590600090869030904290600401613151565b600060405180830381600087803b158015612ce157600080fd5b505af1158015612cf5573d6000803e3d6000fd5b505050505050565b600654612d159030906001600160a01b031684611b3c565b60065460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1158015612d83573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612da891906131c2565b5050505050565b600060208083528351808285015260005b81811015612ddc57858101830151858201604001528201612dc0565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461181a57600080fd5b60008060408385031215612e2557600080fd5b8235612e3081612dfd565b946020939093013593505050565b600060208284031215612e5057600080fd5b813561256e81612dfd565b600060208284031215612e6d57600080fd5b5035919050565b600080600060608486031215612e8957600080fd5b8335612e9481612dfd565b92506020840135612ea481612dfd565b929592945050506040919091013590565b803580151581146115e157600080fd5b600080600060608486031215612eda57600080fd5b8335925060208401359150612ef160408501612eb5565b90509250925092565b60008060408385031215612f0d57600080fd5b8235612f1881612dfd565b9150612f2660208401612eb5565b90509250929050565b600060208284031215612f4157600080fd5b61256e82612eb5565b60008060408385031215612f5d57600080fd5b8235612f6881612dfd565b91506020830135612f7881612dfd565b809150509250929050565b600181811c90821680612f9757607f821691505b602082108103612fb757634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610c3157610c31612ff2565b60008261303c57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561305357600080fd5b815161256e81612dfd565b80820180821115610c3157610c31612ff2565b60006020828403121561308357600080fd5b5051919050565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b81810381811115610c3157610c31612ff2565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156131a15784516001600160a01b03168352938301939183019160010161317c565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156131d757600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212209e30170f2d91d40b8a1f757c897c5c06705c6304050d5ab348a40d9febe924c064736f6c634300081300334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572