0x60806040523480156200001157600080fd5b5060405162001695380380620016958339810160408190526200003491620008d7565b6200003f8162000046565b5062000b68565b6000735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f6001600160a01b031663e6a4390583600081518110620000815762000081620009a9565b6020026020010151846001815181106200009f576200009f620009a9565b60200260200101516040518363ffffffff1660e01b8152600401620000da9291906001600160a01b0392831681529116602082015260400190565b602060405180830381865afa158015620000f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200011e9190620009bf565b905060008190506000836000815181106200013d576200013d620009a9565b60209081029190910101516040516370a0823160e01b81526001600160a01b038581166004830152909116906370a0823190602401602060405180830381865afa15801562000190573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b69190620009e4565b90506001600160701b038111156200031c575060405163bc25cf7760e01b81523060048201526001600160681b03906001600160a01b0383169063bc25cf7790602401600060405180830381600087803b1580156200021457600080fd5b505af115801562000229573d6000803e3d6000fd5b50505050816001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200026957600080fd5b505af11580156200027e573d6000803e3d6000fd5b5050505083600081518110620002985762000298620009a9565b602090810291909101015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af1158015620002f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200031a9190620009fe565b505b60006200036a85600081518110620003385762000338620009a9565b602002602001015186600181518110620003565762000356620009a9565b60200260200101516200059660201b60201c565b509050600085600081518110620003855762000385620009a9565b602002602001015186600181518110620003a357620003a3620009a9565b6020026020010151509050600080856001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015620003f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000416919062000a3a565b506001600160701b031691506001600160701b03169150600080856001600160a01b0316856001600160a01b0316146200045257828462000455565b83835b6040516370a0823160e01b81526001600160a01b038c811660048301529294509092506000918491908816906370a0823190602401602060405180830381865afa158015620004a8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004ce9190620009e4565b0390506000620004e082858562000697565b9050600080896001600160a01b0316896001600160a01b03161462000508578260006200050c565b6000835b6040805160008152602081019182905263022c0d9f60e01b90915291935091506001600160a01b038d169063022c0d9f9062000552908590859032906024810162000a90565b600060405180830381600087803b1580156200056d57600080fd5b505af115801562000582573d6000803e3d6000fd5b505050505050505050505050505050505050565b600080826001600160a01b0316846001600160a01b0316036200060e5760405162461bcd60e51b815260206004820152602560248201527f556e697377617056324c6962726172793a204944454e544943414c5f41444452604482015264455353455360d81b60648201526084015b60405180910390fd5b826001600160a01b0316846001600160a01b0316106200063057828462000633565b83835b90925090506001600160a01b038216620006905760405162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015260640162000605565b9250929050565b6000808411620006fe5760405162461bcd60e51b815260206004820152602b60248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4960448201526a1394155517d05353d5539560aa1b606482015260840162000605565b6000831180156200070f5750600082115b6200076e5760405162461bcd60e51b815260206004820152602860248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4c604482015267495155494449545960c01b606482015260840162000605565b60006200077e856103e5620007c5565b905060006200078e8285620007c5565b90506000620007ac83620007a5886103e8620007c5565b9062000842565b9050620007ba818362000b15565b979650505050505050565b6000811580620007ee57508282620007de818362000b38565b9250620007ec908362000b15565b145b6200083c5760405162461bcd60e51b815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015260640162000605565b92915050565b60008262000851838262000b52565b91508110156200083c5760405162461bcd60e51b815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015260640162000605565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b0381168114620008d257600080fd5b919050565b60006020808385031215620008eb57600080fd5b82516001600160401b03808211156200090357600080fd5b818501915085601f8301126200091857600080fd5b8151818111156200092d576200092d620008a4565b8060051b604051601f19603f83011681018181108582111715620009555762000955620008a4565b6040529182528482019250838101850191888311156200097457600080fd5b938501935b828510156200099d576200098d85620008ba565b8452938501939285019262000979565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b600060208284031215620009d257600080fd5b620009dd82620008ba565b9392505050565b600060208284031215620009f757600080fd5b5051919050565b60006020828403121562000a1157600080fd5b81518015158114620009dd57600080fd5b80516001600160701b0381168114620008d257600080fd5b60008060006060848603121562000a5057600080fd5b62000a5b8462000a22565b925062000a6b6020850162000a22565b9150604084015163ffffffff8116811462000a8557600080fd5b809150509250925092565b8481526000602085602084015260018060a01b038516604084015260806060840152835180608085015260005b8181101562000adb5785810183015185820160a00152820162000abd565b50600060a0828601015260a0601f19601f8301168501019250505095945050505050565b634e487b7160e01b600052601160045260246000fd5b60008262000b3357634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176200083c576200083c62000aff565b808201808211156200083c576200083c62000aff565b610b1d8062000b786000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063ab8c5f9514610030575b600080fd5b61004361003e366004610877565b610045565b005b6000735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f6001600160a01b031663e6a439058360008151811061007d5761007d61093c565b6020026020010151846001815181106100985761009861093c565b60200260200101516040518363ffffffff1660e01b81526004016100d29291906001600160a01b0392831681529116602082015260400190565b602060405180830381865afa1580156100ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101139190610952565b9050600081905060008360008151811061012f5761012f61093c565b60209081029190910101516040516370a0823160e01b81526001600160a01b038581166004830152909116906370a0823190602401602060405180830381865afa158015610181573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a59190610976565b90506001600160701b03811115610306575060405163bc25cf7760e01b81523060048201526cffffffffffffffffffffffffff906001600160a01b0383169063bc25cf7790602401600060405180830381600087803b15801561020757600080fd5b505af115801561021b573d6000803e3d6000fd5b50505050816001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561025a57600080fd5b505af115801561026e573d6000803e3d6000fd5b50505050836000815181106102855761028561093c565b602090810291909101015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af11580156102e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610304919061098f565b505b60006103468560008151811061031e5761031e61093c565b6020026020010151866001815181106103395761033961093c565b602002602001015161055c565b50905060008560008151811061035e5761035e61093c565b6020026020010151866001815181106103795761037961093c565b6020026020010151509050600080856001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156103c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e991906109c8565b506001600160701b031691506001600160701b03169150600080856001600160a01b0316856001600160a01b031614610423578284610426565b83835b6040516370a0823160e01b81526001600160a01b038c811660048301529294509092506000918491908816906370a0823190602401602060405180830381865afa158015610478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049c9190610976565b03905060006104ac828585610658565b9050600080896001600160a01b0316896001600160a01b0316146104d2578260006104d6565b6000835b6040805160008152602081019182905263022c0d9f60e01b90915291935091506001600160a01b038d169063022c0d9f9061051a9085908590329060248101610a18565b600060405180830381600087803b15801561053457600080fd5b505af1158015610548573d6000803e3d6000fd5b505050505050505050505050505050505050565b600080826001600160a01b0316846001600160a01b0316036105d35760405162461bcd60e51b815260206004820152602560248201527f556e697377617056324c6962726172793a204944454e544943414c5f41444452604482015264455353455360d81b60648201526084015b60405180910390fd5b826001600160a01b0316846001600160a01b0316106105f35782846105f6565b83835b90925090506001600160a01b0382166106515760405162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f41444452455353000060448201526064016105ca565b9250929050565b60008084116106bd5760405162461bcd60e51b815260206004820152602b60248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4960448201526a1394155517d05353d5539560aa1b60648201526084016105ca565b6000831180156106cd5750600082115b61072a5760405162461bcd60e51b815260206004820152602860248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4c604482015267495155494449545960c01b60648201526084016105ca565b6000610738856103e5610777565b905060006107468285610777565b905060006107608361075a886103e8610777565b906107e4565b905061076c8183610a9b565b979650505050505050565b600081158061079b5750828261078d8183610abd565b92506107999083610a9b565b145b6107de5760405162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b60448201526064016105ca565b92915050565b6000826107f18382610ad4565b91508110156107de5760405162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b60448201526064016105ca565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461086457600080fd5b50565b80356108728161084f565b919050565b6000602080838503121561088a57600080fd5b823567ffffffffffffffff808211156108a257600080fd5b818501915085601f8301126108b657600080fd5b8135818111156108c8576108c8610839565b8060051b604051601f19603f830116810181811085821117156108ed576108ed610839565b60405291825284820192508381018501918883111561090b57600080fd5b938501935b828510156109305761092185610867565b84529385019392850192610910565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561096457600080fd5b815161096f8161084f565b9392505050565b60006020828403121561098857600080fd5b5051919050565b6000602082840312156109a157600080fd5b8151801515811461096f57600080fd5b80516001600160701b038116811461087257600080fd5b6000806000606084860312156109dd57600080fd5b6109e6846109b1565b92506109f4602085016109b1565b9150604084015163ffffffff81168114610a0d57600080fd5b809150509250925092565b8481526000602085602084015260018060a01b038516604084015260806060840152835180608085015260005b81811015610a615785810183015185820160a001528201610a45565b50600060a0828601015260a0601f19601f8301168501019250505095945050505050565b634e487b7160e01b600052601160045260246000fd5b600082610ab857634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176107de576107de610a85565b808201808211156107de576107de610a8556fea264697066735822122060719d2510ffb8503f38ad1fbf4cb5787c00fa7d0b88051fdcda0ec42981fd7864736f6c634300081600330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000036c6b0e43e43717890197a1d49d05eb3e5bed329000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2