0x6101006040523480156200001257600080fd5b5060405162001bb138038062001bb1833981016040819052620000359162000553565b60016000556001600160a01b03808516608081905284821660a05283821660c081905291831660e0526200006d9190600019620000a1565b60805160e0516200008d916001600160a01b0390911690600019620000a1565b62000097620001f4565b505050506200069e565b8015806200011f5750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015620000f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200011d9190620005bb565b155b620001975760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e63650000000000000000000060648201526084015b60405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001ef918591620002c216565b505050565b60805160c05160e051604051636a234e1f60e11b81526001600160a01b03928316600482015290821660248201526000928392169063d4469c3e906044016040805180830381865afa1580156200024f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002759190620005d5565b604080516001600160701b038085168252831660208201529294509092507f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1910160405180910390a15050565b6040805180820190915260208082527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65649082015260009062000311906001600160a01b03851690849062000396565b905080516000148062000335575080806020019051810190620003359190620005fa565b620001ef5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016200018e565b6060620003a78484600085620003af565b949350505050565b606082471015620004125760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016200018e565b600080866001600160a01b031685876040516200043091906200064b565b60006040518083038185875af1925050503d80600081146200046f576040519150601f19603f3d011682016040523d82523d6000602084013e62000474565b606091505b509092509050620004888783838762000493565b979650505050505050565b6060831562000507578251600003620004ff576001600160a01b0385163b620004ff5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200018e565b5081620003a7565b620003a783838151156200051e5781518083602001fd5b8060405162461bcd60e51b81526004016200018e919062000669565b6001600160a01b03811681146200055057600080fd5b50565b600080600080608085870312156200056a57600080fd5b845162000577816200053a565b60208601519094506200058a816200053a565b60408601519093506200059d816200053a565b6060860151909250620005b0816200053a565b939692955090935050565b600060208284031215620005ce57600080fd5b5051919050565b60008060408385031215620005e957600080fd5b505080516020909101519092909150565b6000602082840312156200060d57600080fd5b815180151581146200061e57600080fd5b9392505050565b60005b838110156200064257818101518382015260200162000628565b50506000910152565b600082516200065f81846020870162000625565b9190910192915050565b60208152600082518060208401526200068a81604085016020870162000625565b601f01601f19169190910160400192915050565b60805160a05160c05160e051611438620007796000396000818161027b015281816103d40152818161049f0152818161052c015281816105e9015281816107090152818161083d0152818161094e0152610e56015260008181610175015281816102ef015281816103ac015281816104cc01528181610611015281816106dc0152818161081c0152818161092601528181610bc40152610e2e01526000818161022d0152610a170152600081816102540152818161041601528181610653015281816107e00152818161097d0152610e8301526114386000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80637464fc3d11610081578063c5c51dca1161005b578063c5c51dca1461024f578063d21220a714610276578063eaa99dbb1461029d57600080fd5b80637464fc3d146101d657806395d89b41146101ec578063c45a01551461022857600080fd5b80630902f1ac116100b25780630902f1ac146101355780630dfe168114610170578063313ce567146101bc57600080fd5b8063022c0d9f146100ce57806306fdde03146100e3575b600080fd5b6100e16100dc366004611179565b6102b0565b005b61011f6040518060400160405280600881526020017f53616c74792e494f00000000000000000000000000000000000000000000000081525081565b60405161012c9190611231565b60405180910390f35b61013d6107d6565b604080516dffffffffffffffffffffffffffff948516815293909216602084015263ffffffff169082015260600161012c565b6101977f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161012c565b6101c4601281565b60405160ff909116815260200161012c565b6101de6108e9565b60405190815260200161012c565b61011f6040518060400160405280600881526020017f53414c54592d494f00000000000000000000000000000000000000000000000081525081565b6101977f000000000000000000000000000000000000000000000000000000000000000081565b6101977f000000000000000000000000000000000000000000000000000000000000000081565b6101977f000000000000000000000000000000000000000000000000000000000000000081565b6100e16102ab366004611282565b6109ff565b6102b8610ab5565b83156104f5576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa15801561034b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036f91906112c4565b6040517fe2f7c48000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301527f00000000000000000000000000000000000000000000000000000000000000008116602483015260448201839052606482018890524260848301529192506000917f0000000000000000000000000000000000000000000000000000000000000000169063e2f7c4809060a4016020604051808303816000875af115801561045f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048391906112c4565b90506104c673ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168683610b28565b6104f2337f00000000000000000000000000000000000000000000000000000000000000008484610bba565b50505b8415610732576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015610588573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ac91906112c4565b6040517fe2f7c48000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301527f00000000000000000000000000000000000000000000000000000000000000008116602483015260448201839052606482018990524260848301529192506000917f0000000000000000000000000000000000000000000000000000000000000000169063e2f7c4809060a4016020604051808303816000875af115801561069c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c091906112c4565b905061070373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168683610b28565b61072f337f00000000000000000000000000000000000000000000000000000000000000008484610bba565b50505b80156107c5576040517f10d1e85c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906310d1e85c9061079290339089908990889088906004016112dd565b600060405180830381600087803b1580156107ac57600080fd5b505af11580156107c0573d6000803e3d6000fd5b505050505b6107cf6001600055565b5050505050565b60008060008060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d4469c3e7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b815260040161089b92919073ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b6040805180830381865afa1580156108b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108db9190611355565b909690955042945092505050565b6040517fd4469c3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301527f000000000000000000000000000000000000000000000000000000000000000081166024830152600091829182917f00000000000000000000000000000000000000000000000000000000000000009091169063d4469c3e906044016040805180830381865afa1580156109c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e99190611355565b90925090506109f88183611379565b9250505090565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610aa3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4f6e6c792063616c6c61626c652066726f6d2074686520666163746f7279000060448201526064015b60405180910390fd5b610aaf84848484610bba565b50505050565b600260005403610b21576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610a9a565b6002600055565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610bb5908490610ce2565b505050565b610bc2610df1565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c7b57604080518381526000602082018190528183015260608101839052905173ffffffffffffffffffffffffffffffffffffffff86169182917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a3610aaf565b604080516000808252602082018590528183018490526060820152905173ffffffffffffffffffffffffffffffffffffffff86169182917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350505050565b6000610d44826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610f419092919063ffffffff16565b9050805160001480610d65575080806020019051810190610d6591906113bd565b610bb5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610a9a565b6040517fd4469c3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301527f00000000000000000000000000000000000000000000000000000000000000008116602483015260009182917f0000000000000000000000000000000000000000000000000000000000000000169063d4469c3e906044016040805180830381865afa158015610ec9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eed9190611355565b604080516dffffffffffffffffffffffffffff8085168252831660208201529294509092507f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1910160405180910390a15050565b6060610f508484600085610f58565b949350505050565b606082471015610fea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610a9a565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161101391906113e6565b60006040518083038185875af1925050503d8060008114611050576040519150601f19603f3d011682016040523d82523d6000602084013e611055565b606091505b509150915061106687838387611071565b979650505050505050565b606083156111075782516000036111005773ffffffffffffffffffffffffffffffffffffffff85163b611100576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610a9a565b5081610f50565b610f50838381511561111c5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9a9190611231565b803573ffffffffffffffffffffffffffffffffffffffff8116811461117457600080fd5b919050565b60008060008060006080868803121561119157600080fd5b85359450602086013593506111a860408701611150565b9250606086013567ffffffffffffffff808211156111c557600080fd5b818801915088601f8301126111d957600080fd5b8135818111156111e857600080fd5b8960208285010111156111fa57600080fd5b9699959850939650602001949392505050565b60005b83811015611228578181015183820152602001611210565b50506000910152565b602081526000825180602084015261125081604085016020870161120d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6000806000806080858703121561129857600080fd5b6112a185611150565b93506112af60208601611150565b93969395505050506040820135916060013590565b6000602082840312156112d657600080fd5b5051919050565b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015283604082015260806060820152816080820152818360a0830137600081830160a090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101949350505050565b6000806040838503121561136857600080fd5b505080516020909101519092909150565b80820281158282048414176113b7577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b6000602082840312156113cf57600080fd5b815180151581146113df57600080fd5b9392505050565b600082516113f881846020870161120d565b919091019291505056fea26469706673582212202d844ca01d1beb2503b35e06262743cfdcb51d81bbc4417db5b75e2432212fbf64736f6c63430008160033000000000000000000000000f5d65d370141f1fff0db646c9406ce051354a8a500000000000000000000000070664e704cfc836a1ea710f20b6748bba89e6c970000000000000000000000000110b0c3391584ba24dbf8017bf462e9f78a6d9f0000000000000000000000000110b0c3391584ba24dbf8017bf462e9f78a6d9f