6101406040526000600e55600f805462ffffff191690553480156200002357600080fd5b5060405180604001604052806011815260200170416d65726963616e417065436f6d69637360781b815250604051806040016040528060038152602001620312e360ec1b8152506040518060400160405280601981526020017f416d65726963616e2041706520436f6d696320536572696573000000000000008152506040518060400160405280600681526020016520a822a9a2a960d11b8152508160029081620000d0919062000283565b506003620000df828262000283565b5050600160005550815160209283012081519183019190912060e08290526101008190524660a0818152604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818801819052818301969096526060810194909452608080850193909352308483018190528151808603909301835260c0948501909152815191909501209052919091526101205262000181336200018c565b6001600b556200034f565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200020957607f821691505b6020821081036200022a57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200027e57600081815260208120601f850160051c81016020861015620002595750805b601f850160051c820191505b818110156200027a5782815560010162000265565b5050505b505050565b81516001600160401b038111156200029f576200029f620001de565b620002b781620002b08454620001f4565b8462000230565b602080601f831160018114620002ef5760008415620002d65750858301515b600019600386901b1c1916600185901b1785556200027a565b600085815260208120601f198616915b828110156200032057888601518255948401946001909101908401620002ff565b50858210156200033f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c05160e051610100516101205161455b6200039f60003960006133f3015260006134420152600061341d01526000613376015260006133a0015260006133ca015261455b6000f3fe6080604052600436106103975760003560e01c80636d178141116101dc578063afb05f7d11610102578063dd75fe93116100a0578063f2fde38b1161006f578063f2fde38b14610b97578063f919583914610bb7578063f931a4c214610bcd578063ff5a70c614610be257600080fd5b8063dd75fe9314610aee578063e4623c1b14610b0e578063e985e9c514610b2e578063ec5787c214610b7757600080fd5b8063c60a2584116100dc578063c60a258414610a7b578063c87b56dd14610a9b578063ca561d6f14610abb578063d96f87f014610ace57600080fd5b8063afb05f7d14610a09578063b88d4fde14610a3b578063c23dc68f14610a4e57600080fd5b80638462151c1161017a57806399a2557a1161014957806399a2557a146109905780639b327408146109b0578063a22cb465146109d0578063a2309ff8146109f057600080fd5b80638462151c1461091d578063864758e81461093d5780638da5cb5b1461095d57806395d89b411461097b57600080fd5b806371417b32116101b657806371417b32146107ff578063715018a61461082c5780637a80dc1d146108415780637c08aabe146108fd57600080fd5b80636d178141146107825780636dee5615146107ca57806370a08231146107df57600080fd5b80633125ac6c116102c15780634cd55f791161025f5780635d90dd141161022e5780635d90dd141461070f5780635e98b51d1461072f5780635ef2fcc2146107425780636352211e1461076257600080fd5b80634cd55f791461069a57806355f804b3146106ad57806359c74f29146106cd5780635bbb2177146106e257600080fd5b806342966c681161029b57806342966c6814610620578063471a429414610640578063478307371461065a5780634ae92cfa1461067a57600080fd5b80633125ac6c146105d85780633ccfd60b146105f857806342842e0e1461060d57600080fd5b8063120b99891161033957806323b872dd1161030857806323b872dd14610553578063288bd8fd146105665780632a55205a146105865780633018184e146105c557600080fd5b8063120b9989146104d6578063149841e9146104f65780631675be861461051657806318160ddd1461053657600080fd5b806306fdde031161037557806306fdde0314610449578063081812fc1461046b578063095ea7b3146104a35780630ec992a1146104b657600080fd5b806301ffc9a71461039c57806304634d8d146103d1578063058b63f4146103f3575b600080fd5b3480156103a857600080fd5b506103bc6103b73660046138d8565b610c01565b60405190151581526020015b60405180910390f35b3480156103dd57600080fd5b506103f16103ec366004613911565b610c21565b005b3480156103ff57600080fd5b5061043b61040e366004613954565b600e5460009081526010602090815260408083206001600160a01b039094168352600a9093019052205490565b6040519081526020016103c8565b34801561045557600080fd5b5061045e610caf565b6040516103c891906139bf565b34801561047757600080fd5b5061048b6104863660046139d2565b610d41565b6040516001600160a01b0390911681526020016103c8565b6103f16104b13660046139eb565b610d85565b3480156104c257600080fd5b5061043b6104d13660046139eb565b610e25565b3480156104e257600080fd5b506103f16104f1366004613a59565b610ea6565b34801561050257600080fd5b506103bc610511366004613a9a565b61107e565b34801561052257600080fd5b506103f1610531366004613ae5565b611107565b34801561054257600080fd5b50600154600054036000190161043b565b6103f1610561366004613b07565b61115c565b34801561057257600080fd5b506103f16105813660046139d2565b6112ed565b34801561059257600080fd5b506105a66105a1366004613ae5565b611354565b604080516001600160a01b0390931683526020830191909152016103c8565b6103f16105d3366004613b43565b611402565b3480156105e457600080fd5b506103f16105f33660046139d2565b61164c565b34801561060457600080fd5b506103f16117da565b6103f161061b366004613b07565b6117fe565b34801561062c57600080fd5b506103f161063b3660046139d2565b61181e565b34801561064c57600080fd5b50600f546103bc9060ff1681565b34801561066657600080fd5b506103f1610675366004613b95565b611860565b34801561068657600080fd5b506103f16106953660046139d2565b611946565b6103f16106a8366004613b43565b611953565b3480156106b957600080fd5b506103f16106c8366004613ca2565b611b60565b3480156106d957600080fd5b506103f1611b74565b3480156106ee57600080fd5b506107026106fd366004613a59565b611b90565b6040516103c89190613d26565b34801561071b57600080fd5b506103f161072a366004613d68565b611c5b565b6103f161073d366004613d94565b611ccc565b34801561074e57600080fd5b506103f161075d366004613e36565b611f79565b34801561076e57600080fd5b5061048b61077d3660046139d2565b611ff9565b34801561078e57600080fd5b5061043b61079d366004613954565b600e5460009081526010602090815260408083206001600160a01b03909416835260099093019052205490565b3480156107d657600080fd5b506103f1612004565b3480156107eb57600080fd5b5061043b6107fa366004613954565b61202b565b34801561080b57600080fd5b5061081f61081a366004613954565b612079565b6040516103c89190613ed8565b34801561083857600080fd5b506103f1612134565b34801561084d57600080fd5b506108b061085c3660046139d2565b60106020526000908152604090208054600182015460028301546003840154600485015460058601546006870154600788015460089098015496979596949593949293919290916001600160a01b03169089565b60408051998a5260208a0198909852968801959095526060870193909352608086019190915260a085015260c08401526001600160a01b031660e0830152610100820152610120016103c8565b34801561090957600080fd5b506103f1610918366004613ae5565b612148565b34801561092957600080fd5b5061081f610938366004613954565b61219d565b34801561094957600080fd5b50600f546103bc9062010000900460ff1681565b34801561096957600080fd5b50600a546001600160a01b031661048b565b34801561098757600080fd5b5061045e6122a5565b34801561099c57600080fd5b5061081f6109ab366004613f10565b6122b4565b3480156109bc57600080fd5b506103f16109cb366004613f43565b612439565b3480156109dc57600080fd5b506103f16109eb366004613fbe565b6124d9565b3480156109fc57600080fd5b506000546000190161043b565b348015610a1557600080fd5b506103bc610a243660046139d2565b600090815260106020526040902060030154151590565b6103f1610a49366004613fef565b612545565b348015610a5a57600080fd5b50610a6e610a693660046139d2565b61258f565b6040516103c8919061406a565b348015610a8757600080fd5b506103f1610a96366004613e36565b612617565b348015610aa757600080fd5b5061045e610ab63660046139d2565b612697565b6103f1610ac93660046139d2565b61271a565b348015610ada57600080fd5b506103bc610ae9366004613a9a565b612882565b348015610afa57600080fd5b5061043b610b093660046139eb565b612900565b348015610b1a57600080fd5b506103f1610b29366004614078565b612981565b348015610b3a57600080fd5b506103bc610b49366004614108565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b348015610b8357600080fd5b506103f1610b923660046139eb565b612a3a565b348015610ba357600080fd5b506103f1610bb2366004613954565b612a9e565b348015610bc357600080fd5b5061043b600e5481565b348015610bd957600080fd5b506103f1612b14565b348015610bee57600080fd5b50600f546103bc90610100900460ff1681565b6000610c0c82612b39565b80610c1b5750610c1b82612b87565b92915050565b610c29612bbc565b6103e8816001600160601b03161115610ca15760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f742073657420726f79616c7469657320686967686572207468616e60448201526e203130303020627073202f2031302560881b60648201526084015b60405180910390fd5b610cab8282612c16565b5050565b606060028054610cbe90614132565b80601f0160208091040260200160405190810160405280929190818152602001828054610cea90614132565b8015610d375780601f10610d0c57610100808354040283529160200191610d37565b820191906000526020600020905b815481529060010190602001808311610d1a57829003601f168201915b5050505050905090565b6000610d4c82612d13565b610d69576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b6000610d9082611ff9565b9050336001600160a01b03821614610dc957610dac8133610b49565b610dc9576040516367d9dca160e11b815260040160405180910390fd5b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b600081815260106020526040812060030154610e7a5760405162461bcd60e51b815260206004820152601460248201527310dbdb5a58c8191bd95cc81b9bdd08195e1a5cdd60621b6044820152606401610c98565b5060009081526010602090815260408083206001600160a01b03949094168352600a9093019052205490565b6002600b5403610ec85760405162461bcd60e51b8152600401610c989061416c565b6002600b55323314610ed957600080fd5b600f5462010000900460ff16610f315760405162461bcd60e51b815260206004820152601b60248201527f4d696e7420766961206275726e206973206e6f742061637469766500000000006044820152606401610c98565b600e5460009081526010602052604090206003810154610f529060016141b9565b82610f5c60005490565b610f6691906141b9565b1115610f845760405162461bcd60e51b8152600401610c98906141cc565b6004810154600582015483919060005b83811015611066576000878783818110610fb057610fb0614214565b905060200201359050610fc281611ff9565b6001600160a01b0316336001600160a01b031614610ff25760405162461bcd60e51b8152600401610c989061422a565b8381101580156110025750828111155b61104a5760405162461bcd60e51b8152602060048201526019602482015278125b9d985b1a5908189d5c9b98589b19481d1bdad95b881a59603a1b6044820152606401610c98565b61105381612d48565b508061105e81614261565b915050610f94565b506110713384612d53565b50506001600b5550505050565b600080338360405160200161109492919061427a565b6040516020818303038152906040528051906020012090506110fc8585808060200260200160405190810160405280939291908181526020018383602002808284376000920182905250600e548152601060205260409020600601549250859150612d6d9050565b9150505b9392505050565b61110f612bbc565b6000828152601060205260409020600301546111475760405162461bcd60e51b81526020600482015260006024820152604401610c98565b60009182526010602052604090912060080155565b600061116782612d83565b9050836001600160a01b0316816001600160a01b03161461119a5760405162a1148160e81b815260040160405180910390fd5b600082815260066020526040902080546111c68187335b6001600160a01b039081169116811491141790565b6111f1576111d48633610b49565b6111f157604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b03851661121857604051633a954ecd60e21b815260040160405180910390fd5b801561122357600082555b6001600160a01b038681166000908152600560205260408082208054600019019055918716808252919020805460010190554260a01b17600160e11b17600085815260046020526040812091909155600160e11b841690036112b5576001840160008181526004602052604081205490036112b35760005481146112b35760008181526004602052604090208490555b505b83856001600160a01b0316876001600160a01b031660008051602061450683398151915260405160405180910390a45b505050505050565b6112f5612bbc565b600e546000908152601060205260409020600301546113159060016141b9565b8161131f60005490565b61132991906141b9565b11156113475760405162461bcd60e51b8152600401610c98906141cc565b6113513382612d53565b50565b60008281526009602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b03169282019290925282916113c95750604080518082019091526008546001600160a01b0381168252600160a01b90046001600160601b031660208201525b6020810151600090612710906113e8906001600160601b03168761429c565b6113f291906142b3565b91519350909150505b9250929050565b6002600b54036114245760405162461bcd60e51b8152600401610c989061416c565b6002600b5532331461143557600080fd5b600e546000908152601060205260409020600f54610100900460ff1680156114605750600681015415155b6114bd5760405162461bcd60e51b815260206004820152602860248201527f50726573616c65206d696e742076696120616c6c6f776c697374206973206e6f604482015267742061637469766560c01b6064820152608401610c98565b600033856040516020016114d292919061427a565b60405160208183030381529060405280519060200120905061152b848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250505050600684015483612d6d565b61156e5760405162461bcd60e51b815260206004820152601460248201527324b73b30b634b21026b2b935b63290283937b7b360611b6044820152606401610c98565b3486836001015461157f919061429c565b1461159c5760405162461bcd60e51b8152600401610c98906142d5565b33600090815260098301602052604090205485906115bb9088906141b9565b11156115d95760405162461bcd60e51b8152600401610c9890614319565b60038201546115e99060016141b9565b866115f360005490565b6115fd91906141b9565b111561161b5760405162461bcd60e51b8152600401610c98906141cc565b3360009081526009830160205260408120805488929061163c9084906141b9565b9091555061107190503387612d53565b6002600b540361166e5760405162461bcd60e51b8152600401610c989061416c565b6002600b5532331461167f57600080fd5b600f5462010000900460ff166116d75760405162461bcd60e51b815260206004820152601b60248201527f4d696e7420766961206275726e206973206e6f742061637469766500000000006044820152606401610c98565b600e54600090815260106020526040902060038101546116f89060016141b9565b6000546117069060016141b9565b11156117245760405162461bcd60e51b8152600401610c98906141cc565b61172d82611ff9565b6001600160a01b0316336001600160a01b03161461175d5760405162461bcd60e51b8152600401610c989061422a565b80600401548210158015611775575080600501548211155b6117bd5760405162461bcd60e51b8152602060048201526019602482015278125b9d985b1a5908189d5c9b98589b19481d1bdad95b881a59603a1b6044820152606401610c98565b6117c682612d48565b6117d1336001612d53565b50506001600b55565b6117e2612bbc565b476113516117f8600a546001600160a01b031690565b82612df2565b61181983838360405180602001604052806000815250612545565b505050565b61182781611ff9565b6001600160a01b0316336001600160a01b0316146118575760405162461bcd60e51b8152600401610c989061422a565b61135181612d48565b611868612bbc565b600086116118b85760405162461bcd60e51b815260206004820152601b60248201527f656e6420746f6b656e2067726561746572207468616e207a65726f00000000006044820152606401610c98565b6000601060006118c7600c5490565b815260208101919091526040016000208a8155600181018a905560028101899055600381018890556004810187905560058101869055600681018590556007810180546001600160a01b0386166001600160a01b031990911617905560088101839055905061193a600c80546001019055565b50505050505050505050565b61194e612bbc565b600e55565b6002600b54036119755760405162461bcd60e51b8152600401610c989061416c565b6002600b5532331461198657600080fd5b600e546000908152601060205260409020600f54610100900460ff1680156119b15750600881015415155b611a0f5760405162461bcd60e51b815260206004820152602960248201527f50726573616c65206d696e7420766961206672656520636c61696d206973206e6044820152686f742061637469766560b81b6064820152608401610c98565b60003385604051602001611a2492919061427a565b604051602081830303815290604052805190602001209050611a7d848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250505050600884015483612d6d565b611ac05760405162461bcd60e51b815260206004820152601460248201527324b73b30b634b21026b2b935b63290283937b7b360611b6044820152606401610c98565b336000908152600a830160205260409020548590611adf9088906141b9565b1115611afd5760405162461bcd60e51b8152600401610c9890614319565b6003820154611b0d9060016141b9565b86611b1760005490565b611b2191906141b9565b1115611b3f5760405162461bcd60e51b8152600401610c98906141cc565b336000908152600a830160205260408120805488929061163c9084906141b9565b611b68612bbc565b600d610cab82826143a7565b611b7c612bbc565b600f805460ff19811660ff90911615179055565b6060816000816001600160401b03811115611bad57611bad613c05565b604051908082528060200260200182016040528015611bff57816020015b604080516080810182526000808252602080830182905292820181905260608201528252600019909201910181611bcb5790505b50905060005b828114611c5257611c2d868683818110611c2157611c21614214565b9050602002013561258f565b828281518110611c3f57611c3f614214565b6020908102919091010152600101611c05565b50949350505050565b611c63612bbc565b600082815260106020526040902060030154611c9b5760405162461bcd60e51b81526020600482015260006024820152604401610c98565b60009182526010602052604090912060070180546001600160a01b0319166001600160a01b03909216919091179055565b6002600b5403611cee5760405162461bcd60e51b8152600401610c989061416c565b6002600b55323314611cff57600080fd5b600e546000908152601060205260409020600f54610100900460ff168015611d33575060078101546001600160a01b031615155b611d8d5760405162461bcd60e51b815260206004820152602560248201527f50726573616c65206d696e7420766961207469636b6574206973206e6f742061604482015264637469766560d81b6064820152608401610c98565b600e54604080517f3fcdccad810477dde47a433669f78cab5a36dea07b1addc5fbe1584a7d1d814b60208201523391810191909152606081019190915260808101859052600090611df69060a00160405160208183030381529060405280519060200120612f0b565b90506000611e3a8286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612f5992505050565b60078401549091506001600160a01b03808316911614611e8d5760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908151a58dad95d60921b6044820152606401610c98565b34878460010154611e9e919061429c565b14611ebb5760405162461bcd60e51b8152600401610c98906142d5565b3360009081526009840160205260409020548690611eda9089906141b9565b1115611ef85760405162461bcd60e51b8152600401610c9890614319565b6003830154611f089060016141b9565b87611f1260005490565b611f1c91906141b9565b1115611f3a5760405162461bcd60e51b8152600401610c98906141cc565b33600090815260098401602052604081208054899290611f5b9084906141b9565b90915550611f6b90503388612d53565b50506001600b555050505050565b611f81612bbc565b60005b8251811015611819578160106000600e548152602001908152602001600020600a016000858481518110611fba57611fba614214565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020819055508080611ff190614261565b915050611f84565b6000610c1b82612d83565b61200c612bbc565b600f805462ff0000198116620100009182900460ff1615909102179055565b60006001600160a01b038216612054576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b03166000908152600560205260409020546001600160401b031690565b60606000612086600c5490565b6001600160401b0381111561209d5761209d613c05565b6040519080825280602002602001820160405280156120c6578160200160208202803683370190505b50905060005b600c5481101561212d5760008181526010602090815260408083206001600160a01b0388168452600901909152902054825183908390811061211057612110614214565b60209081029190910101528061212581614261565b9150506120cc565b5092915050565b61213c612bbc565b6121466000612f7d565b565b612150612bbc565b6000828152601060205260409020600301546121885760405162461bcd60e51b81526020600482015260006024820152604401610c98565b60009182526010602052604090912060060155565b606060008060006121ad8561202b565b90506000816001600160401b038111156121c9576121c9613c05565b6040519080825280602002602001820160405280156121f2578160200160208202803683370190505b50905061221f60408051608081018252600080825260208201819052918101829052606081019190915290565b60015b8386146122995761223281612fcf565b915081604001516122915781516001600160a01b03161561225257815194505b876001600160a01b0316856001600160a01b031603612291578083878060010198508151811061228457612284614214565b6020026020010181815250505b600101612222565b50909695505050505050565b606060038054610cbe90614132565b60608183106122d657604051631960ccad60e11b815260040160405180910390fd5b6000806122e260005490565b905060018510156122f257600194505b808411156122fe578093505b60006123098761202b565b9050848610156123285785850381811015612322578091505b5061232c565b5060005b6000816001600160401b0381111561234657612346613c05565b60405190808252806020026020018201604052801561236f578160200160208202803683370190505b5090508160000361238557935061110092505050565b60006123908861258f565b9050600081604001516123a1575080515b885b8881141580156123b35750848714155b15612428576123c181612fcf565b925082604001516124205782516001600160a01b0316156123e157825191505b8a6001600160a01b0316826001600160a01b031603612420578084888060010199508151811061241357612413614214565b6020026020010181815250505b6001016123a3565b505050928352509095945050505050565b612441612bbc565b60008a8152601060205260409020600301546124795760405162461bcd60e51b81526020600482015260006024820152604401610c98565b6000998a52601060205260409099209788556001880196909655600287019490945560038601929092556004850155600584015560068301556007820180546001600160a01b0319166001600160a01b0390921691909117905560080155565b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b61255084848461115c565b6001600160a01b0383163b156125895761256c8484848461300b565b612589576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b60408051608081018252600080825260208201819052918101829052606081019190915260408051608081018252600080825260208201819052918101829052606081019190915260018310806125e857506000548310155b156125f35792915050565b6125fc83612fcf565b905080604001511561260e5792915050565b611100836130f7565b61261f612bbc565b60005b8251811015611819578160106000600e548152602001908152602001600020600901600085848151811061265857612658614214565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002081905550808061268f90614261565b915050612622565b60606126a282612d13565b6126bf57604051630a14c4b560e41b815260040160405180910390fd5b60006126c961312c565b905080516000036126e95760405180602001604052806000815250611100565b806126f38461313b565b604051602001612704929190614466565b6040516020818303038152906040529392505050565b6002600b540361273c5760405162461bcd60e51b8152600401610c989061416c565b6002600b5532331461274d57600080fd5b600f5460ff166127945760405162461bcd60e51b81526020600482015260126024820152714d696e74206973206e6f742061637469766560701b6044820152606401610c98565b600e546000908152601060205260409020600281015482111561280a5760405162461bcd60e51b815260206004820152602860248201527f596f752077656e74206f766572206d617820746f6b656e7320706572207472616044820152673739b0b1ba34b7b760c11b6064820152608401610c98565b600381015461281a9060016141b9565b8261282460005490565b61282e91906141b9565b111561284c5760405162461bcd60e51b8152600401610c98906141cc565b8054349061285b90849061429c565b146128785760405162461bcd60e51b8152600401610c98906142d5565b6117d13383612d53565b600080338360405160200161289892919061427a565b6040516020818303038152906040528051906020012090506110fc8585808060200260200160405190810160405280939291908181526020018383602002808284376000920182905250600e548152601060205260409020600801549250859150612d6d9050565b6000818152601060205260408120600301546129555760405162461bcd60e51b815260206004820152601460248201527310dbdb5a58c8191bd95cc81b9bdd08195e1a5cdd60621b6044820152606401610c98565b5060009081526010602090815260408083206001600160a01b0394909416835260099093019052205490565b6002600b54036129a35760405162461bcd60e51b8152600401610c989061416c565b6002600b5560005b81518110156117d1576129d68282815181106129c9576129c9614214565b6020026020010151611ff9565b6001600160a01b0316336001600160a01b031614612a065760405162461bcd60e51b8152600401610c989061422a565b612a28828281518110612a1b57612a1b614214565b6020026020010151612d48565b80612a3281614261565b9150506129ab565b612a42612bbc565b600e54600090815260106020526040902060030154612a629060016141b9565b81612a6c60005490565b612a7691906141b9565b1115612a945760405162461bcd60e51b8152600401610c98906141cc565b610cab8282612d53565b612aa6612bbc565b6001600160a01b038116612b0b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610c98565b61135181612f7d565b612b1c612bbc565b600f805461ff001981166101009182900460ff1615909102179055565b60006301ffc9a760e01b6001600160e01b031983161480612b6a57506380ac58cd60e01b6001600160e01b03198316145b80610c1b5750506001600160e01b031916635b5e139f60e01b1490565b60006001600160e01b0319821663152a902d60e11b1480610c1b57506301ffc9a760e01b6001600160e01b0319831614610c1b565b600a546001600160a01b031633146121465760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c98565b6127106001600160601b0382161115612c845760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b6064820152608401610c98565b6001600160a01b038216612cda5760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c6964207265636569766572000000000000006044820152606401610c98565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600855565b600081600111158015612d27575060005482105b8015610c1b575050600090815260046020526040902054600160e01b161590565b61135181600061317f565b610cab8282604051806020016040528060008152506132b7565b600082612d7a8584613324565b14949350505050565b60008180600111612dd957600054811015612dd95760008181526004602052604081205490600160e01b82169003612dd7575b80600003611100575060001901600081815260046020526040902054612db6565b505b604051636f96cda160e11b815260040160405180910390fd5b80471015612e425760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610c98565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612e8f576040519150601f19603f3d011682016040523d82523d6000602084013e612e94565b606091505b50509050806118195760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610c98565b6000610c1b612f18613369565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000806000612f688585613490565b91509150612f75816134d2565b509392505050565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b604080516080810182526000808252602082018190529181018290526060810191909152600082815260046020526040902054610c1b90613688565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290613040903390899088908890600401614495565b6020604051808303816000875af192505050801561307b575060408051601f3d908101601f19168201909252613078918101906144d2565b60015b6130d9573d8080156130a9576040519150601f19603f3d011682016040523d82523d6000602084013e6130ae565b606091505b5080516000036130d1576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490505b949350505050565b604080516080810182526000808252602082018190529181018290526060810191909152610c1b61312783612d83565b613688565b6060600d8054610cbe90614132565b606060a06040510180604052602081039150506000815280825b600183039250600a81066030018353600a9004806131555750819003601f19909101908152919050565b600061318a83612d83565b9050806000806131a886600090815260066020526040902080549091565b9150915084156131e8576131bd8184336111b1565b6131e8576131cb8333610b49565b6131e857604051632ce44b5f60e11b815260040160405180910390fd5b80156131f357600082555b6001600160a01b038316600081815260056020526040902080546fffffffffffffffffffffffffffffffff0190554260a01b17600360e01b17600087815260046020526040812091909155600160e11b851690036132815760018601600081815260046020526040812054900361327f57600054811461327f5760008181526004602052604090208590555b505b60405186906000906001600160a01b03861690600080516020614506833981519152908390a45050600180548101905550505050565b6132c183836136cf565b6001600160a01b0383163b15611819576000548281035b6132eb600086838060010194508661300b565b613308576040516368d2bf6b60e11b815260040160405180910390fd5b8181106132d857816000541461331d57600080fd5b5050505050565b600081815b8451811015612f75576133558286838151811061334857613348614214565b60200260200101516137a9565b91508061336181614261565b915050613329565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156133c257507f000000000000000000000000000000000000000000000000000000000000000046145b156133ec57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b60008082516041036134c65760208301516040840151606085015160001a6134ba878285856137d5565b945094505050506113fb565b506000905060026113fb565b60008160048111156134e6576134e66144ef565b036134ee5750565b6001816004811115613502576135026144ef565b0361354f5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610c98565b6002816004811115613563576135636144ef565b036135b05760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610c98565b60038160048111156135c4576135c46144ef565b0361361c5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610c98565b6004816004811115613630576136306144ef565b036113515760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610c98565b604080516080810182526001600160a01b038316815260a083901c6001600160401b03166020820152600160e01b831615159181019190915260e89190911c606082015290565b60008054908290036136f45760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b03831660008181526005602090815260408083208054680100000000000000018802019055848352600490915281206001851460e11b4260a01b178317905582840190839083906000805160206145068339815191528180a4600183015b81811461377f5780836000600080516020614506833981519152600080a4600101613759565b50816000036137a057604051622e076360e81b815260040160405180910390fd5b60005550505050565b60008183106137c5576000828152602084905260409020611100565b5060009182526020526040902090565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561380c57506000905060036138b9565b8460ff16601b1415801561382457508460ff16601c14155b1561383557506000905060046138b9565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015613889573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166138b2576000600192509250506138b9565b9150600090505b94509492505050565b6001600160e01b03198116811461135157600080fd5b6000602082840312156138ea57600080fd5b8135611100816138c2565b80356001600160a01b038116811461390c57600080fd5b919050565b6000806040838503121561392457600080fd5b61392d836138f5565b915060208301356001600160601b038116811461394957600080fd5b809150509250929050565b60006020828403121561396657600080fd5b611100826138f5565b60005b8381101561398a578181015183820152602001613972565b50506000910152565b600081518084526139ab81602086016020860161396f565b601f01601f19169290920160200192915050565b6020815260006111006020830184613993565b6000602082840312156139e457600080fd5b5035919050565b600080604083850312156139fe57600080fd5b613a07836138f5565b946020939093013593505050565b60008083601f840112613a2757600080fd5b5081356001600160401b03811115613a3e57600080fd5b6020830191508360208260051b85010111156113fb57600080fd5b60008060208385031215613a6c57600080fd5b82356001600160401b03811115613a8257600080fd5b613a8e85828601613a15565b90969095509350505050565b600080600060408486031215613aaf57600080fd5b83356001600160401b03811115613ac557600080fd5b613ad186828701613a15565b909790965060209590950135949350505050565b60008060408385031215613af857600080fd5b50508035926020909101359150565b600080600060608486031215613b1c57600080fd5b613b25846138f5565b9250613b33602085016138f5565b9150604084013590509250925092565b60008060008060608587031215613b5957600080fd5b843593506020850135925060408501356001600160401b03811115613b7d57600080fd5b613b8987828801613a15565b95989497509550505050565b60008060008060008060008060006101208a8c031215613bb457600080fd5b8935985060208a0135975060408a0135965060608a0135955060808a0135945060a08a0135935060c08a01359250613bee60e08b016138f5565b91506101008a013590509295985092959850929598565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715613c4357613c43613c05565b604052919050565b60006001600160401b03831115613c6457613c64613c05565b613c77601f8401601f1916602001613c1b565b9050828152838383011115613c8b57600080fd5b828260208301376000602084830101529392505050565b600060208284031215613cb457600080fd5b81356001600160401b03811115613cca57600080fd5b8201601f81018413613cdb57600080fd5b6130ef84823560208401613c4b565b80516001600160a01b031682526020808201516001600160401b03169083015260408082015115159083015260609081015162ffffff16910152565b6020808252825182820181905260009190848201906040850190845b8181101561229957613d55838551613cea565b9284019260809290920191600101613d42565b60008060408385031215613d7b57600080fd5b82359150613d8b602084016138f5565b90509250929050565b60008060008060608587031215613daa57600080fd5b843593506020850135925060408501356001600160401b0380821115613dcf57600080fd5b818701915087601f830112613de357600080fd5b813581811115613df257600080fd5b886020828501011115613e0457600080fd5b95989497505060200194505050565b60006001600160401b03821115613e2c57613e2c613c05565b5060051b60200190565b60008060408385031215613e4957600080fd5b82356001600160401b03811115613e5f57600080fd5b8301601f81018513613e7057600080fd5b80356020613e85613e8083613e13565b613c1b565b82815260059290921b83018101918181019088841115613ea457600080fd5b938201935b83851015613ec957613eba856138f5565b82529382019390820190613ea9565b98969091013596505050505050565b6020808252825182820181905260009190848201906040850190845b8181101561229957835183529284019291840191600101613ef4565b600080600060608486031215613f2557600080fd5b613f2e846138f5565b95602085013595506040909401359392505050565b6000806000806000806000806000806101408b8d031215613f6357600080fd5b8a35995060208b0135985060408b0135975060608b0135965060808b0135955060a08b0135945060c08b0135935060e08b01359250613fa56101008c016138f5565b91506101208b013590509295989b9194979a5092959850565b60008060408385031215613fd157600080fd5b613fda836138f5565b91506020830135801515811461394957600080fd5b6000806000806080858703121561400557600080fd5b61400e856138f5565b935061401c602086016138f5565b92506040850135915060608501356001600160401b0381111561403e57600080fd5b8501601f8101871361404f57600080fd5b61405e87823560208401613c4b565b91505092959194509250565b60808101610c1b8284613cea565b6000602080838503121561408b57600080fd5b82356001600160401b038111156140a157600080fd5b8301601f810185136140b257600080fd5b80356140c0613e8082613e13565b81815260059190911b820183019083810190878311156140df57600080fd5b928401925b828410156140fd578335825292840192908401906140e4565b979650505050505050565b6000806040838503121561411b57600080fd5b614124836138f5565b9150613d8b602084016138f5565b600181811c9082168061414657607f821691505b60208210810361416657634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820180821115610c1b57610c1b6141a3565b60208082526028908201527f4e6f7420656e6f75676820746f6b656e73206c65667420746f206d696e742074604082015267686174206d616e7960c01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b60208082526018908201527f596f7520646f206e6f74206f776e2074686520746f6b656e0000000000000000604082015260600190565b600060018201614273576142736141a3565b5060010190565b60609290921b6bffffffffffffffffffffffff19168252601482015260340190565b8082028115828204841417610c1b57610c1b6141a3565b6000826142d057634e487b7160e01b600052601260045260246000fd5b500490565b60208082526024908201527f596f752073656e742074686520696e636f727265637420616d6f756e74206f666040820152630408aa8960e31b606082015260800190565b60208082526028908201527f436c61696d3a204e6f7420616c6c6f77656420746f20636c61696d20676976656040820152671b88185b5bdd5b9d60c21b606082015260800190565b601f82111561181957600081815260208120601f850160051c810160208610156143885750805b601f850160051c820191505b818110156112e557828155600101614394565b81516001600160401b038111156143c0576143c0613c05565b6143d4816143ce8454614132565b84614361565b602080601f83116001811461440957600084156143f15750858301515b600019600386901b1c1916600185901b1785556112e5565b600085815260208120601f198616915b8281101561443857888601518255948401946001909101908401614419565b50858210156144565787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000835161447881846020880161396f565b83519083019061448c81836020880161396f565b01949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906144c890830184613993565b9695505050505050565b6000602082840312156144e457600080fd5b8151611100816138c2565b634e487b7160e01b600052602160045260246000fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212204e7913a1e90e9ba8efbe38f486bf62eb376337334e5087bfd2161890470d653264736f6c63430008110033