60806040526002805460ff1916600117905534801561001d57600080fd5b5060405146908060526133b68239604080519182900360520182208282018252600c8084526b696e656469626c655820563160a01b6020948501528251808401845260018152603160f81b908501528251808501929092527f0e2a126f779812fccf2ebc1f23a8019e311bd9d35aa8260605e5d457cae2bc37828401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606083015260808201959095523060a0808301919091528251808303909101815260c09091019091528051910120600a555080546001600160a01b031916331790556132aa8061010c6000396000f3fe608060405234801561001057600080fd5b506004361061025d5760003560e01c806363da98af116101465780639bc289f1116100c3578063d21220a711610087578063d21220a714610700578063d505accf14610708578063d7dc4e4314610759578063dd62ed3e146107ee578063f887ea401461081c578063fff6cae9146108245761025d565b80639bc289f114610678578063a9059cbb1461069e578063ba9a7a56146106ca578063bc25cf77146106d2578063c45a0155146106f85761025d565b8063829c67031161010a578063829c6703146105fb57806384a1931f1461060357806389afcb441461060b578063926925a61461064a57806395d89b41146106705761025d565b806363da98af146105795780636a6278421461058157806370a08231146105a75780637464fc3d146105cd5780637ecebe00146105d55761025d565b806330adf81f116101df5780633f7118a0116101a35780633f7118a01461049857806344ee3a1c146104be578063505bd3da146104db5780635909c0d5146105015780635a3d5493146105095780635aac46b4146105115761025d565b806330adf81f14610422578063313ce5671461042a5780633644e51514610448578063365389a41461045057806338c8375a146104725761025d565b80630dfe1681116102265780630dfe16811461037e57806315a0ea6a146103a257806316343da4146103ca57806318160ddd146103e457806323b872dd146103ec5761025d565b8062e4858d1461026257806301339c211461028157806306fdde031461029d5780630902f1ac1461031a578063095ea7b314610352575b600080fd5b61026a61082c565b6040805161ffff9092168252519081900360200190f35b61028961083d565b604080519115158252519081900360200190f35b6102a561084d565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102df5781810151838201526020016102c7565b50505050905090810190601f16801561030c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610322610875565b604080516001600160701b03948516815292909316602083015263ffffffff168183015290519081900360600190f35b6102896004803603604081101561036857600080fd5b506001600160a01b03813516906020013561089f565b6103866108b6565b604080516001600160a01b039092168252519081900360200190f35b6103c8600480360360208110156103b857600080fd5b50356001600160a01b03166108c5565b005b6103d2610a75565b60408051918252519081900360200190f35b6103d2610a7b565b6102896004803603606081101561040257600080fd5b506001600160a01b03813581169160208101359091169060400135610a81565b6103d2610b1d565b610432610b41565b6040805160ff9092168252519081900360200190f35b6103d2610b46565b610458610b4c565b6040805164ffffffffff9092168252519081900360200190f35b6103d26004803603602081101561048857600080fd5b50356001600160a01b0316610b59565b6103c8600480360360208110156104ae57600080fd5b50356001600160a01b0316610bf3565b6103c8600480360360208110156104d457600080fd5b5035610cba565b6103d2600480360360208110156104f157600080fd5b50356001600160a01b0316610ced565b6103d2610cff565b6103d2610d05565b6103c8600480360361010081101561052857600080fd5b506001600160a01b03813581169160208101358216916040820135169061ffff606082013581169160808101359091169060a081013515159064ffffffffff60c082013581169160e0013516610d0b565b61026a610e43565b6103d26004803603602081101561059757600080fd5b50356001600160a01b0316610e56565b6103d2600480360360208110156105bd57600080fd5b50356001600160a01b03166114fa565b6103d261150c565b6103d2600480360360208110156105eb57600080fd5b50356001600160a01b0316611512565b6103d2611524565b61045861152a565b6106316004803603602081101561062157600080fd5b50356001600160a01b031661153e565b6040805192835260208301919091528051918290030190f35b6103d26004803603602081101561066057600080fd5b50356001600160a01b03166115bd565b6102a56115cf565b6103d26004803603602081101561068e57600080fd5b50356001600160a01b03166115f2565b610289600480360360408110156106b457600080fd5b506001600160a01b038135169060200135611604565b6103d2611613565b6103c8600480360360208110156106e857600080fd5b50356001600160a01b0316611619565b610386611782565b610386611791565b6103c8600480360360e081101561071e57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c001356117a0565b6103c8600480360360a081101561076f57600080fd5b8135916020810135916001600160a01b03604083013581169260608101359091169181019060a0810160808201356401000000008111156107af57600080fd5b8201836020820111156107c157600080fd5b803590602001918460018302840111640100000000831117156107e357600080fd5b5090925090506119a2565b6103d26004803603604081101561080457600080fd5b506001600160a01b0381358116916020013516612099565b6103866120b6565b6103c86120c5565b601254600160381b900461ffff1681565b601154600160a01b900460ff1681565b6040518060400160405280600c81526020016b696e656469626c655820563160a01b81525081565b6001546001600160701b0380821692600160701b830490911691600160e01b900463ffffffff1690565b60006108ac338484612237565b5060015b92915050565b600d546001600160a01b031681565b60025460ff16600114610913576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6002805460ff1916905560015461093d906001600160701b0380821691600160701b900416612299565b506001600160a01b0381166000908152600760205260408120546009546109ad91670de0b6b3a7640000916109a19161097c919063ffffffff61247a16565b6001600160a01b0386166000908152600460205260409020549063ffffffff6124ca16565b9063ffffffff61252d16565b6001600160a01b0383166000908152600860209081526040808320546009546007909352908320919091559192506109eb838363ffffffff61258b16565b1115610a3957610a0e600130610a07858563ffffffff61258b16565b60016125da565b6001600160a01b038316600090815260086020526040812055610a32836001612739565b5050610a63565b600154610a5f906001600160701b0380821691600160701b90041663ffffffff6124ca16565b6003555b50506002805460ff1916600117905550565b61271081565b60005481565b6001600160a01b038316600090815260056020908152604080832033845290915281205460001914610b06576001600160a01b0384166000908152600560209081526040808320338452909152902054610ae1908363ffffffff61247a16565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b610b1384848460006125da565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b600a5481565b60125464ffffffffff1681565b6001600160a01b0381166000908152600760205260408120546009548291610bbd91670de0b6b3a7640000916109a191610b989163ffffffff61247a16565b6001600160a01b0387166000908152600460205260409020549063ffffffff6124ca16565b6001600160a01b038416600090815260086020526040902054909150610be9828263ffffffff61258b16565b925050505b919050565b731f28ed9d4792a567dad779235c2b766ab84d8e333314610c48576040805162461bcd60e51b815260206004820152600a60248201526937b7363c9030b236b4b760b11b604482015290519081900360640190fd5b6364d092df4210610ca0576040805162461bcd60e51b815260206004820181905260248201527f4d6179206e6f7420756e6c6f636b20616674657220417567757374203674682e604482015290519081900360640190fd5b6001600160a01b0316600090815260066020526040812055565b33600090815260066020526040902054610cda908263ffffffff61258b16565b3360009081526006602052604090205550565b60086020526000908152604090205481565b600f5481565b60105481565b600c546001600160a01b03163314610d61576040805162461bcd60e51b81526020600482015260146024820152732ab734b9bbb0b82b191d102327a92124a22222a760611b604482015290519081900360640190fd5b600d80546001600160a01b03808b166001600160a01b031992831617909255600e8054928a16929091169190911790558215610e39576011805460128054600160a01b6001600160a01b03199093166001600160a01b038b161760ff60a01b19169290921764ffffffffff60d01b1916600160d01b42860164ffffffffff908116919091029190911790935566ffff0000000000199091166501000000000061ffff898116919091029190911768ffff000000000000001916600160381b918816919091021764ffffffffff19169184169190911790555b5050505050505050565b60125465010000000000900461ffff1681565b60025460009060ff16600114610ea7576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6002805460ff19169055600080610ebc610875565b50600d54604080516370a0823160e01b815230600482015290519395509193506000926001600160a01b03909116916370a08231916024808301926020929190829003018186803b158015610f1057600080fd5b505afa158015610f24573d6000803e3d6000fd5b505050506040513d6020811015610f3a57600080fd5b5051600e54604080516370a0823160e01b815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610f8d57600080fd5b505afa158015610fa1573d6000803e3d6000fd5b505050506040513d6020811015610fb757600080fd5b505190506000610fd6836001600160701b03871663ffffffff61247a16565b90506000610ff3836001600160701b03871663ffffffff61247a16565b905060005460001480156110105750601154600160a01b900460ff165b1561137c57600d546000906001600160a01b031673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21461104f57600d546001600160a01b031661105c565b600e546001600160a01b03165b600d549091506000906001600160a01b031673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21461108e5783611090565b825b90506000826001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110cd57600080fd5b505afa1580156110e1573d6000803e3d6000fd5b505050506040513d60208110156110f757600080fd5b505160125490915061271061ffff600160381b830481168402829004926501000000000090041683020483811115611176576040805162461bcd60e51b815260206004820152601b60248201527f4e6f7420656e6f75676820746f6b656e7320737570706c6965642e0000000000604482015290519081900360640190fd5b60125461119190429064ffffffffff1663ffffffff61258b16565b6001600160a01b03808f16600090815260066020908152604080832094909455600c548451622fcfcb60e31b81529451929493169263017e7e589260048083019392829003018186803b1580156111e757600080fd5b505afa1580156111fb573d6000803e3d6000fd5b505050506040513d602081101561121157600080fd5b50516040805163095ea7b360e01b81526001600160a01b0380841660048301526024820187905291519293509088169163095ea7b3916044808201926020929091908290030181600087803b15801561126957600080fd5b505af115801561127d573d6000803e3d6000fd5b505050506040513d602081101561129357600080fd5b5050604080516372746eaf60e01b81526001600160a01b038881166004830152602482018690529151918316916372746eaf9160448082019260009290919082900301818387803b1580156112e757600080fd5b505af11580156112fb573d6000803e3d6000fd5b5050600d546001600160a01b031673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2149150611350905057611337888463ffffffff61247a16565b97506113498a8463ffffffff61247a16565b9950611375565b611360878463ffffffff61247a16565b9650611372898463ffffffff61247a16565b98505b5050505050505b60006113888787612299565b600054909150806113d1576113bd6103e86113b16113ac878763ffffffff6124ca16565b612a9c565b9063ffffffff61247a16565b98506113cc60006103e8612aed565b611420565b61141d6001600160701b0389166113ee868463ffffffff6124ca16565b816113f557fe5b046001600160701b038916611410868563ffffffff6124ca16565b8161141757fe5b04612b8c565b98505b6000891161145f5760405162461bcd60e51b815260040180806020018281038252602881526020018061321f6028913960400191505060405180910390fd5b6114698a8a612aed565b61147586868a8a612ba4565b81156114a5576001546114a1906001600160701b0380821691600160701b90041663ffffffff6124ca16565b6003555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506002805460ff1916600117905550949695505050505050565b60046020526000908152604090205481565b60035481565b600b6020526000908152604090205481565b60095481565b601154600160d01b900464ffffffffff1681565b600254600090819060ff16600114611591576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6002805460ff191690556115a6836000612739565b6002805460ff191660011790559094909350915050565b60076020526000908152604090205481565b60405180604001604052806007815260200166696e65582d563160c81b81525081565b60066020526000908152604090205481565b60006108ac33848460006125da565b6103e881565b60025460ff16600114611667576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6002805460ff19169055600d54600e54600154604080516370a0823160e01b815230600482015290516001600160a01b03948516949093169261171b9285928792611716926001600160701b03169185916370a0823191602480820192602092909190829003018186803b1580156116de57600080fd5b505afa1580156116f2573d6000803e3d6000fd5b505050506040513d602081101561170857600080fd5b50519063ffffffff61247a16565b612e4b565b600154604080516370a0823160e01b81523060048201529051610a63928492879261171692600160701b90046001600160701b0316916001600160a01b038616916370a0823191602480820192602092909190829003018186803b1580156116de57600080fd5b600c546001600160a01b031681565b600e546001600160a01b031681565b428410156117ea576040805162461bcd60e51b8152602060048201526012602482015271155b9a5cddd85c158c8e881156141254915160721b604482015290519081900360640190fd5b600a546001600160a01b038089166000818152600b602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e280820193601f1981019281900390910190855afa158015611905573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061193b5750886001600160a01b0316816001600160a01b0316145b61198c576040805162461bcd60e51b815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611997898989612237565b505050505050505050565b60025460ff166001146119f0576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6002805460ff1916905585151580611a085750600085115b611a435760405162461bcd60e51b815260040180806020018281038252602581526020018061318d6025913960400191505060405180910390fd5b600080611a4e610875565b5091509150816001600160701b031688108015611a735750806001600160701b031687105b611aae5760405162461bcd60e51b81526004018080602001828103825260218152602001806131d66021913960400191505060405180910390fd5b611ab6613172565b600d54600e546001600160a01b03918216919081169089168214801590611aef5750806001600160a01b0316896001600160a01b031614155b611b38576040805162461bcd60e51b8152602060048201526015602482015274556e697377617056323a20494e56414c49445f544f60581b604482015290519081900360640190fd5b8a15611b4957611b49828a8d612e4b565b8915611b5a57611b5a818a8c612e4b565b8515611c1557886001600160a01b03166310d1e85c338d8d8b8b6040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b03168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015611bfc57600080fd5b505af1158015611c10573d6000803e3d6000fd5b505050505b604080516370a0823160e01b815230600482015290516001600160a01b038416916370a08231916024808301926020929190829003018186803b158015611c5b57600080fd5b505afa158015611c6f573d6000803e3d6000fd5b505050506040513d6020811015611c8557600080fd5b50518352604080516370a0823160e01b815230600482015290516001600160a01b038316916370a08231916024808301926020929190829003018186803b158015611ccf57600080fd5b505afa158015611ce3573d6000803e3d6000fd5b505050506040513d6020811015611cf957600080fd5b50516020840152505080516000906001600160701b0385168b900310611d20576000611d33565b89846001600160701b0316038260000151035b9050600089846001600160701b031603836020015111611d54576000611d67565b89846001600160701b0316038360200151035b90506000821180611d785750600081115b611db35760405162461bcd60e51b81526004018080602001828103825260248152602001806131b26024913960400191505060405180910390fd5b6000611ddd611dc984602463ffffffff6124ca16565b85516113b19061271063ffffffff6124ca16565b90506000611e0c611df584602463ffffffff6124ca16565b60208701516113b19061271063ffffffff6124ca16565b9050611e3e6305f5e100611e326001600160701b038a8116908a1663ffffffff6124ca16565b9063ffffffff6124ca16565b611e4e838363ffffffff6124ca16565b1015611e90576040805162461bcd60e51b815260206004820152600c60248201526b556e697377617056323a204b60a01b604482015290519081900360640190fd5b5050601154600160a01b900460ff168015611eba5750601154600160d01b900464ffffffffff1642105b1561201757600d546001600160a01b031673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2141580611efa5760008b118015611ef5575081155b611f08565b60008c118015611f08575082155b15611f6057611f4281611f1b578b611f1d565b8c5b6001600160a01b038c166000908152601360205260409020549063ffffffff61258b16565b6001600160a01b038b16600090815260136020526040902055612015565b6011546001600160a01b0316331415611fc657611fa881611f815782611f83565b835b6001600160a01b038b166000908152601360205260409020549063ffffffff61247a16565b6001600160a01b038a16600090815260136020526040902055612015565b611ffb81611fd45782611fd6565b835b6001600160a01b038c166000908152601360205260409020549063ffffffff61247a16565b6001600160a01b038b166000908152601360205260409020555b505b61202b836000015184602001518787612ba4565b60408051838152602081018390528082018d9052606081018c905290516001600160a01b038b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506002805460ff19166001179055505050505050505050565b600560209081526000928352604080842090915290825290205481565b6011546001600160a01b031681565b60025460ff16600114612113576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6002805460ff19169055600d54604080516370a0823160e01b81523060048201529051612228926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561216957600080fd5b505afa15801561217d573d6000803e3d6000fd5b505050506040513d602081101561219357600080fd5b5051600e54604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156121e057600080fd5b505afa1580156121f4573d6000803e3d6000fd5b505050506040513d602081101561220a57600080fd5b50516001546001600160701b0380821691600160701b900416612ba4565b6002805460ff19166001179055565b6001600160a01b03808416600081815260056020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600080600c60009054906101000a90046001600160a01b03166001600160a01b03166361d027b36040518163ffffffff1660e01b815260040160206040518083038186803b1580156122ea57600080fd5b505afa1580156122fe573d6000803e3d6000fd5b505050506040513d602081101561231457600080fd5b50516003546001600160a01b0382161580159450919250906124665780156124615760006123576113ac6001600160701b0388811690881663ffffffff6124ca16565b9050600061236483612a9c565b90508082111561245e576000805490612393612386858563ffffffff61247a16565b839063ffffffff6124ca16565b905060006123b8846123ac87600563ffffffff6124ca16565b9063ffffffff61258b16565b905060008183816123c557fe5b049050801561245957600160005260046020527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe055461242f6124208287036109a1670de0b6b3a7640000611e3287600563ffffffff6124ca16565b6009549063ffffffff61258b16565b60095561243c8983612aed565b612457600161245284600563ffffffff6124ca16565b612aed565b505b505050505b50505b612472565b80156124725760006003555b505092915050565b808203828111156108b0576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b60008115806124e5575050808202828282816124e257fe5b04145b6108b0576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b600080821161257a576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6469762d6f766572666c6f7760601b604482015290519081900360640190fd5b81838161258357fe5b049392505050565b808201828110156108b0576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fd5b6001600160a01b0384166000908152600660205260409020544211612646576040805162461bcd60e51b815260206004820152601760248201527f557365722062616c616e6365206973206c6f636b65642e000000000000000000604482015290519081900360640190fd5b8061267e5760015461266b906001600160701b0380821691600160701b900416612299565b5061267584612fe5565b61267e83612fe5565b6001600160a01b0384166000908152600460205260409020546126a7908363ffffffff61247a16565b6001600160a01b0380861660009081526004602052604080822093909355908516815220546126dc908363ffffffff61258b16565b6001600160a01b0380851660008181526004602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350505050565b600080600080612747610875565b5090925090506001856127615761275e8383612299565b90505b600d54600e54604080516370a0823160e01b815230600482015290516001600160a01b03938416939092169160009184916370a0823191602480820192602092909190829003018186803b1580156127b857600080fd5b505afa1580156127cc573d6000803e3d6000fd5b505050506040513d60208110156127e257600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b038516916370a08231916024808301926020929190829003018186803b15801561283057600080fd5b505afa158015612844573d6000803e3d6000fd5b505050506040513d602081101561285a57600080fd5b50513060009081526004602052604081205490549192509080612883838663ffffffff6124ca16565b8161288a57fe5b049a508061289e838563ffffffff6124ca16565b816128a557fe5b04995060008b1180156128b8575060008a115b6128f35760405162461bcd60e51b81526004018080602001828103825260288152602001806131f76028913960400191505060405180910390fd5b6128fd308361309c565b612908868e8d612e4b565b612913858e8c612e4b565b604080516370a0823160e01b815230600482015290516001600160a01b038816916370a08231916024808301926020929190829003018186803b15801561295957600080fd5b505afa15801561296d573d6000803e3d6000fd5b505050506040513d602081101561298357600080fd5b5051604080516370a0823160e01b815230600482015290519195506001600160a01b038716916370a0823191602480820192602092909190829003018186803b1580156129cf57600080fd5b505afa1580156129e3573d6000803e3d6000fd5b505050506040513d60208110156129f957600080fd5b50519250612a0984848b8b612ba4565b8615612a3957600154612a35906001600160701b0380821691600160701b90041663ffffffff6124ca16565b6003555b8c6001600160a01b0316336001600160a01b03167fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d819364968d8d604051808381526020018281526020019250505060405180910390a35050505050505050509250929050565b60006003821115612adf575080600160028204015b81811015612ad957809150600281828581612ac857fe5b040181612ad157fe5b049050612ab1565b50610bee565b8115610bee57506001919050565b612af682612fe5565b600054612b09908263ffffffff61258b16565b60009081556001600160a01b038316815260046020526040902054612b34908263ffffffff61258b16565b6001600160a01b03831660008181526004602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612b9b5781612b9d565b825b9392505050565b6001600160701b038411801590612bc257506001600160701b038311155b612c09576040805162461bcd60e51b8152602060048201526013602482015272556e697377617056323a204f564552464c4f5760681b604482015290519081900360640190fd5b60015463ffffffff42811691600160e01b90048116820390811615801590612c3957506001600160701b03841615155b8015612c4d57506001600160701b03831615155b15612cbe578063ffffffff16612c7b85612c6686613143565b6001600160e01b03169063ffffffff61315516565b600f80546001600160e01b03929092169290920201905563ffffffff8116612ca684612c6687613143565b601080546001600160e01b0392909216929092020190555b600180546001600160701b03878116600160701b026dffffffffffffffffffffffffffff60701b19918a166dffffffffffffffffffffffffffff19909316929092171617905563ffffffff8116612dd75760115442600160a81b90910464ffffffffff161015612d4d576011805464ffffffffff60a81b1916600160a81b4264ffffffffff1602179055612dd7565b600d546001600160a01b0316730a127232c33cd61dc838293aeb1bfa6d51c89d7814801590612d9b5750600e546001600160a01b0316730a127232c33cd61dc838293aeb1bfa6d51c89d7814155b15612dd75760405162461bcd60e51b815260040180806020018281038252602f815260200180613247602f913960400191505060405180910390fd5b600180546001600160e01b0316600160e01b63ffffffff8516021790819055604080516001600160701b038084168252600160701b909304909216602083015280517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad19281900390910190a1505050505050565b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b1781529251815160009460609489169392918291908083835b60208310612ef85780518252601f199092019160209182019101612ed9565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612f5a576040519150601f19603f3d011682016040523d82523d6000602084013e612f5f565b606091505b5091509150818015612f8d575080511580612f8d5750808060200190516020811015612f8a57600080fd5b50515b612fde576040805162461bcd60e51b815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b6001600160a01b038116600090815260046020908152604080832054600790925290912080546009549091558161301d575050613099565b6000613050670de0b6b3a76400006109a16130438560095461247a90919063ffffffff16565b869063ffffffff6124ca16565b6001600160a01b03851660009081526008602052604090205490915061307c908263ffffffff61258b16565b6001600160a01b0385166000908152600860205260409020555050505b50565b6130a582612fe5565b6001600160a01b0382166000908152600460205260409020546130ce908263ffffffff61247a16565b6001600160a01b038316600090815260046020526040812091909155546130fb908263ffffffff61247a16565b60009081556040805183815290516001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6001600160701b0316600160701b0290565b60006001600160701b0382166001600160e01b0384168161258357fe5b60405180604001604052806000815260200160008152509056fe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e54454454776f20747261646573206861766520616c7265616479206f63637572726564206f6e207468697320626c6f636b2ea265627a7a723158208089e210425a93c83ed1be1014a2d34457b82b8a16e83b15f4843227b4f9891664736f6c63430005100032454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429