0x608060405234801562000010575f80fd5b506200001b62000021565b620000d5565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d25780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6130f180620000e35f395ff3fe608060405234801561000f575f80fd5b5060043610610076575f3560e01c8063089b0d3a1461007a578063242dd80c1461008f57806331b13450146100a2578063418209af146100b55780638da5cb5b146100c8578063919e16ea146100e6578063f121776c146100f9578063f5b024061461010c575b5f80fd5b61008d6100883660046122c5565b61011f565b005b61008d61009d36600461236b565b610186565b61008d6100b03660046123d1565b610224565b61008d6100c3366004612418565b610268565b6100d0610297565b6040516100dd91906124a3565b60405180910390f35b61008d6100f43660046124b1565b61035c565b61008d6101073660046124e8565b61045e565b61008d61011a366004612537565b61067c565b600a8054905f61012e83612568565b919050555061013b61076a565b600186111561014e5761014e87876107a1565b610170600a5488888888888888610163610297565b97969594939291906107f4565b61017d878787878761085c565b50505050505050565b600a8054905f61019583612568565b91905055506101a261076a565b6101ad60055f6120db565b60065f90556101ce600a54858585856101c4610297565b9493929190610baf565b61021461020f85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610c1192505050565b610c86565b61021e8484610ccf565b50505050565b600a8054905f61023383612568565b919050555061024061076a565b61025a600a54848484610251610297565b93929190610df7565b61026383610e71565b505050565b610270611057565b600a8054905f61027f83612568565b919050555061028c61076a565b61026381848461107a565b61029f612112565b600654158015906102b1575060065442115b1561034c57610347600580546102c690612580565b80601f01602080910402602001604051908101604052809291908181526020018280546102f290612580565b801561033d5780601f106103145761010080835404028352916020019161033d565b820191905f5260205f20905b81548152906001019060200180831161032057829003601f168201915b5050505050610c11565b905090565b610347600480546102c690612580565b600a8054905f61036b83612568565b919050555061037861076a565b5f61038484848461112e565b90505f8054906101000a90046001600160a01b03166001600160a01b031663ee37bed66040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103f891906125b8565b604051639549438560e01b81526001600160a01b038381166004830152868116602483015291909116906395494385906044015f604051808303815f87803b158015610442575f80fd5b505af1158015610454573d5f803e3d5ffd5b5050505050505050565b600a8054905f61046d83612568565b919050555061047a61076a565b610496600a548585858561048c610297565b94939291906111b0565b5f80600b739d1822a80b8e83db5fb39e843a68663d218cadc3636d952654909188885f8054906101000a90046001600160a01b03166001600160a01b0316636a42b8f86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610506573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061052a91906125e9565b6040516001600160e01b031960e087901b1681526004810194909452602484019290925260448301526001600160401b031660648201526084016102c060405180830381865af4158015610580573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105a49190612718565b915091505f8054906101000a90046001600160a01b03166001600160a01b031663ee37bed66040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105f6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061061a91906125b8565b6001600160a01b03166347f2365183836040518363ffffffff1660e01b81526004016106479291906127df565b5f604051808303815f87803b15801561065e575f80fd5b505af1158015610670573d5f803e3d5ffd5b50505050505050505050565b600a8054905f61068b83612568565b919050555061069861076a565b6106a3838383611207565b5f8054906101000a90046001600160a01b03166001600160a01b031663ee37bed66040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106f1573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071591906125b8565b60405163ce03151760e01b815284151560048201526001600160a01b03919091169063ce031517906024015b5f604051808303815f87803b158015610758575f80fd5b505af115801561017d573d5f803e3d5ffd5b6006541580159061077c575060065442115b1561079f57600461078e600582612854565b5061079a60055f6120db565b5f6006555b565b63098bb94960e11b5f5b828110156107d65760208102840135805c156107c957825f5260045ffd5b6001815d506001016107ab565b505f5b8281101561021e57602081028401355f815d506001016107d9565b5f7f23619bc2acb34ce7935b1e16e77a5d9a5b67cc27d5bbbe57f69c730e193f1bf646308b8b8b8b8b8b6040516020016108369998979695949392919061299a565b60408051601f1981840301815291905280516020909101209050610670818b8585611288565b610864611355565b838281146108855760405163512509d360e11b815260040160405180910390fd5b5f805f9054906101000a90046001600160a01b03166001600160a01b0316636a42b8f86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108f991906125e9565b61090c906001600160401b0316426129fb565b90505f5b828110156109e75785858281811061092a5761092a612a22565b9050602002013588888381811061094357610943612a22565b90506020020160208101906109589190612a36565b6040516370a0823160e01b81523060048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa15801561099c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109c09190612a51565b10156109df57604051631e9acf1760e31b815260040160405180910390fd5b600101610910565b5060405180608001604052808888808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050509082525060408051602088810282810182019093528882529283019290918991899182918501908490808284375f920191909152505050908252506001600160a01b0385166020808301919091526001600160601b03841660409092019190915281518051600792610a9a928492910190612139565b506020828101518051610ab3926001850192019061219c565b506040828101516060909301516001600160601b0316600160a01b026001600160a01b03938416176002909201919091555f54815163771bdf6b60e11b8152915192169163ee37bed6916004808201926020929091908290030181865afa158015610b20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b4491906125b8565b6001600160a01b03166317fefedd8888888888876040518763ffffffff1660e01b8152600401610b7996959493929190612a68565b5f604051808303815f87803b158015610b90575f80fd5b505af1158015610ba2573d5f803e3d5ffd5b5050505050505050505050565b5f7f8e83b6bc9dcf1c432a6983224abae519957e953d14e2d66d9d36206b86a15cce4630888888604051602001610beb96959493929190612abb565b60408051601f198184030181529190528051602090910120905061017d81888585611288565b610c19612112565b8151602003610c505750602090810151604080516060810182526001600160a01b0390921682525f92820183905281019190915290565b5f8083806020019051810190610c669190612b0d565b604080516060810182525f81526020810193909352820152949350505050565b80516001600160a01b0316158015610ca057506020810151155b8015610cae57506040810151155b15610ccc57604051639b15e16f60e01b815260040160405180910390fd5b50565b5f8054906101000a90046001600160a01b03166001600160a01b031663ee37bed66040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d1d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d4191906125b8565b6001600160a01b03166364c880fb610d5f600480546102c690612580565b610d9d85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610c1192505050565b6040518363ffffffff1660e01b8152600401610dba929190612b2f565b5f604051808303815f87803b158015610dd1575f80fd5b505af1158015610de3573d5f803e3d5ffd5b506004925061026391508390508483612b4a565b604080517f9a6364a78ab50b88b08096b64d1c3c4a6ca22b7709e1c6dde9689e4af7695821602082015246918101919091523060608201526080810185905260a081018490525f9060c0015b60408051601f1981840301815291905280516020909101209050610e6981878585611288565b505050505050565b610e7961145a565b5f805f9054906101000a90046001600160a01b03166001600160a01b031663ee37bed66040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ec9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eed91906125b8565b9050601354821115610f6a575f60158190556014556013546040516301d2739560e71b81526001600160a01b0383169163e939ca8091610f34919086904290600401612bfe565b5f604051808303815f87803b158015610f4b575f80fd5b505af1158015610f5d573d5f803e3d5ffd5b5050506013839055505050565b5f8054906101000a90046001600160a01b03166001600160a01b0316636a42b8f86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fdc91906125e9565b610fef906001600160401b031642612c14565b601581905560148390556013546040516301d2739560e71b81526001600160a01b0384169263e939ca809261102a9290918791600401612bfe565b5f604051808303815f87803b158015611041575f80fd5b505af1158015610e69573d5f803e3d5ffd5b5050565b60165460ff1661079f57604051635caa354760e01b815260040160405180910390fd5b6110876020840184612c27565b611095906020810190612c45565b60ff166110a28480612c27565b6110b0906020810190612c45565b60ff16036110d157604051637011b3af60e01b815260040160405180910390fd5b6110d96121d5565b611102845f5b6020028101906110ef9190612c27565b6110fd906020810190612c45565b611482565b815261110f8460016110df565b6020820152600a546111249085838686611536565b61021e83836115ce565b5f61119d306001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561116e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111929190612c65565b600a54868686611752565b6111a6846117aa565b90505b9392505050565b604080517fd3273adabd54a98e671ce86bc2efd441e80ce93d7d355ed37888ad2d9db95730602082015246918101919091523060608201526080810186905260a0810185905260c081018490525f9060e001610beb565b611275306001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611246573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061126a9190612c65565b600a548585856117fc565b6016805460ff1916841515179055505050565b82516001600160a01b0316156112ec576112e7835f015183838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506112e0925089915061184d9050565b919061187e565b61021e565b5f6112f982840184612d4c565b90506113318560405160200161131191815260200190565b6040516020818303038152906040525f8387602001518860400151611957565b61134e57604051630684d17360e41b815260040160405180910390fd5b5050505050565b6007541561079f575f8054906101000a90046001600160a01b03166001600160a01b031663ee37bed66040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113ab573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113cf91906125b8565b600954604051634cd8092b60e01b81526001600160a01b0392831692634cd8092b92611405926007926008921690600401612e01565b5f604051808303815f87803b15801561141c575f80fd5b505af115801561142e573d5f803e3d5ffd5b50600792505f915061144290508282612202565b61144f600183015f612202565b505f60029190910155565b6015541580159061146c575060155442115b1561079f57601480546013555f90819055601555565b61148a612112565b8160ff165f036114d8576003546001600160a01b03166114bd5760405163544ed82b60e01b815260040160405180910390fd5b6003546114d2906001600160a01b0316611d0f565b92915050565b8160ff166001036114f8576001546114d2906001600160a01b0316611d0f565b8160ff16600203611518576002546114d2906001600160a01b0316611d0f565b60405163bfb572b360e01b815260040160405180910390fd5b919050565b5f7f2ce0bff25183cd5ad188151f3663319a70caaf37b51ff4952a54ffd31ac42437463088868660405160200161157296959493929190612abb565b60408051808303601f19018152919052805160209091012084519091506115bd90865f5b6020028101906115a69190612c27565b6115b4906020810190612ea2565b84929190611288565b6020840151610e6990866001611596565b5f8054906101000a90046001600160a01b03166001600160a01b0316636a42b8f86040518163ffffffff1660e01b8152600401602060405180830381865afa15801561161c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061164091906125e9565b611653906001600160401b031642612c14565b6006819055505f61169883838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610c1192505050565b90506116a381610c86565b60056116b0838583612b4a565b505f8054906101000a90046001600160a01b03166001600160a01b031663ee37bed66040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116ff573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061172391906125b8565b6001600160a01b0316638abaf3e4826006546040518363ffffffff1660e01b8152600401610741929190612ee4565b604080517fbbcc77e0f98b7bd4aa41e7813adc6b185dbd2895bb64629c63b5734090b662c960208201524691810191909152306060820152608081018590526001600160a01b03841660a08201525f9060c001610e43565b6003546001600160a01b039081169082166117d85760405163cf9e102360e01b815260040160405180910390fd5b600380546001600160a01b0319166001600160a01b03939093169290921790915590565b604080517f5c6f2e9e5b5e41edfebaae46f788f001bfb122ff38c62cc0555d075db3c1fe86602082015246918101919091523060608201526080810185905283151560a08201525f9060c001610e43565b7b0ca2ba3432b932bab69029b4b3b732b21026b2b9b9b0b3b29d05199960211b5f908152601c91909152603c902090565b813b1561191c57604051630b135d3f60e11b808252906001600160a01b03841690631626ba7e906118b59087908690600401612f21565b602060405180830381865afa1580156118d0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118f49190612f5a565b6001600160e01b0319161461026357604051636bda3fcd60e01b815260040160405180910390fd5b816001600160a01b03166119308483611d3e565b6001600160a01b03161461026357604051632057875960e21b815260040160405180910390fd5b5f61197d60026f4319055258e8617b0c46353d039cdaae63ffffffff60c01b0119612f81565b8460a00151111561198f57505f611d06565b60608401515f906119b1906119a5816015612c14565b60208801519190611d66565b90507fff1a2a9176d650e4a99dedb58f1793003935130579fe17b5a3f698ac5b00e6348180519060200120146119ea575f915050611d06565b5f6119f488611dcb565b604051602001611a049190612fa0565b60405160208183030381529060405290505f611a3b876040015183518960400151611a2f9190612c14565b60208a01519190611d66565b90508180519060200120818051906020012014611a5d575f9350505050611d06565b86518051600160f81b9182916020908110611a7a57611a7a612a22565b0160200151166001600160f81b03191614611a9a575f9350505050611d06565b878015611ad2575086518051600160fa1b9182916020908110611abf57611abf612a22565b0160200151166001600160f81b03191614155b15611ae2575f9350505050611d06565b5f60028860200151604051611af79190612fe0565b602060405180830381855afa158015611b12573d5f803e3d5ffd5b5050506040513d601f19601f82011682018060405250810190611b359190612a51565b90505f6002895f015183604051602001611b50929190612ff1565b60408051601f1981840301815290829052611b6a91612fe0565b602060405180830381855afa158015611b85573d5f803e3d5ffd5b5050506040513d601f19601f82011682018060405250810190611ba89190612a51565b90505f818a608001518b60a001518b8b604051602001611bcc959493929190613012565b60405160208183030381529060405290505f806101006001600160a01b031683604051611bf99190612fe0565b5f60405180830381855afa9150503d805f8114611c31576040519150601f19603f3d011682016040523d82523d5f602084013e611c36565b606091505b50805191935091501515828015611c4a5750805b15611c765781806020019051810190611c639190612a51565b6001149950505050505050505050611d06565b50505060808a015160a08b015160405163a1f3128160e01b815273ef53211103d5df1bb02602d9eb4847e0ec592eaf935063a1f3128192611cbf9286928e908e90600401613012565b602060405180830381865af4158015611cda573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cfe9190613035565b955050505050505b95945050505050565b611d17612112565b50604080516060810182526001600160a01b0390921682525f602083018190529082015290565b5f805f80611d4c8686611f17565b925092509250611d5c8282611f60565b5090949350505050565b60608351828111611d75578092505b838111611d80578093505b50818310156111a9575060405182820380825293830193601f19601f820181165b8681015184820152810180611da15750505f81602084010152604081018201604052509392505050565b606081515f03611de857505060408051602081019091525f815290565b5f60405180606001604052806040815260200161307c6040913990505f600384516002611e159190612c14565b611e1f9190612f81565b611e2a906004613050565b6001600160401b03811115611e4157611e4161260f565b6040519080825280601f01601f191660200182016040528015611e6b576020820181803683370190505b509050600182016020820185865187015b80821015611ed7576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f8116850151845350600183019250611e7c565b5050600386510660018114611ef35760028114611efe57611f05565b600282039150611f05565b6001820391505b50829003601f19018252509392505050565b5f805f8351604103611f4e576020840151604085015160608601515f1a611f408882858561201d565b955095509550505050611f59565b505081515f91506002905b9250925092565b5f826003811115611f7357611f73613067565b03611f7c575050565b6001826003811115611f9057611f90613067565b03611fae5760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115611fc257611fc2613067565b03611fe85760405163fce698f760e01b8152600481018290526024015b60405180910390fd5b6003826003811115611ffc57611ffc613067565b03611053576040516335e2f38360e21b815260048101829052602401611fdf565b5f80806fa2a8918ca85bafe22016d0b997e4df60600160ff1b0384111561204c57505f915060039050826120d1565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561209d573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166120c857505f9250600191508290506120d1565b92505f91508190505b9450945094915050565b5080546120e790612580565b5f825580601f106120f6575050565b601f0160209004905f5260205f2090810190610ccc9190612219565b60405180606001604052805f6001600160a01b031681526020015f81526020015f81525090565b828054828255905f5260205f2090810192821561218c579160200282015b8281111561218c57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190612157565b50612198929150612219565b5090565b828054828255905f5260205f2090810192821561218c579160200282015b8281111561218c5782518255916020019190600101906121ba565b60405180604001604052806002905b6121ec612112565b8152602001906001900390816121e45790505090565b5080545f8255905f5260205f2090810190610ccc91905b5b80821115612198575f815560010161221a565b5f8083601f84011261223d575f80fd5b5081356001600160401b03811115612253575f80fd5b6020830191508360208260051b850101111561226d575f80fd5b9250929050565b6001600160a01b0381168114610ccc575f80fd5b5f8083601f840112612298575f80fd5b5081356001600160401b038111156122ae575f80fd5b60208301915083602082850101111561226d575f80fd5b5f805f805f805f6080888a0312156122db575f80fd5b87356001600160401b03808211156122f1575f80fd5b6122fd8b838c0161222d565b909950975060208a0135915080821115612315575f80fd5b6123218b838c0161222d565b909750955060408a0135915061233682612274565b9093506060890135908082111561234b575f80fd5b506123588a828b01612288565b989b979a50959850939692959293505050565b5f805f806040858703121561237e575f80fd5b84356001600160401b0380821115612394575f80fd5b6123a088838901612288565b909650945060208701359150808211156123b8575f80fd5b506123c587828801612288565b95989497509550505050565b5f805f604084860312156123e3575f80fd5b8335925060208401356001600160401b038111156123ff575f80fd5b61240b86828701612288565b9497909650939450505050565b5f805f6040848603121561242a575f80fd5b83356001600160401b0380821115612440575f80fd5b61244c87838801612288565b90955093506020860135915080821115612464575f80fd5b50840160408101861015612476575f80fd5b809150509250925092565b80516001600160a01b0316825260208082015190830152604090810151910152565b606081016114d28284612481565b5f805f604084860312156124c3575f80fd5b83356124ce81612274565b925060208401356001600160401b038111156123ff575f80fd5b5f805f80606085870312156124fb575f80fd5b843593506020850135925060408501356001600160401b0381111561251e575f80fd5b6123c587828801612288565b8015158114610ccc575f80fd5b5f805f60408486031215612549575f80fd5b83356124ce8161252a565b634e487b7160e01b5f52601160045260245ffd5b5f6001820161257957612579612554565b5060010190565b600181811c9082168061259457607f821691505b6020821081036125b257634e487b7160e01b5f52602260045260245ffd5b50919050565b5f602082840312156125c8575f80fd5b81516111a981612274565b80516001600160401b0381168114611531575f80fd5b5f602082840312156125f9575f80fd5b6111a9826125d3565b6001600160401b03169052565b634e487b7160e01b5f52604160045260245ffd5b60405161016081016001600160401b03811182821017156126465761264661260f565b60405290565b60405160c081016001600160401b03811182821017156126465761264661260f565b5f610160828403121561267f575f80fd5b612687612623565b9050815181526020820151602082015260408201516040820152606082015160608201526080820151608082015260a082015160a08201526126cb60c083016125d3565b60c08201526126dc60e083016125d3565b60e08201526101006126ef8184016125d3565b908201526101206127018382016125d3565b818301525061014080830151818301525092915050565b5f806102c0838503121561272a575f80fd5b612734848461266e565b915061274484610160850161266e565b90509250929050565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015161279560c0840182612602565b5060e08101516127a860e0840182612602565b50610100808201516127bc82850182612602565b5050610120808201516127d182850182612602565b505061014090810151910152565b6102c081016127ee828561274d565b6111a961016083018461274d565b601f82111561026357805f5260205f20601f840160051c810160208510156128215750805b601f840160051c820191505b8181101561134e575f815560010161282d565b5f19600383901b1c191660019190911b1790565b81810361285f575050565b6128698254612580565b6001600160401b038111156128805761288061260f565b6128948161288e8454612580565b846127fc565b5f601f8211600181146128c0575f83156128ae5750848201545b6128b88482612840565b85555061134e565b5f8581526020808220868352908220601f198616925b838110156128f657828601548255600195860195909101906020016128d6565b508583101561291357818501545f19600388901b60f8161c191681555b5050505050600190811b01905550565b8183525f60208085019450825f5b8581101561295f57813561294481612274565b6001600160a01b031687529582019590820190600101612931565b509495945050505050565b8183525f6001600160fb1b03831115612981575f80fd5b8260051b80836020870137939093016020019392505050565b8981528860208201525f60018060a01b03808a16604084015288606084015260e060808401526129ce60e08401888a612923565b83810360a08501526129e181878961296a565b92505080841660c0840152509a9950505050505050505050565b6001600160601b03818116838216019080821115612a1b57612a1b612554565b5092915050565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215612a46575f80fd5b81356111a981612274565b5f60208284031215612a61575f80fd5b5051919050565b608081525f612a7b60808301888a612923565b8281036020840152612a8e81878961296a565b6001600160a01b0395909516604084015250506001600160601b0391909116606090910152949350505050565b86815285602082015260018060a01b038516604082015283606082015260a060808201528160a0820152818360c08301375f81830160c090810191909152601f909201601f1916010195945050505050565b5f8060408385031215612b1e575f80fd5b505080516020909101519092909150565b60c08101612b3d8285612481565b6111a96060830184612481565b6001600160401b03831115612b6157612b6161260f565b612b7583612b6f8354612580565b836127fc565b5f601f841160018114612ba1575f8515612b8f5750838201355b612b998682612840565b84555061134e565b5f83815260208120601f198716915b82811015612bd05786850135825560209485019460019092019101612bb0565b5086821015612bec575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b9283526020830191909152604082015260600190565b808201808211156114d2576114d2612554565b5f8235603e19833603018112612c3b575f80fd5b9190910192915050565b5f60208284031215612c55575f80fd5b813560ff811681146111a9575f80fd5b5f60608284031215612c75575f80fd5b604051606081016001600160401b0381118282101715612c9757612c9761260f565b6040528251612ca581612274565b8152602083810151908201526040928301519281019290925250919050565b5f82601f830112612cd3575f80fd5b81356001600160401b0380821115612ced57612ced61260f565b604051601f8301601f19908116603f01168101908282118183101715612d1557612d1561260f565b81604052838152866020858801011115612d2d575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f60208284031215612d5c575f80fd5b81356001600160401b0380821115612d72575f80fd5b9083019060c08286031215612d85575f80fd5b612d8d61264c565b823582811115612d9b575f80fd5b612da787828601612cc4565b825250602083013582811115612dbb575f80fd5b612dc787828601612cc4565b60208301525060408301356040820152606083013560608201526080830135608082015260a083013560a082015280935050505092915050565b5f6060820160608352808654808352608085019150875f5260209250825f205f5b82811015612e475781546001600160a01b031684529284019260019182019101612e22565b5050508381038285015285548082525f87815283812092840191905b81811015612e7f57835483526001938401939285019201612e63565b50506001600160a01b03861660408601529250612e9a915050565b949350505050565b5f808335601e19843603018112612eb7575f80fd5b8301803591506001600160401b03821115612ed0575f80fd5b60200191503681900382131561226d575f80fd5b60808101612ef28285612481565b8260608301529392505050565b5f5b83811015612f19578181015183820152602001612f01565b50505f910152565b828152604060208201525f8251806040840152612f45816060850160208701612eff565b601f01601f1916919091016060019392505050565b5f60208284031215612f6a575f80fd5b81516001600160e01b0319811681146111a9575f80fd5b5f82612f9b57634e487b7160e01b5f52601260045260245ffd5b500490565b6c1131b430b63632b733b2911d1160991b815281515f90612fc881600d850160208701612eff565b601160f91b600d939091019283015250600e01919050565b5f8251612c3b818460208701612eff565b5f8351613002818460208801612eff565b9190910191825250602001919050565b948552602085019390935260408401919091526060830152608082015260a00190565b5f60208284031215613045575f80fd5b81516111a98161252a565b80820281158282048414176114d2576114d2612554565b634e487b7160e01b5f52602160045260245ffdfe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392d5fa26469706673582212200d839fc07f3a8a1afdbdadb83b0cf25f6b6f2f4522271a72c12892b5a517e39064736f6c63430008180033