0x608060405234801561000f575f80fd5b50612e8b8061001d5f395ff3fe6080604052600436106100c2575f3560e01c8063889905ca1161007c57806398c254f41161005757806398c254f4146101a15780639ace4041146101b4578063a2e62045146101d3578063f2fde38b146101e7575f80fd5b8063889905ca146101445780638da5cb5b14610163578063973db3051461018e575f80fd5b80630a01d9bd146100cd5780630e3a9fdb146100e25780633ccfd60b146100f5578063715018a614610109578063729aafa91461011d5780638129fc1c14610130575f80fd5b366100c957005b5f80fd5b6100e06100db3660046127b4565b610206565b005b6100e06100f03660046127e5565b6102a8565b348015610100575f80fd5b506100e061039d565b348015610114575f80fd5b506100e06103d6565b6100e061012b36600461284d565b6103e9565b34801561013b575f80fd5b506100e06104f4565b34801561014f575f80fd5b506100e061015e36600461284d565b6105c0565b34801561016e575f80fd5b50603354604080516001600160a01b039092168252519081900360200190f35b6100e061019c3660046128be565b6107c0565b6100e06101af36600461284d565b610a26565b3480156101bf575f80fd5b506100e06101ce36600461290a565b610b5f565b3480156101de575f80fd5b506100e0610d8e565b3480156101f2575f80fd5b506100e061020136600461295e565b610d9e565b60405141903480156108fc02915f818181858888f1935050505015801561022f573d5f803e3d5ffd5b506040516370a0823160e01b81526001600160a01b0382811660048301525f91908416906370a0823190602401602060405180830381865afa158015610277573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061029b9190612977565b116102a4575f80fd5b5050565b428110156102d15760405162461bcd60e51b81526004016102c89061298e565b60405180910390fd5b5f6102dc34476129d2565b90505f6102e987346129d2565b90506127106102f887836129e5565b61030291906129fc565b61030c90826129d2565b604051909150419088156108fc029089905f818181858888f19350505050158015610339573d5f803e3d5ffd5b50886103538b5f8b8a61034c8d346129d2565b8b8b610e14565b10156103715760405162461bcd60e51b81526004016102c890612a1b565b814710156103915760405162461bcd60e51b81526004016102c890612a69565b50505050505050505050565b6033546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156103d3573d5f803e3d5ffd5b50565b6103de61126d565b6103e75f6112c7565b565b428110156104095760405162461bcd60e51b81526004016102c89061298e565b5f61041434476129d2565b90505f61042f8b8b8a896104288c346129d2565b8a8a610e14565b905086156104c7575f61045a600a6104488a60086129e5565b61045291906129fc565b89848d611318565b604051909150419082156108fc029083905f818181858888f19350505050158015610487573d5f803e3d5ffd5b50808811156104c557336108fc61049e838b6129d2565b6040518115909202915f818181858888f193505050501580156104c3573d5f803e3d5ffd5b505b505b814710156104e75760405162461bcd60e51b81526004016102c890612a69565b5050505050505050505050565b5f54610100900460ff161580801561051257505f54600160ff909116105b8061052b5750303b15801561052b57505f5460ff166001145b6105475760405162461bcd60e51b81526004016102c890612a8b565b5f805460ff191660011790558015610568575f805461ff0019166101001790555b61057061139c565b6105786113ca565b80156103d3575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b428110156105e05760405162461bcd60e51b81526004016102c89061298e565b475f8481036106a2575f6105f48c866114e5565b60665460405163d06ca61f60e01b81529192506001600160a01b03169063d06ca61f90610627908e908590600401612b1c565b5f60405180830381865afa158015610641573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526106689190810190612b48565b6001825161067691906129d2565b8151811061068657610686612c01565b6020026020010151915061069c8b5f8330611642565b506106b0565b6106ad8b8b87611889565b90505b5f6106bb83476129d2565b9050898110156106dd5760405162461bcd60e51b81526004016102c890612c15565b871561073457610705600a6106f38a60086129e5565b6106fd91906129fc565b89848c611318565b604051909850419089156108fc02908a905f818181858888f19350505050158015610732573d5f803e3d5ffd5b505b5f61271061074289846129e5565b61074c91906129fc565b90508861075982846129d2565b61076391906129d2565b604051909250339083156108fc029084905f818181858888f19350505050158015610790573d5f803e3d5ffd5b50834710156107b15760405162461bcd60e51b81526004016102c890612a69565b50505050505050505050505050565b5f6107cb34476129d2565b9050345f6127106107dc87846129e5565b6107e691906129fc565b90506107f281836129d2565b91505f855f0361091a575f6108078a87611a3c565b6066546040516307c0329d60e21b81529192506001600160a01b031690631f00ca749061083a908c908590600401612b1c565b5f60405180830381865afa158015610854573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261087b9190810190612b48565b5f8151811061088c5761088c612c01565b602090810291909101015160665460405163fb3bdb4160e01b81529193506001600160a01b03169063fb3bdb419084906108d0908d90869033904290600401612c4c565b5f6040518083038185885af11580156108eb573d5f803e3d5ffd5b50505050506040513d5f823e601f3d908101601f191682016040526109139190810190612b48565b5050610929565b61092689848a89611b68565b90505b5f61093482856129d2565b90505f662386f26fc10000821161094b5781610954565b662386f26fc100005b604051909150419082156108fc029083905f818181858888f19350505050158015610981573d5f803e3d5ffd5b50336108fc61099083856129d2565b6040518115909202915f818181858888f193505050501580156109b5573d5f803e3d5ffd5b5082851015610a065760405162461bcd60e51b815260206004820152601760248201527f696e73756666696369656e742065746820616d6f756e7400000000000000000060448201526064016102c8565b854710156104e75760405162461bcd60e51b81526004016102c890612a69565b42811015610a465760405162461bcd60e51b81526004016102c89061298e565b5f610a5134476129d2565b90505f610a658b828a896104288c346129d2565b905089811015610a875760405162461bcd60e51b81526004016102c890612a1b565b5f8982610a9560028b6129fc565b610a9f91906129e5565b610aa991906129fc565b610ab460028a6129fc565b610abe9190612c80565b9050878111610acd5780610acf565b875b604051909150419082156108fc029083905f818181858888f19350505050158015610afc573d5f803e3d5ffd5b50336108fc610b0b838b6129d2565b6040518115909202915f818181858888f19350505050158015610b30573d5f803e3d5ffd5b5082471015610b515760405162461bcd60e51b81526004016102c890612a69565b505050505050505050505050565b475f8080858103610c8f575f610b758b876114e5565b60665460405163d06ca61f60e01b81529192505f916001600160a01b039091169063d06ca61f90610bac908e908690600401612b1c565b5f60405180830381865afa158015610bc6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610bed9190810190612b48565b60018351610bfb91906129d2565b81518110610c0b57610c0b612c01565b6020026020010151905089811015610c355760405162461bcd60e51b81526004016102c890612c15565b610c418b5f8430611642565b610c4b86476129d2565b9450612710610c5a8a876129e5565b610c6491906129fc565b92508085610c728c836129d2565b610c7c91906129e5565b610c8691906129fc565b93505050610ce2565b610c9a8a8a88611889565b925087831015610cbc5760405162461bcd60e51b81526004016102c890612c15565b612710610cc988856129e5565b610cd391906129fc565b9050610cdf88846129d2565b91505b610cec81846129d2565b92505f662386f26fc100008311610d035782610d0c565b662386f26fc100005b604051909150419082156108fc029083905f818181858888f19350505050158015610d39573d5f803e3d5ffd5b50336108fc610d4883876129d2565b6040518115909202915f818181858888f19350505050158015610d6d573d5f803e3d5ffd5b50844710156104e75760405162461bcd60e51b81526004016102c890612a69565b610d9661126d565b6103e7611d58565b610da661126d565b6001600160a01b038116610e0b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102c8565b6103d3816112c7565b6040516370a0823160e01b81523360048201525f90479082906001600160a01b038b16906370a0823190602401602060405180830381865afa158015610e5c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e809190612977565b90505f612710610e9089896129e5565b610e9a91906129fc565b90505f610ea782896129d2565b9050865f03611115575f610ebb8d88611a3c565b60665460405163d06ca61f60e01b81529192506001600160a01b03169063d06ca61f90610eee9085908590600401612b1c565b5f60405180830381865afa158015610f08573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f2f9190810190612b48565b60018251610f3d91906129d2565b81518110610f4d57610f4d612c01565b602002602001015195505f808c1115611011575f60665f9054906101000a90046001600160a01b03166001600160a01b0316631f00ca748e856040518363ffffffff1660e01b8152600401610fa3929190612b1c565b5f60405180830381865afa158015610fbd573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610fe49190810190612b48565b5f81518110610ff557610ff5612c01565b602002602001015190508381101561100f57809350600191505b505b80156110a75760665f9054906101000a90046001600160a01b03166001600160a01b031663fb3bdb41848e8533426040518663ffffffff1660e01b815260040161105e9493929190612c4c565b5f6040518083038185885af1158015611079573d5f803e3d5ffd5b50505050506040513d5f823e601f3d908101601f191682016040526110a19190810190612b48565b5061110e565b60665460405163b6f9de9560e01b81526001600160a01b039091169063b6f9de959085906110df905f90879033904290600401612c4c565b5f604051808303818588803b1580156110f6575f80fd5b505af1158015611108573d5f803e3d5ffd5b50505050505b5050611123565b6111208c8289611d84565b94505b6040516370a0823160e01b81523360048201525f906001600160a01b038e16906370a0823190602401602060405180830381865afa158015611167573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061118b9190612977565b90508b61119885836129d2565b10156111fe5760405162461bcd60e51b815260206004820152602f60248201527f6c6f6f74657220726f757465723a20696e73756666696369656e7420746f6b6560448201526e1b88185b5bdd5b9d081bdd5d1c1d5d608a1b60648201526084016102c8565b5f61120947876129d2565b90506112158482612c80565b8a111561125c57336108fc8561122b848e6129d2565b61123591906129d2565b6040518115909202915f818181858888f1935050505015801561125a573d5f803e3d5ffd5b505b505050505050979650505050505050565b6033546001600160a01b031633146103e75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102c8565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f80606461132784605f6129e5565b61133191906129fc565b9050808410156113445785915050611394565b5f61134f82856129d2565b61135983876129d2565b61136390886129e5565b61136d91906129fc565b905085811161137c578061137e565b855b905086811061138d578061138f565b865b925050505b949350505050565b5f54610100900460ff166113c25760405162461bcd60e51b81526004016102c890612c93565b6103e7611eb6565b5f54610100900460ff16158080156113e857505f54600160ff909116105b806114015750303b15801561140157505f5460ff166001145b61141d5760405162461bcd60e51b81526004016102c890612a8b565b5f805460ff19166001179055801561143e575f805461ff0019166101001790555b606580546001600160a01b031990811673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc217909155606680548216737a250d5630b4cf539739df2c5dacb4c659f2488d17905560678054909116735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f17905580156103d3575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016105b5565b6060806001600160a01b03831661157f57604080516002808252606082018352909160208301908036833701905050905083815f8151811061152957611529612c01565b6001600160a01b03928316602091820292909201015260655482519116908290600190811061155a5761155a612c01565b60200260200101906001600160a01b031690816001600160a01b031681525050611639565b60408051600380825260808201909252906020820160608036833701905050905083815f815181106115b3576115b3612c01565b60200260200101906001600160a01b031690816001600160a01b03168152505082816001815181106115e7576115e7612c01565b6001600160a01b03928316602091820292909201015260655482519116908290600290811061161857611618612c01565b60200260200101906001600160a01b031690816001600160a01b0316815250505b90505b92915050565b60655482516001600160a01b03909116908390611661906001906129d2565b8151811061167157611671612c01565b60200260200101516001600160a01b0316146116cf5760405162461bcd60e51b815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f5041544800000060448201526064016102c8565b611745825f815181106116e4576116e4612c01565b60200260200101513361173f60675f9054906101000a90046001600160a01b0316865f8151811061171757611717612c01565b60200260200101518760018151811061173257611732612c01565b6020026020010151611ee5565b87611fbc565b61174f82306120e7565b6065546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015611795573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117b99190612977565b90508381101561181f5760405162461bcd60e51b815260206004820152602b60248201527f556e69737761705632526f757465723a20494e53554646494349454e545f4f5560448201526a1514155517d05353d5539560aa1b60648201526084016102c8565b606554604051632e1a7d4d60e01b8152600481018390526001600160a01b0390911690632e1a7d4d906024015f604051808303815f87803b158015611862575f80fd5b505af1158015611874573d5f803e3d5ffd5b505050506118828282612395565b5050505050565b5f61189684333086611fbc565b6118b58473e592427a0aece92de3edee1f18e0157c058615648561245a565b60408051610100810182526001600160a01b03808716825260655416602082015262ffffff84168183015230606082015242608082015260a081018590525f60c0820181905260e0820152905163414bf38960e01b815273e592427a0aece92de3edee1f18e0157c058615649063414bf38990611936908490600401612cde565b6020604051808303815f875af1158015611952573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119769190612977565b6065546040516370a0823160e01b81523060048201529193506001600160a01b031690632e1a7d4d9082906370a0823190602401602060405180830381865afa1580156119c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119e99190612977565b6040518263ffffffff1660e01b8152600401611a0791815260200190565b5f604051808303815f87803b158015611a1e575f80fd5b505af1158015611a30573d5f803e3d5ffd5b50505050509392505050565b6060806001600160a01b038316611ac0576040805160028082526060820183529091602083019080368337505060655482519293506001600160a01b0316918391505f90611a8c57611a8c612c01565b60200260200101906001600160a01b031690816001600160a01b031681525050838160018151811061155a5761155a612c01565b604080516003808252608082019092529060208201606080368337505060655482519293506001600160a01b0316918391505f90611b0057611b00612c01565b60200260200101906001600160a01b031690816001600160a01b0316815250508281600181518110611b3457611b34612c01565b60200260200101906001600160a01b031690816001600160a01b031681525050838160028151811061161857611618612c01565b5f60655f9054906101000a90046001600160a01b03166001600160a01b031663d0e30db0856040518263ffffffff1660e01b81526004015f604051808303818588803b158015611bb6575f80fd5b505af1158015611bc8573d5f803e3d5ffd5b505060408051610100810182526065546001600160a01b0390811682528a16602082015262ffffff87168183015233606082015242608082015260a0810188905260c081018990525f60e08201529051631b67c43360e31b815290935073e592427a0aece92de3edee1f18e0157c05861564925063db3e21989150611c51908490600401612cde565b6020604051808303815f875af1158015611c6d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c919190612977565b6065546040516370a0823160e01b81523060048201529193506001600160a01b031690632e1a7d4d9082906370a0823190602401602060405180830381865afa158015611ce0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d049190612977565b6040518263ffffffff1660e01b8152600401611d2291815260200190565b5f604051808303815f87803b158015611d39575f80fd5b505af1158015611d4b573d5f803e3d5ffd5b5050505050949350505050565b6065546103e7906001600160a01b031673e592427a0aece92de3edee1f18e0157c058615645f1961245a565b5f60655f9054906101000a90046001600160a01b03166001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004015f604051808303818588803b158015611dd2575f80fd5b505af1158015611de4573d5f803e3d5ffd5b505060408051610100810182526065546001600160a01b0390811682528916602082015262ffffff87168183015233606082015242608082015260a081018890525f60c0820181905260e0820152905163414bf38960e01b815290935073e592427a0aece92de3edee1f18e0157c05861564925063414bf3899150611e6d908490600401612cde565b6020604051808303815f875af1158015611e89573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ead9190612977565b95945050505050565b5f54610100900460ff16611edc5760405162461bcd60e51b81526004016102c890612c93565b6103e7336112c7565b5f805f611ef28585612569565b6040516bffffffffffffffffffffffff19606084811b8216602084015283901b1660348201529193509150869060480160405160208183030381529060405280519060200120604051602001611f9a9291906001600160f81b0319815260609290921b6bffffffffffffffffffffffff1916600183015260158201527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f603582015260550190565b60408051601f1981840301815291905280516020909101209695505050505050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291515f9283929088169161201f9190612d6a565b5f604051808303815f865af19150503d805f8114612058576040519150601f19603f3d011682016040523d82523d5f602084013e61205d565b606091505b50915091508180156120875750805115806120875750808060200190518101906120879190612d85565b6120df5760405162461bcd60e51b8152602060048201526024808201527f5472616e7366657248656c7065723a205452414e534645525f46524f4d5f46416044820152631253115160e21b60648201526084016102c8565b505050505050565b5f5b600183516120f791906129d2565b811015612390575f8084838151811061211257612112612c01565b6020026020010151858460016121289190612c80565b8151811061213857612138612c01565b6020026020010151915091505f61214f8383612569565b506067549091505f9061216c906001600160a01b03168585611ee5565b90505f805f80846001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156121ae573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121d29190612dba565b506001600160701b031691506001600160701b031691505f80876001600160a01b03168a6001600160a01b03161461220b57828461220e565b83835b6040516370a0823160e01b81526001600160a01b038a81166004830152929450909250612289918491908d16906370a0823190602401602060405180830381865afa15801561225f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122839190612977565b9061265f565b955061229686838361266a565b9450505050505f80856001600160a01b0316886001600160a01b0316146122be57825f6122c1565b5f835b915091505f60028c516122d491906129d2565b8a106122e0578a61230d565b60675461230d906001600160a01b0316898e6122fd8e6002612c80565b8151811061173257611732612c01565b604080515f8152602081019182905263022c0d9f60e01b9091529091506001600160a01b0387169063022c0d9f9061234e9086908690869060248101612e06565b5f604051808303815f87803b158015612365575f80fd5b505af1158015612377573d5f803e3d5ffd5b50506001909b019a506120e99950505050505050505050565b505050565b604080515f808252602082019092526001600160a01b0384169083906040516123be9190612d6a565b5f6040518083038185875af1925050503d805f81146123f8576040519150601f19603f3d011682016040523d82523d5f602084013e6123fd565b606091505b50509050806123905760405162461bcd60e51b815260206004820152602360248201527f5472616e7366657248656c7065723a204554485f5452414e534645525f46414960448201526213115160ea1b60648201526084016102c8565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b17905291515f928392908716916124b59190612d6a565b5f604051808303815f865af19150503d805f81146124ee576040519150601f19603f3d011682016040523d82523d5f602084013e6124f3565b606091505b509150915081801561251d57508051158061251d57508080602001905181019061251d9190612d85565b6118825760405162461bcd60e51b815260206004820152601e60248201527f5472616e7366657248656c7065723a20415050524f56455f4641494c4544000060448201526064016102c8565b5f80826001600160a01b0316846001600160a01b0316036125da5760405162461bcd60e51b815260206004820152602560248201527f556e697377617056324c6962726172793a204944454e544943414c5f41444452604482015264455353455360d81b60648201526084016102c8565b826001600160a01b0316846001600160a01b0316106125fa5782846125fd565b83835b90925090506001600160a01b0382166126585760405162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f41444452455353000060448201526064016102c8565b9250929050565b5f61163982846129d2565b5f8084116126ce5760405162461bcd60e51b815260206004820152602b60248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4960448201526a1394155517d05353d5539560aa1b60648201526084016102c8565b5f831180156126dc57505f82115b6127395760405162461bcd60e51b815260206004820152602860248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4c604482015267495155494449545960c01b60648201526084016102c8565b5f612746856103e5612783565b90505f6127538285612783565b90505f61276c83612766886103e8612783565b9061278e565b905061277881836129fc565b979650505050505050565b5f61163982846129e5565b5f6116398284612c80565b80356001600160a01b03811681146127af575f80fd5b919050565b5f80604083850312156127c5575f80fd5b6127ce83612799565b91506127dc60208401612799565b90509250929050565b5f805f805f805f80610100898b0312156127fd575f80fd5b61280689612799565b97506020890135965060408901359550606089013594506080890135935060a0890135925061283760c08a01612799565b915060e089013590509295985092959890939650565b5f805f805f805f805f6101208a8c031215612866575f80fd5b61286f8a612799565b985060208a0135975060408a0135965060608a0135955060808a0135945060a08a0135935060c08a013592506128a760e08b01612799565b91506101008a013590509295985092959850929598565b5f805f805f60a086880312156128d2575f80fd5b6128db86612799565b94506020860135935060408601359250606086013591506128fe60808701612799565b90509295509295909350565b5f805f805f8060c0878903121561291f575f80fd5b61292887612799565b95506020870135945060408701359350606087013592506080870135915061295260a08801612799565b90509295509295509295565b5f6020828403121561296e575f80fd5b61163982612799565b5f60208284031215612987575f80fd5b5051919050565b6020808252601690820152751b1bdbdd195c881c9bdd5d195c8e88149153d491d15160521b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561163c5761163c6129be565b808202811582820484141761163c5761163c6129be565b5f82612a1657634e487b7160e01b5f52601260045260245ffd5b500490565b6020808252602e908201527f6c6f6f74657220736e6970653a20696e73756666696369656e7420746f6b656e60408201526d08185b5bdd5b9d081bdd5d1c1d5d60921b606082015260800190565b6020808252600890820152676e6963652074727960c01b604082015260600190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b5f815180845260208085019450602084015f5b83811015612b115781516001600160a01b031687529582019590820190600101612aec565b509495945050505050565b828152604060208201525f6113946040830184612ad9565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215612b59575f80fd5b825167ffffffffffffffff80821115612b70575f80fd5b818501915085601f830112612b83575f80fd5b815181811115612b9557612b95612b34565b8060051b604051601f19603f83011681018181108582111715612bba57612bba612b34565b604052918252848201925083810185019188831115612bd7575f80fd5b938501935b82851015612bf557845184529385019392850192612bdc565b98975050505050505050565b634e487b7160e01b5f52603260045260245ffd5b60208082526019908201527f696e73756666696369656e7420746f6b656e20616d6f756e7400000000000000604082015260600190565b848152608060208201525f612c646080830186612ad9565b6001600160a01b03949094166040830152506060015292915050565b8082018082111561163c5761163c6129be565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b610100810161163c828480516001600160a01b03908116835260208083015182169084015260408083015162ffffff16908401526060808301518216908401526080808301519084015260a0828101519084015260c0808301519084015260e09182015116910152565b5f5b83811015612d62578181015183820152602001612d4a565b50505f910152565b5f8251612d7b818460208701612d48565b9190910192915050565b5f60208284031215612d95575f80fd5b81518015158114611639575f80fd5b80516001600160701b03811681146127af575f80fd5b5f805f60608486031215612dcc575f80fd5b612dd584612da4565b9250612de360208501612da4565b9150604084015163ffffffff81168114612dfb575f80fd5b809150509250925092565b84815283602082015260018060a01b0383166040820152608060608201525f8251806080840152612e3e8160a0850160208701612d48565b601f01601f19169190910160a0019594505050505056fea264697066735822122052dd005bb4e6b1958777c60995f660328e91f9b771a2a7a14d7f9d618e2a5bba64736f6c63430008170033