0x60806040526004361061026b5760003560e01c806370a08231116101445780639daa30e3116100b6578063bbc0c7421161007a578063bbc0c742146106b9578063c1adf7bc146106ce578063d798cbd2146106ee578063dd62ed3e14610703578063e3f9fc6314610723578063f2fde38b1461074357610272565b80639daa30e314610624578063a457c2d714610644578063a8aa1b3114610664578063a9059cbb14610679578063b41356c91461069957610272565b80638da5cb5b116101085780638da5cb5b146105875780639045be581461059c57806392c1c913146105bc5780639579d514146105dc57806395d89b41146105fc5780639b3075a11461061157610272565b806370a0823114610508578063715018a61461052857806375f0a8741461053d57806377348de914610552578063853828b61461057257610272565b806339509351116101dd5780634626402b116101a15780634626402b146104695780634e6be5441461048b5780634fb0b7e7146104935780635196aadb146104b357806361db2446146104d357806369ec8e9c146104e857610272565b806339509351146103d457806339b622d3146103f45780633bbac579146104145780633e9ffbea1461043457806340c10f191461044957610272565b80632c9fc7d31161022f5780632c9fc7d3146103265780632f3cb35b14610348578063313ce567146103685780633732e2141461038a578063375632931461039f57806337fc4803146103b457610272565b806306fdde0314610277578063095ea7b3146102a25780631233d83a146102cf57806318160ddd146102f157806323b872dd1461030657610272565b3661027257005b600080fd5b34801561028357600080fd5b5061028c610763565b6040516102999190612396565b60405180910390f35b3480156102ae57600080fd5b506102c26102bd3660046121ec565b6107f5565b604051610299919061238b565b3480156102db57600080fd5b506102e4610813565b6040516102999190612959565b3480156102fd57600080fd5b506102e4610819565b34801561031257600080fd5b506102c26103213660046121ac565b61081f565b34801561033257600080fd5b5061034661034136600461213c565b6108b8565b005b34801561035457600080fd5b50610346610363366004612217565b610932565b34801561037457600080fd5b5061037d610a0d565b60405161029991906129d2565b34801561039657600080fd5b506102e4610a12565b3480156103ab57600080fd5b50610346610a18565b3480156103c057600080fd5b506103466103cf36600461213c565b610a4c565b3480156103e057600080fd5b506102c26103ef3660046121ec565b610ad9565b34801561040057600080fd5b506102c261040f36600461213c565b610b2d565b34801561042057600080fd5b506102c261042f36600461213c565b610b42565b34801561044057600080fd5b50610346610b60565b34801561045557600080fd5b506103466104643660046121ec565b610bbb565b34801561047557600080fd5b5061047e610c04565b604051610299919061233c565b610346610c13565b34801561049f57600080fd5b506103466104ae36600461213c565b610c2c565b3480156104bf57600080fd5b506103466104ce36600461213c565b610cb5565b3480156104df57600080fd5b506102e4610cfd565b3480156104f457600080fd5b506102c261050336600461213c565b610d03565b34801561051457600080fd5b506102e461052336600461213c565b610d21565b34801561053457600080fd5b50610346610d3c565b34801561054957600080fd5b5061047e610d85565b34801561055e57600080fd5b5061034661056d3660046122f7565b610d94565b34801561057e57600080fd5b50610346610dd8565b34801561059357600080fd5b5061047e610ea1565b3480156105a857600080fd5b506102c26105b736600461213c565b610eb0565b3480156105c857600080fd5b506102e46105d736600461213c565b610ebd565b3480156105e857600080fd5b506102e46105f736600461213c565b610ecf565b34801561060857600080fd5b5061028c610ee1565b61034661061f3660046122f7565b610ef0565b34801561063057600080fd5b5061034661063f36600461213c565b611054565b34801561065057600080fd5b506102c261065f3660046121ec565b6110c3565b34801561067057600080fd5b5061047e61113c565b34801561068557600080fd5b506102c26106943660046121ec565b61114b565b3480156106a557600080fd5b506103466106b436600461213c565b61115f565b3480156106c557600080fd5b506102c26111e4565b3480156106da57600080fd5b506102e46106e936600461213c565b6111f4565b3480156106fa57600080fd5b506102e4611206565b34801561070f57600080fd5b506102e461071e366004612174565b61120c565b34801561072f57600080fd5b5061034661073e3660046122d7565b611237565b34801561074f57600080fd5b5061034661075e36600461213c565b611294565b60606003805461077290612a9c565b80601f016020809104026020016040519081016040528092919081815260200182805461079e90612a9c565b80156107eb5780601f106107c0576101008083540402835291602001916107eb565b820191906000526020600020905b8154815290600101906020018083116107ce57829003601f168201915b5050505050905090565b600061080961080261131e565b8484611322565b5060015b92915050565b60095481565b600a5490565b600061082c8484846113d6565b6001600160a01b03841660009081526001602052604081208161084d61131e565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156108995760405162461bcd60e51b8152600401610890906126fc565b60405180910390fd5b6108ad856108a561131e565b858403611322565b506001949350505050565b6108c061131e565b6001600160a01b03166108d1610ea1565b6001600160a01b0316146108f75760405162461bcd60e51b815260040161089090612744565b6109026011826116ea565b61091e5760405162461bcd60e51b815260040161089090612779565b61092f8161092a610ea1565b6116ff565b50565b61093a61131e565b6001600160a01b031661094b610ea1565b6001600160a01b0316146109715760405162461bcd60e51b815260040161089090612744565b80518251146109925760405162461bcd60e51b815260040161089090612516565b60005b8251811015610a08576109f68382815181106109c157634e487b7160e01b600052603260045260246000fd5b60200260200101518383815181106109e957634e487b7160e01b600052603260045260246000fd5b6020026020010151611810565b80610a0081612ad7565b915050610995565b505050565b601290565b60085481565b610a236011336116ea565b15610a405760405162461bcd60e51b81526004016108909061268e565b610a4a33336116ff565b565b610a5461131e565b6001600160a01b0316610a65610ea1565b6001600160a01b031614610a8b5760405162461bcd60e51b815260040161089090612744565b610a9481610b42565b610ab05760405162461bcd60e51b81526004016108909061254d565b6001600160a01b0381166000908152601560205260409020805460ff1916905561092f81611054565b6000610809610ae661131e565b848460016000610af461131e565b6001600160a01b03908116825260208083019390935260409182016000908120918b1681529252902054610b289190612a2e565b611322565b60146020526000908152604090205460ff1681565b6001600160a01b031660009081526015602052604090205460ff1690565b60006103e8600654610b70610819565b610b7a9190612a66565b610b849190612a46565b90506000610b9130610d21565b9050818110610b9d5750805b600f54600160a01b900460ff16610bb757610bb781611882565b5050565b610bc361131e565b6001600160a01b0316610bd4610ea1565b6001600160a01b031614610bfa5760405162461bcd60e51b815260040161089090612744565b610bb78282611810565b600e546001600160a01b031681565b3460076000828254610c259190612a2e565b9091555050565b610c3461131e565b6001600160a01b0316610c45610ea1565b6001600160a01b031614610c6b5760405162461bcd60e51b815260040161089090612744565b610c7481610d03565b15610c915760405162461bcd60e51b8152600401610890906127a7565b6001600160a01b03166000908152601460205260409020805460ff19166001179055565b610cbd61131e565b6001600160a01b0316610cce610ea1565b6001600160a01b031614610cf45760405162461bcd60e51b815260040161089090612744565b61092f81611b8b565b60075481565b6001600160a01b031660009081526014602052604090205460ff1690565b6001600160a01b031660009081526013602052604090205490565b610d4461131e565b6001600160a01b0316610d55610ea1565b6001600160a01b031614610d7b5760405162461bcd60e51b815260040161089090612744565b610a4a6000611bbc565b600d546001600160a01b031681565b610d9c61131e565b6001600160a01b0316610dad610ea1565b6001600160a01b031614610dd35760405162461bcd60e51b815260040161089090612744565b600655565b610de061131e565b6001600160a01b0316610df1610ea1565b6001600160a01b031614610e175760405162461bcd60e51b815260040161089090612744565b6000610e24600247612a46565b600d546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015610e5f573d6000803e3d6000fd5b50600e546001600160a01b03166108fc610e798347612a85565b6040518115909202916000818181858888f19350505050158015610bb7573d6000803e3d6000fd5b6005546001600160a01b031690565b600061080d6011836116ea565b60186020526000908152604090205481565b60176020526000908152604090205481565b60606004805461077290612a9c565b610ef861131e565b6001600160a01b0316610f09610ea1565b6001600160a01b031614610f2f5760405162461bcd60e51b815260040161089090612744565b600f805460ff60a81b1916600160a81b179055610f4c3082611810565b601054610f649030906001600160a01b031683611322565b60105460405163f305d71960e01b81526001600160a01b039091169063f305d719903490610fb590309086906000908190734ba90e9ccf4aa106863e63ea86fa6bc19a769c2e904290600401612350565b6060604051808303818588803b158015610fce57600080fd5b505af1158015610fe2573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611007919061230f565b5050600f54600160b01b900460ff16905061104457600f805460ff60b01b1916600160b01b17905543600b819055611040906002612a2e565b600c555b50600f805460ff60a81b19169055565b61105c61131e565b6001600160a01b031661106d610ea1565b6001600160a01b0316146110935760405162461bcd60e51b815260040161089090612744565b61109c81610eb0565b6110b85760405162461bcd60e51b815260040161089090612657565b610bb7601182611c0e565b600080600160006110d261131e565b6001600160a01b039081168252602080830193909352604091820160009081209188168152925290205490508281101561111e5760405162461bcd60e51b815260040161089090612899565b61113261112961131e565b85858403611322565b5060019392505050565b600f546001600160a01b031681565b600061080961115861131e565b84846113d6565b61116761131e565b6001600160a01b0316611178610ea1565b6001600160a01b03161461119e5760405162461bcd60e51b815260040161089090612744565b6111a781610d03565b6111c35760405162461bcd60e51b8152600401610890906127a7565b6001600160a01b03166000908152601460205260409020805460ff19169055565b600f54600160b01b900460ff1681565b60166020526000908152604090205481565b600b5481565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61123f61131e565b6001600160a01b0316611250610ea1565b6001600160a01b0316146112765760405162461bcd60e51b815260040161089090612744565b600f8054911515600160b81b0260ff60b81b19909216919091179055565b61129c61131e565b6001600160a01b03166112ad610ea1565b6001600160a01b0316146112d35760405162461bcd60e51b815260040161089090612744565b6001600160a01b0381166112f95760405162461bcd60e51b815260040161089090612420565b61092f81611bbc565b6000611317836001600160a01b038416611c23565b9392505050565b3390565b6001600160a01b0383166113485760405162461bcd60e51b8152600401610890906127de565b6001600160a01b03821661136e5760405162461bcd60e51b815260040161089090612466565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906113c9908590612959565b60405180910390a3505050565b6113df83610d03565b806113ee57506113ee82610d03565b15611403576113fe838383611c6d565b610a08565b61140c83610b42565b156114295760405162461bcd60e51b8152600401610890906125f2565b61143282610b42565b1561144f5760405162461bcd60e51b815260040161089090612584565b60006103e860065461145f610819565b6114699190612a66565b6114739190612a46565b9050808211158061148d5750600f54600160a81b900460ff165b806114a15750600f54600160a01b900460ff165b806114b957506010546001600160a01b038481169116145b6114d55760405162461bcd60e51b8152600401610890906123e9565b60006114e030610d21565b90506815af1d78b58c4000008110158282106114fa578291505b8080156115115750600f54600160a01b900460ff16155b801561152b5750600f546001600160a01b03878116911614155b80156115405750600f54600160b81b900460ff165b1561154e5761154e82611882565b61155886876116ff565b61156285866116ff565b600f54849060009081906001600160a01b038a8116911614801561158f5750600f54600160b01b900460ff165b156116115761159d87611d4b565b326000908152601660205260409020549194509250603c906115bf9042612a85565b11806115d45750600f54600160a01b900460ff165b6115f05760405162461bcd60e51b815260040161089090612620565b32600090815260166020526040902042905561160c8983611dad565b611654565b600f546001600160a01b0389811691161480156116375750600f54600160b01b900460ff165b156116545761164587611e32565b90935090506116548982611e42565b61165f898985611c6d565b600f54600160b01b900460ff16801561167a5750600c544311155b801561168c575061168a32610d03565b155b156116df57600f546001600160a01b03163214156116d657600f546001600160a01b038a8116911614156116c8576116c388611e85565b6116d1565b6116d189611e85565b6116df565b6116df32611e85565b505050505050505050565b6000611317836001600160a01b038416611f33565b600f546001600160a01b038381169116148061172857506010546001600160a01b038381169116145b1561173257610bb7565b6001600160a01b0382166000908152601760205260408120546007546117589190612a85565b90506000600a5461176885610d21565b6117729084612a66565b61177c9190612a46565b6007546001600160a01b0386166000908152601760205260409020559050806117a6575050610bb7565b6001600160a01b038416600090815260186020526040812080548392906117ce908490612a2e565b90915550506040516001600160a01b0384169082156108fc029083906000818181858888f19350505050158015611809573d6000803e3d6000fd5b5050505050565b80600a60008282546118229190612a2e565b9091555061183290508282611f4b565b816001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118769190612959565b60405180910390a35050565b600f805460ff60a01b1916600160a01b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106118d857634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561192c57600080fd5b505afa158015611940573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119649190612158565b8160018151811061198557634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526010546119ab9130911684611322565b60105460405163791ac94760e01b815247916001600160a01b03169063791ac947906119e4908690600090879030904290600401612962565b600060405180830381600087803b1580156119fe57600080fd5b505af1158015611a12573d6000803e3d6000fd5b5050505060008147611a249190612a85565b90506000600854600954611a389190612a2e565b600954611a459087612a66565b611a4f9190612a46565b90506000611a5d8287612a85565b90506000600854600954611a719190612a2e565b600954611a7e9086612a66565b611a889190612a46565b90506000611a968286612a85565b90508115611b2b576000611aab600284612a46565b600d546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611ae6573d6000803e3d6000fd5b50600e546001600160a01b03166108fc611b008386612a85565b6040518115909202916000818181858888f19350505050158015611b28573d6000803e3d6000fd5b50505b8360096000828254611b3d9190612a85565b925050819055508260086000828254611b569190612a85565b925050819055508060076000828254611b6f9190612a2e565b9091555050600f805460ff60a01b191690555050505050505050565b611b9481610eb0565b15611bb15760405162461bcd60e51b8152600401610890906127a7565b610bb7601182611302565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611317836001600160a01b038416611f8f565b6000611c2f8383611f33565b611c655750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561080d565b50600061080d565b6001600160a01b038316611c935760405162461bcd60e51b8152600401610890906124a8565b6001600160a01b038216611cb95760405162461bcd60e51b8152600401610890906124df565b6000611cc484610d21565b905081811015611ce65760405162461bcd60e51b8152600401610890906125bb565b611cf084836120ac565b611cfa8383611f4b565b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d3d9190612959565b60405180910390a350505050565b60008080611d5b60076064612a85565b90506064611d698286612a66565b611d739190612a46565b9250611d7f8385612a85565b915083611d8c8385612a2e565b14611da757634e487b7160e01b600052600160045260246000fd5b50915091565b6001600160a01b038216611dd35760405162461bcd60e51b8152600401610890906126c5565b611dde823083611c6d565b8060086000828254611df09190612a2e565b909155505060405130906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611876908590612959565b60008080611d5b60086064612a85565b6001600160a01b038216611e685760405162461bcd60e51b815260040161089090612915565b611e73823083611c6d565b8060096000828254611df09190612a2e565b611e8e81610b42565b15611eab5760405162461bcd60e51b8152600401610890906128de565b6010546001600160a01b0382811691161415611ed95760405162461bcd60e51b815260040161089090612822565b600f546001600160a01b0382811691161415611f075760405162461bcd60e51b815260040161089090612864565b6001600160a01b0381166000908152601560205260409020805460ff1916600117905561092f81611b8b565b60009081526001919091016020526040902054151590565b6001600160a01b038216600090815260136020526040902054611f6f908290612a2e565b6001600160a01b0390921660009081526013602052604090209190915550565b600081815260018301602052604081205480156120a2576000611fb3600183612a85565b8554909150600090611fc790600190612a85565b9050818114612048576000866000018281548110611ff557634e487b7160e01b600052603260045260246000fd5b906000526020600020015490508087600001848154811061202657634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910192909255918252600188019052604090208390555b855486908061206757634e487b7160e01b600052603160045260246000fd5b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061080d565b600091505061080d565b6001600160a01b038216600090815260136020526040902054611f6f908290612a85565b600082601f8301126120e0578081fd5b813560206120f56120f083612a0a565b6129e0565b8281528181019085830183850287018401881015612111578586fd5b855b8581101561212f57813584529284019290840190600101612113565b5090979650505050505050565b60006020828403121561214d578081fd5b813561131781612b1e565b600060208284031215612169578081fd5b815161131781612b1e565b60008060408385031215612186578081fd5b823561219181612b1e565b915060208301356121a181612b1e565b809150509250929050565b6000806000606084860312156121c0578081fd5b83356121cb81612b1e565b925060208401356121db81612b1e565b929592945050506040919091013590565b600080604083850312156121fe578182fd5b823561220981612b1e565b946020939093013593505050565b60008060408385031215612229578182fd5b823567ffffffffffffffff80821115612240578384fd5b818501915085601f830112612253578384fd5b813560206122636120f083612a0a565b82815281810190858301838502870184018b101561227f578889fd5b8896505b848710156122aa57803561229681612b1e565b835260019690960195918301918301612283565b50965050860135925050808211156122c0578283fd5b506122cd858286016120d0565b9150509250929050565b6000602082840312156122e8578081fd5b81358015158114611317578182fd5b600060208284031215612308578081fd5b5035919050565b600080600060608486031215612323578283fd5b8351925060208401519150604084015190509250925092565b6001600160a01b0391909116815260200190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b818110156123c2578581018301518582016040015282016123a6565b818111156123d35783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601e908201527f45786365656473206d6178207472616e73616374696f6e20616d6f756e740000604082015260600190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601e908201527f7472616e736665722066726f6d20746865207a65726f20616464726573730000604082015260600190565b6020808252601c908201527f7472616e7366657220746f20746865207a65726f206164647265737300000000604082015260600190565b60208082526018908201527f6172726179206c656e67746873206d757374206d617463680000000000000000604082015260600190565b60208082526017908201527f4163636f756e74206d75737420626520666c6167676564000000000000000000604082015260600190565b60208082526017908201527f526563697069656e74206c6f636b656420617320626f74000000000000000000604082015260600190565b6020808252601f908201527f7472616e7366657220616d6f756e7420657863656564732062616c616e636500604082015260600190565b60208082526014908201527314d95b99195c881b1bd8dad95908185cc8189bdd60621b604082015260600190565b6020808252601d908201527f68697420636f6f6c646f776e2c2074727920616761696e206c61746572000000604082015260600190565b60208082526018908201527f4163636f756e74206d757374206265206578636c756465640000000000000000604082015260600190565b60208082526019908201527f4578636c756465642066726f6d207265666c656374696f6e7300000000000000604082015260600190565b6020808252601d908201527f7265666c6563742066726f6d20746865207a65726f2061646472657373000000604082015260600190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601490820152731059191c995cdcc81b9bdd08195e18db1d59195960621b604082015260600190565b6020808252601c908201527f4163636f756e74206d757374206e6f74206265206578636c7564656400000000604082015260600190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526022908201527f4163636f756e74206d757374206e6f7420626520756e697377617020726f757460408201526132b960f11b606082015260800190565b6020808252818101527f4163636f756e74206d757374206e6f7420626520756e69737761702070616972604082015260600190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b6020808252601b908201527f4163636f756e74206d757374206e6f7420626520666c61676765640000000000604082015260600190565b60208082526024908201527f74616b65206d61726b6574696e672066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156129b15784516001600160a01b03168352938301939183019160010161298c565b50506001600160a01b03969096166060850152505050608001529392505050565b60ff91909116815260200190565b60405181810167ffffffffffffffff81118282101715612a0257612a02612b08565b604052919050565b600067ffffffffffffffff821115612a2457612a24612b08565b5060209081020190565b60008219821115612a4157612a41612af2565b500190565b600082612a6157634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615612a8057612a80612af2565b500290565b600082821015612a9757612a97612af2565b500390565b600281046001821680612ab057607f821691505b60208210811415612ad157634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612aeb57612aeb612af2565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461092f57600080fdfea264697066735822122037a89a62afe3d438825c1f34d1695fe5161884875690ea67d6d64a1e72e816ad64736f6c63430008000033
0x60806040526004600655600f805460ff60b81b1916600160b81b1790553480156200002957600080fd5b5060405162003071380380620030718339810160408190526200004c9162000421565b604080518082018252600a8152695065727365757344414f60b01b6020808301918252835180850190945260048452635044414f60e01b9084015281513393916200009b916003919062000355565b508051620000b190600490602084019062000355565b505050620000c5816200027c60201b60201c565b50620000e260006011620002ce60201b620013021790919060201c565b506001600160a01b0382811660008181526014602090815260408083208054600160ff1991821681179092558787168086528386208054831684179055308087529584902080549092169092179055600d80546001600160a01b03199081169096179055600e80548616909117905560108054909416888616179384905580516315ab88c960e31b8152905189958681169563c9c65396959491169263ad5c46489260048083019392829003018186803b158015620001a057600080fd5b505afa158015620001b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001db9190620003fb565b6040518363ffffffff1660e01b8152600401620001fa92919062000488565b602060405180830381600087803b1580156200021557600080fd5b505af11580156200022a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002509190620003fb565b600f80546001600160a01b0319166001600160a01b039290921691909117905550620004f89350505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000620002e5836001600160a01b038416620002ee565b90505b92915050565b6000620002fc83836200033d565b6200033457508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155620002e8565b506000620002e8565b60009081526001919091016020526040902054151590565b8280546200036390620004a2565b90600052602060002090601f016020900481019282620003875760008555620003d2565b82601f10620003a257805160ff1916838001178555620003d2565b82800160010185558215620003d2579182015b82811115620003d2578251825591602001919060010190620003b5565b50620003e0929150620003e4565b5090565b5b80821115620003e05760008155600101620003e5565b6000602082840312156200040d578081fd5b81516200041a81620004df565b9392505050565b6000806000806080858703121562000437578283fd5b84516200044481620004df565b60208601519094506200045781620004df565b60408601519093506200046a81620004df565b60608601519092506200047d81620004df565b939692955090935050565b6001600160a01b0392831681529116602082015260400190565b600281046001821680620004b757607f821691505b60208210811415620004d957634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b0381168114620004f557600080fd5b50565b612b6980620005086000396000f3fe60806040526004361061026b5760003560e01c806370a08231116101445780639daa30e3116100b6578063bbc0c7421161007a578063bbc0c742146106b9578063c1adf7bc146106ce578063d798cbd2146106ee578063dd62ed3e14610703578063e3f9fc6314610723578063f2fde38b1461074357610272565b80639daa30e314610624578063a457c2d714610644578063a8aa1b3114610664578063a9059cbb14610679578063b41356c91461069957610272565b80638da5cb5b116101085780638da5cb5b146105875780639045be581461059c57806392c1c913146105bc5780639579d514146105dc57806395d89b41146105fc5780639b3075a11461061157610272565b806370a0823114610508578063715018a61461052857806375f0a8741461053d57806377348de914610552578063853828b61461057257610272565b806339509351116101dd5780634626402b116101a15780634626402b146104695780634e6be5441461048b5780634fb0b7e7146104935780635196aadb146104b357806361db2446146104d357806369ec8e9c146104e857610272565b806339509351146103d457806339b622d3146103f45780633bbac579146104145780633e9ffbea1461043457806340c10f191461044957610272565b80632c9fc7d31161022f5780632c9fc7d3146103265780632f3cb35b14610348578063313ce567146103685780633732e2141461038a578063375632931461039f57806337fc4803146103b457610272565b806306fdde0314610277578063095ea7b3146102a25780631233d83a146102cf57806318160ddd146102f157806323b872dd1461030657610272565b3661027257005b600080fd5b34801561028357600080fd5b5061028c610763565b6040516102999190612396565b60405180910390f35b3480156102ae57600080fd5b506102c26102bd3660046121ec565b6107f5565b604051610299919061238b565b3480156102db57600080fd5b506102e4610813565b6040516102999190612959565b3480156102fd57600080fd5b506102e4610819565b34801561031257600080fd5b506102c26103213660046121ac565b61081f565b34801561033257600080fd5b5061034661034136600461213c565b6108b8565b005b34801561035457600080fd5b50610346610363366004612217565b610932565b34801561037457600080fd5b5061037d610a0d565b60405161029991906129d2565b34801561039657600080fd5b506102e4610a12565b3480156103ab57600080fd5b50610346610a18565b3480156103c057600080fd5b506103466103cf36600461213c565b610a4c565b3480156103e057600080fd5b506102c26103ef3660046121ec565b610ad9565b34801561040057600080fd5b506102c261040f36600461213c565b610b2d565b34801561042057600080fd5b506102c261042f36600461213c565b610b42565b34801561044057600080fd5b50610346610b60565b34801561045557600080fd5b506103466104643660046121ec565b610bbb565b34801561047557600080fd5b5061047e610c04565b604051610299919061233c565b610346610c13565b34801561049f57600080fd5b506103466104ae36600461213c565b610c2c565b3480156104bf57600080fd5b506103466104ce36600461213c565b610cb5565b3480156104df57600080fd5b506102e4610cfd565b3480156104f457600080fd5b506102c261050336600461213c565b610d03565b34801561051457600080fd5b506102e461052336600461213c565b610d21565b34801561053457600080fd5b50610346610d3c565b34801561054957600080fd5b5061047e610d85565b34801561055e57600080fd5b5061034661056d3660046122f7565b610d94565b34801561057e57600080fd5b50610346610dd8565b34801561059357600080fd5b5061047e610ea1565b3480156105a857600080fd5b506102c26105b736600461213c565b610eb0565b3480156105c857600080fd5b506102e46105d736600461213c565b610ebd565b3480156105e857600080fd5b506102e46105f736600461213c565b610ecf565b34801561060857600080fd5b5061028c610ee1565b61034661061f3660046122f7565b610ef0565b34801561063057600080fd5b5061034661063f36600461213c565b611054565b34801561065057600080fd5b506102c261065f3660046121ec565b6110c3565b34801561067057600080fd5b5061047e61113c565b34801561068557600080fd5b506102c26106943660046121ec565b61114b565b3480156106a557600080fd5b506103466106b436600461213c565b61115f565b3480156106c557600080fd5b506102c26111e4565b3480156106da57600080fd5b506102e46106e936600461213c565b6111f4565b3480156106fa57600080fd5b506102e4611206565b34801561070f57600080fd5b506102e461071e366004612174565b61120c565b34801561072f57600080fd5b5061034661073e3660046122d7565b611237565b34801561074f57600080fd5b5061034661075e36600461213c565b611294565b60606003805461077290612a9c565b80601f016020809104026020016040519081016040528092919081815260200182805461079e90612a9c565b80156107eb5780601f106107c0576101008083540402835291602001916107eb565b820191906000526020600020905b8154815290600101906020018083116107ce57829003601f168201915b5050505050905090565b600061080961080261131e565b8484611322565b5060015b92915050565b60095481565b600a5490565b600061082c8484846113d6565b6001600160a01b03841660009081526001602052604081208161084d61131e565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156108995760405162461bcd60e51b8152600401610890906126fc565b60405180910390fd5b6108ad856108a561131e565b858403611322565b506001949350505050565b6108c061131e565b6001600160a01b03166108d1610ea1565b6001600160a01b0316146108f75760405162461bcd60e51b815260040161089090612744565b6109026011826116ea565b61091e5760405162461bcd60e51b815260040161089090612779565b61092f8161092a610ea1565b6116ff565b50565b61093a61131e565b6001600160a01b031661094b610ea1565b6001600160a01b0316146109715760405162461bcd60e51b815260040161089090612744565b80518251146109925760405162461bcd60e51b815260040161089090612516565b60005b8251811015610a08576109f68382815181106109c157634e487b7160e01b600052603260045260246000fd5b60200260200101518383815181106109e957634e487b7160e01b600052603260045260246000fd5b6020026020010151611810565b80610a0081612ad7565b915050610995565b505050565b601290565b60085481565b610a236011336116ea565b15610a405760405162461bcd60e51b81526004016108909061268e565b610a4a33336116ff565b565b610a5461131e565b6001600160a01b0316610a65610ea1565b6001600160a01b031614610a8b5760405162461bcd60e51b815260040161089090612744565b610a9481610b42565b610ab05760405162461bcd60e51b81526004016108909061254d565b6001600160a01b0381166000908152601560205260409020805460ff1916905561092f81611054565b6000610809610ae661131e565b848460016000610af461131e565b6001600160a01b03908116825260208083019390935260409182016000908120918b1681529252902054610b289190612a2e565b611322565b60146020526000908152604090205460ff1681565b6001600160a01b031660009081526015602052604090205460ff1690565b60006103e8600654610b70610819565b610b7a9190612a66565b610b849190612a46565b90506000610b9130610d21565b9050818110610b9d5750805b600f54600160a01b900460ff16610bb757610bb781611882565b5050565b610bc361131e565b6001600160a01b0316610bd4610ea1565b6001600160a01b031614610bfa5760405162461bcd60e51b815260040161089090612744565b610bb78282611810565b600e546001600160a01b031681565b3460076000828254610c259190612a2e565b9091555050565b610c3461131e565b6001600160a01b0316610c45610ea1565b6001600160a01b031614610c6b5760405162461bcd60e51b815260040161089090612744565b610c7481610d03565b15610c915760405162461bcd60e51b8152600401610890906127a7565b6001600160a01b03166000908152601460205260409020805460ff19166001179055565b610cbd61131e565b6001600160a01b0316610cce610ea1565b6001600160a01b031614610cf45760405162461bcd60e51b815260040161089090612744565b61092f81611b8b565b60075481565b6001600160a01b031660009081526014602052604090205460ff1690565b6001600160a01b031660009081526013602052604090205490565b610d4461131e565b6001600160a01b0316610d55610ea1565b6001600160a01b031614610d7b5760405162461bcd60e51b815260040161089090612744565b610a4a6000611bbc565b600d546001600160a01b031681565b610d9c61131e565b6001600160a01b0316610dad610ea1565b6001600160a01b031614610dd35760405162461bcd60e51b815260040161089090612744565b600655565b610de061131e565b6001600160a01b0316610df1610ea1565b6001600160a01b031614610e175760405162461bcd60e51b815260040161089090612744565b6000610e24600247612a46565b600d546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015610e5f573d6000803e3d6000fd5b50600e546001600160a01b03166108fc610e798347612a85565b6040518115909202916000818181858888f19350505050158015610bb7573d6000803e3d6000fd5b6005546001600160a01b031690565b600061080d6011836116ea565b60186020526000908152604090205481565b60176020526000908152604090205481565b60606004805461077290612a9c565b610ef861131e565b6001600160a01b0316610f09610ea1565b6001600160a01b031614610f2f5760405162461bcd60e51b815260040161089090612744565b600f805460ff60a81b1916600160a81b179055610f4c3082611810565b601054610f649030906001600160a01b031683611322565b60105460405163f305d71960e01b81526001600160a01b039091169063f305d719903490610fb590309086906000908190734ba90e9ccf4aa106863e63ea86fa6bc19a769c2e904290600401612350565b6060604051808303818588803b158015610fce57600080fd5b505af1158015610fe2573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611007919061230f565b5050600f54600160b01b900460ff16905061104457600f805460ff60b01b1916600160b01b17905543600b819055611040906002612a2e565b600c555b50600f805460ff60a81b19169055565b61105c61131e565b6001600160a01b031661106d610ea1565b6001600160a01b0316146110935760405162461bcd60e51b815260040161089090612744565b61109c81610eb0565b6110b85760405162461bcd60e51b815260040161089090612657565b610bb7601182611c0e565b600080600160006110d261131e565b6001600160a01b039081168252602080830193909352604091820160009081209188168152925290205490508281101561111e5760405162461bcd60e51b815260040161089090612899565b61113261112961131e565b85858403611322565b5060019392505050565b600f546001600160a01b031681565b600061080961115861131e565b84846113d6565b61116761131e565b6001600160a01b0316611178610ea1565b6001600160a01b03161461119e5760405162461bcd60e51b815260040161089090612744565b6111a781610d03565b6111c35760405162461bcd60e51b8152600401610890906127a7565b6001600160a01b03166000908152601460205260409020805460ff19169055565b600f54600160b01b900460ff1681565b60166020526000908152604090205481565b600b5481565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61123f61131e565b6001600160a01b0316611250610ea1565b6001600160a01b0316146112765760405162461bcd60e51b815260040161089090612744565b600f8054911515600160b81b0260ff60b81b19909216919091179055565b61129c61131e565b6001600160a01b03166112ad610ea1565b6001600160a01b0316146112d35760405162461bcd60e51b815260040161089090612744565b6001600160a01b0381166112f95760405162461bcd60e51b815260040161089090612420565b61092f81611bbc565b6000611317836001600160a01b038416611c23565b9392505050565b3390565b6001600160a01b0383166113485760405162461bcd60e51b8152600401610890906127de565b6001600160a01b03821661136e5760405162461bcd60e51b815260040161089090612466565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906113c9908590612959565b60405180910390a3505050565b6113df83610d03565b806113ee57506113ee82610d03565b15611403576113fe838383611c6d565b610a08565b61140c83610b42565b156114295760405162461bcd60e51b8152600401610890906125f2565b61143282610b42565b1561144f5760405162461bcd60e51b815260040161089090612584565b60006103e860065461145f610819565b6114699190612a66565b6114739190612a46565b9050808211158061148d5750600f54600160a81b900460ff165b806114a15750600f54600160a01b900460ff165b806114b957506010546001600160a01b038481169116145b6114d55760405162461bcd60e51b8152600401610890906123e9565b60006114e030610d21565b90506815af1d78b58c4000008110158282106114fa578291505b8080156115115750600f54600160a01b900460ff16155b801561152b5750600f546001600160a01b03878116911614155b80156115405750600f54600160b81b900460ff165b1561154e5761154e82611882565b61155886876116ff565b61156285866116ff565b600f54849060009081906001600160a01b038a8116911614801561158f5750600f54600160b01b900460ff165b156116115761159d87611d4b565b326000908152601660205260409020549194509250603c906115bf9042612a85565b11806115d45750600f54600160a01b900460ff165b6115f05760405162461bcd60e51b815260040161089090612620565b32600090815260166020526040902042905561160c8983611dad565b611654565b600f546001600160a01b0389811691161480156116375750600f54600160b01b900460ff165b156116545761164587611e32565b90935090506116548982611e42565b61165f898985611c6d565b600f54600160b01b900460ff16801561167a5750600c544311155b801561168c575061168a32610d03565b155b156116df57600f546001600160a01b03163214156116d657600f546001600160a01b038a8116911614156116c8576116c388611e85565b6116d1565b6116d189611e85565b6116df565b6116df32611e85565b505050505050505050565b6000611317836001600160a01b038416611f33565b600f546001600160a01b038381169116148061172857506010546001600160a01b038381169116145b1561173257610bb7565b6001600160a01b0382166000908152601760205260408120546007546117589190612a85565b90506000600a5461176885610d21565b6117729084612a66565b61177c9190612a46565b6007546001600160a01b0386166000908152601760205260409020559050806117a6575050610bb7565b6001600160a01b038416600090815260186020526040812080548392906117ce908490612a2e565b90915550506040516001600160a01b0384169082156108fc029083906000818181858888f19350505050158015611809573d6000803e3d6000fd5b5050505050565b80600a60008282546118229190612a2e565b9091555061183290508282611f4b565b816001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118769190612959565b60405180910390a35050565b600f805460ff60a01b1916600160a01b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106118d857634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561192c57600080fd5b505afa158015611940573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119649190612158565b8160018151811061198557634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526010546119ab9130911684611322565b60105460405163791ac94760e01b815247916001600160a01b03169063791ac947906119e4908690600090879030904290600401612962565b600060405180830381600087803b1580156119fe57600080fd5b505af1158015611a12573d6000803e3d6000fd5b5050505060008147611a249190612a85565b90506000600854600954611a389190612a2e565b600954611a459087612a66565b611a4f9190612a46565b90506000611a5d8287612a85565b90506000600854600954611a719190612a2e565b600954611a7e9086612a66565b611a889190612a46565b90506000611a968286612a85565b90508115611b2b576000611aab600284612a46565b600d546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611ae6573d6000803e3d6000fd5b50600e546001600160a01b03166108fc611b008386612a85565b6040518115909202916000818181858888f19350505050158015611b28573d6000803e3d6000fd5b50505b8360096000828254611b3d9190612a85565b925050819055508260086000828254611b569190612a85565b925050819055508060076000828254611b6f9190612a2e565b9091555050600f805460ff60a01b191690555050505050505050565b611b9481610eb0565b15611bb15760405162461bcd60e51b8152600401610890906127a7565b610bb7601182611302565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611317836001600160a01b038416611f8f565b6000611c2f8383611f33565b611c655750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561080d565b50600061080d565b6001600160a01b038316611c935760405162461bcd60e51b8152600401610890906124a8565b6001600160a01b038216611cb95760405162461bcd60e51b8152600401610890906124df565b6000611cc484610d21565b905081811015611ce65760405162461bcd60e51b8152600401610890906125bb565b611cf084836120ac565b611cfa8383611f4b565b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d3d9190612959565b60405180910390a350505050565b60008080611d5b60076064612a85565b90506064611d698286612a66565b611d739190612a46565b9250611d7f8385612a85565b915083611d8c8385612a2e565b14611da757634e487b7160e01b600052600160045260246000fd5b50915091565b6001600160a01b038216611dd35760405162461bcd60e51b8152600401610890906126c5565b611dde823083611c6d565b8060086000828254611df09190612a2e565b909155505060405130906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611876908590612959565b60008080611d5b60086064612a85565b6001600160a01b038216611e685760405162461bcd60e51b815260040161089090612915565b611e73823083611c6d565b8060096000828254611df09190612a2e565b611e8e81610b42565b15611eab5760405162461bcd60e51b8152600401610890906128de565b6010546001600160a01b0382811691161415611ed95760405162461bcd60e51b815260040161089090612822565b600f546001600160a01b0382811691161415611f075760405162461bcd60e51b815260040161089090612864565b6001600160a01b0381166000908152601560205260409020805460ff1916600117905561092f81611b8b565b60009081526001919091016020526040902054151590565b6001600160a01b038216600090815260136020526040902054611f6f908290612a2e565b6001600160a01b0390921660009081526013602052604090209190915550565b600081815260018301602052604081205480156120a2576000611fb3600183612a85565b8554909150600090611fc790600190612a85565b9050818114612048576000866000018281548110611ff557634e487b7160e01b600052603260045260246000fd5b906000526020600020015490508087600001848154811061202657634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910192909255918252600188019052604090208390555b855486908061206757634e487b7160e01b600052603160045260246000fd5b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061080d565b600091505061080d565b6001600160a01b038216600090815260136020526040902054611f6f908290612a85565b600082601f8301126120e0578081fd5b813560206120f56120f083612a0a565b6129e0565b8281528181019085830183850287018401881015612111578586fd5b855b8581101561212f57813584529284019290840190600101612113565b5090979650505050505050565b60006020828403121561214d578081fd5b813561131781612b1e565b600060208284031215612169578081fd5b815161131781612b1e565b60008060408385031215612186578081fd5b823561219181612b1e565b915060208301356121a181612b1e565b809150509250929050565b6000806000606084860312156121c0578081fd5b83356121cb81612b1e565b925060208401356121db81612b1e565b929592945050506040919091013590565b600080604083850312156121fe578182fd5b823561220981612b1e565b946020939093013593505050565b60008060408385031215612229578182fd5b823567ffffffffffffffff80821115612240578384fd5b818501915085601f830112612253578384fd5b813560206122636120f083612a0a565b82815281810190858301838502870184018b101561227f578889fd5b8896505b848710156122aa57803561229681612b1e565b835260019690960195918301918301612283565b50965050860135925050808211156122c0578283fd5b506122cd858286016120d0565b9150509250929050565b6000602082840312156122e8578081fd5b81358015158114611317578182fd5b600060208284031215612308578081fd5b5035919050565b600080600060608486031215612323578283fd5b8351925060208401519150604084015190509250925092565b6001600160a01b0391909116815260200190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b818110156123c2578581018301518582016040015282016123a6565b818111156123d35783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601e908201527f45786365656473206d6178207472616e73616374696f6e20616d6f756e740000604082015260600190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601e908201527f7472616e736665722066726f6d20746865207a65726f20616464726573730000604082015260600190565b6020808252601c908201527f7472616e7366657220746f20746865207a65726f206164647265737300000000604082015260600190565b60208082526018908201527f6172726179206c656e67746873206d757374206d617463680000000000000000604082015260600190565b60208082526017908201527f4163636f756e74206d75737420626520666c6167676564000000000000000000604082015260600190565b60208082526017908201527f526563697069656e74206c6f636b656420617320626f74000000000000000000604082015260600190565b6020808252601f908201527f7472616e7366657220616d6f756e7420657863656564732062616c616e636500604082015260600190565b60208082526014908201527314d95b99195c881b1bd8dad95908185cc8189bdd60621b604082015260600190565b6020808252601d908201527f68697420636f6f6c646f776e2c2074727920616761696e206c61746572000000604082015260600190565b60208082526018908201527f4163636f756e74206d757374206265206578636c756465640000000000000000604082015260600190565b60208082526019908201527f4578636c756465642066726f6d207265666c656374696f6e7300000000000000604082015260600190565b6020808252601d908201527f7265666c6563742066726f6d20746865207a65726f2061646472657373000000604082015260600190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601490820152731059191c995cdcc81b9bdd08195e18db1d59195960621b604082015260600190565b6020808252601c908201527f4163636f756e74206d757374206e6f74206265206578636c7564656400000000604082015260600190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526022908201527f4163636f756e74206d757374206e6f7420626520756e697377617020726f757460408201526132b960f11b606082015260800190565b6020808252818101527f4163636f756e74206d757374206e6f7420626520756e69737761702070616972604082015260600190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b6020808252601b908201527f4163636f756e74206d757374206e6f7420626520666c61676765640000000000604082015260600190565b60208082526024908201527f74616b65206d61726b6574696e672066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156129b15784516001600160a01b03168352938301939183019160010161298c565b50506001600160a01b03969096166060850152505050608001529392505050565b60ff91909116815260200190565b60405181810167ffffffffffffffff81118282101715612a0257612a02612b08565b604052919050565b600067ffffffffffffffff821115612a2457612a24612b08565b5060209081020190565b60008219821115612a4157612a41612af2565b500190565b600082612a6157634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615612a8057612a80612af2565b500290565b600082821015612a9757612a97612af2565b500390565b600281046001821680612ab057607f821691505b60208210811415612ad157634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612aeb57612aeb612af2565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461092f57600080fdfea264697066735822122037a89a62afe3d438825c1f34d1695fe5161884875690ea67d6d64a1e72e816ad64736f6c634300080000330000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000007bb4e6be0354b4b1ad061441906c057ce5d901c700000000000000000000000041b3c9a4a3a39fb55484c5091a3ea0ca6f541f34