60806040523480156200001157600080fd5b50604051620039e1380380620039e18339810160409081528151602083015191830151606084015191939290920191908282826000806200007b7f01ffc9a70000000000000000000000000000000000000000000000000000000064010000000062000285810204565b620000af7f5b5e139f0000000000000000000000000000000000000000000000000000000064010000000062000285810204565b60068054600160a060020a031916331790558451915060008211620000d357600080fd5b50600a805460ff8481166101000261ff001991871660ff19909316929092171617905560005b81811015620001da5784516000908690839081106200011457fe5b60209081029091010151600160a060020a031614156200013357600080fd5b60016009600087848151811015156200014857fe5b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff191691151591909117905584517f8e15bf46bd11add443414ada75aa9592a4af68f3f2ec02ae3d49572f9843c2a890869083908110620001ab57fe5b602090810290910181015160408051600160a060020a039092168252519081900390910190a1600101620000f9565b50509151600b555050600160a060020a03841615156200025b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f476174657761792073686f756c642062652076616c6964206164647265737300604482015290519081900360640190fd5b5050600d8054600160a060020a031916600160a060020a03939093169290921790915550620002f2565b7fffffffff000000000000000000000000000000000000000000000000000000008082161415620002b557600080fd5b7fffffffff00000000000000000000000000000000000000000000000000000000166000908152602081905260409020805460ff19166001179055565b6136df80620003026000396000f30060806040526004361061024f5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041662fdd58e811461025457806301ffc9a71461028a57806306fdde03146102c0578063081812fc1461034a578063095bcdb61461037e578063095ea7b3146103a75780630febdd49146103cb5780631051db34146103f857806315c75f891461040d57806317be19331461042e57806317fad7fc1461044657806318160ddd146104ea578063182ca0db146104ff57806319fa8f501461054757806321cda7901461057957806323b872dd146106335780632eb2c2d61461065d5780632f745c591461073f578063310495ab1461076357806337a155031461077b57806342842e0e1461079357806345f0edb7146107bd5780634f558e79146107d85780634f6ccce7146107f05780635d593f8d146108085780636352211e1461081d5780636e5ed9791461083557806370a082311461084d578063715018a61461086e578063797327ae146108835780637ecebe00146108a45780638276b630146103f85780638d43f0bf146108c55780638da5cb5b1461091557806390b616c81461092a57806395d89b411461096f578063a22cb46514610984578063aaf11829146109aa578063ac1dc21a146109ee578063affed0e014610a12578063b68e6fea14610a27578063b88d4fde14610a4f578063c7e7f6f614610abe578063c87b56dd14610b03578063e744092e14610b1b578063e985e9c514610b3c578063f242432a14610b63578063f2fde38b14610bda578063fe99049a14610bfb575b600080fd5b34801561026057600080fd5b50610278600160a060020a0360043516602435610c28565b60408051918252519081900360200190f35b34801561029657600080fd5b506102ac600160e060020a031960043516610c78565b604080519115158252519081900360200190f35b3480156102cc57600080fd5b506102d5610c9b565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561030f5781810151838201526020016102f7565b50505050905090810190601f16801561033c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561035657600080fd5b50610362600435610cd3565b60408051600160a060020a039092168252519081900360200190f35b34801561038a57600080fd5b506103a5600160a060020a0360043516602435604435610cee565b005b3480156103b357600080fd5b506103a5600160a060020a0360043516602435610cff565b3480156103d757600080fd5b506103a5600160a060020a0360043581169060243516604435606435610db5565b34801561040457600080fd5b506102ac610dd8565b34801561041957600080fd5b506103a5600160a060020a0360043516610ddd565b34801561043a57600080fd5b50610278600435610e1a565b34801561045257600080fd5b5060408051602060046044358181013583810280860185019096528085526103a5958335600160a060020a039081169660248035909216963696956064959294930192829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750610e389650505050505050565b3480156104f657600080fd5b50610278610e44565b34801561050b57600080fd5b506103a5602460048035828101929082013591813591604435808201929081013591606435808201929081013591608435908101910135610e4a565b34801561055357600080fd5b5061055c610f0e565b60408051600160e060020a03199092168252519081900360200190f35b34801561058557600080fd5b5061059a600160a060020a0360043516610f32565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156105de5781810151838201526020016105c6565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561061d578181015183820152602001610605565b5050505090500194505050505060405180910390f35b34801561063f57600080fd5b506103a5600160a060020a0360043581169060243516604435611111565b34801561066957600080fd5b5060408051602060046044358181013583810280860185019096528085526103a5958335600160a060020a039081169660248035909216963696956064959294930192829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a99890198929750908201955093508392508501908490808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375094975061111c9650505050505050565b34801561074b57600080fd5b50610278600160a060020a0360043516602435611313565b34801561076f57600080fd5b506102d560043561131b565b34801561078757600080fd5b506102786004356113b6565b34801561079f57600080fd5b506103a5600160a060020a03600435811690602435166044356113c8565b3480156107c957600080fd5b506103a56004356024356113e4565b3480156107e457600080fd5b506102ac60043561146e565b3480156107fc57600080fd5b5061027860043561148b565b34801561081457600080fd5b506102786114c0565b34801561082957600080fd5b506103626004356114c6565b34801561084157600080fd5b50610278600435611550565b34801561085957600080fd5b50610278600160a060020a0360043516611562565b34801561087a57600080fd5b506103a5611578565b34801561088f57600080fd5b506102ac600160a060020a03600435166115e6565b3480156108b057600080fd5b50610278600160a060020a0360043516611626565b3480156108d157600080fd5b506108dd600435611638565b604080519788526020880196909652868601949094526060860192909252608085015260a084015260c0830152519081900360e00190f35b34801561092157600080fd5b50610362611676565b34801561093657600080fd5b506103a560048035600160a060020a03169060248035808201929081013591604435808201929081013591606435908101910135611685565b34801561097b57600080fd5b506102d56118c3565b34801561099057600080fd5b506103a5600160a060020a036004351660243515156118fa565b3480156109b657600080fd5b506103a56024600480358281019290820135918135808301929082013591604435808301929082013591606435918201910135611968565b3480156109fa57600080fd5b506103a56004803590602480359081019101356119e7565b348015610a1e57600080fd5b50610278611b16565b348015610a3357600080fd5b506103a560048035906024803591604435918201910135611b1c565b348015610a5b57600080fd5b50604080516020601f6064356004818101359283018490048402850184019095528184526103a594600160a060020a038135811695602480359092169560443595369560849401918190840183828082843750949750611c519650505050505050565b348015610aca57600080fd5b506103a560048035600160a060020a03169060248035808201929081013591604435808201929081013591606435908101910135611ce4565b348015610b0f57600080fd5b506102d5600435611efa565b348015610b2757600080fd5b506102ac600160a060020a0360043516612074565b348015610b4857600080fd5b506102ac600160a060020a0360043581169060243516612089565b348015610b6f57600080fd5b50604080516020601f6084356004818101359283018490048402850184019095528184526103a594600160a060020a0381358116956024803590921695604435956064359536959460a494939101919081908401838280828437509497506120b79650505050505050565b348015610be657600080fd5b506103a5600160a060020a0360043516612153565b348015610c0757600080fd5b506103a5600160a060020a0360043581169060243516604435606435612176565b6000806000610c3684612182565b600160a060020a03871660009081526002602090815260408083208584529091529020549193509150610c6f908263ffffffff61219316565b95945050505050565b600160e060020a0319811660009081526020819052604090205460ff165b919050565b60408051808201909152601681527f5a6f6d626965426174746c6567726f756e64436172640000000000000000000060208201525b90565b600090815260056020526040902054600160a060020a031690565b610cfa338484846121a9565b505050565b6000610d0a826114c6565b9050600160a060020a038381169082161415610d2557600080fd5b33600160a060020a0382161480610d415750610d418133612089565b1515610d4c57600080fd5b600082815260056020526040808220805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b610dd28484848460206040519081016040528060008152506120b7565b50505050565b600190565b610de6336115e6565b1515610df157600080fd5b600160a060020a03166000908152600760205260409020805460ff19811660ff90911615179055565b6000818152600f6020526040812054610e32906123b4565b92915050565b610dd2848484846123ce565b60015490565b6000808811610ea3576040805160e560020a62461bcd02815260206004820152600b60248201527f496e76616c696420444e41000000000000000000000000000000000000000000604482015290519081900360640190fd5b610eab610e44565b6000818152600f60209081526040918290208b90558151601f8d018290048202810182019092528b8252919250610f02918c908c908190840183828082843782019150505050505082610efd8b6123b4565b612890565b50505050505050505050565b7f01ffc9a70000000000000000000000000000000000000000000000000000000081565b6060806000806060806000606080610f48610e44565b965060008711610f59576001610f5b565b865b604051908082528060200260200182016040528015610f84578160200160208202803883390190505b50945060008711610f96576001610f98565b865b604051908082528060200260200182016040528015610fc1578160200160208202803883390190505b509350600092505b86831015611031576000610fdd8b85610c28565b111561102657610fed8a84610c28565b8487815181101515610ffb57fe5b602090810290910101528451839086908890811061101557fe5b602090810290910101526001909501945b600190920191610fc9565b8560405190808252806020026020018201604052801561105b578160200160208202803883390190505b50915085604051908082528060200260200182016040528015611088578160200160208202803883390190505b509050600092505b858310156111035783838151811015156110a657fe5b9060200190602002015182848151811015156110be57fe5b6020908102909101015284518590849081106110d657fe5b9060200190602002015181848151811015156110ee57fe5b60209081029091010152600190920191611090565b999098509650505050505050565b610cfa838383612920565b600061112a868686866123ce565b61113c85600160a060020a0316612abb565b1561130b576040517fe9e5be6a0000000000000000000000000000000000000000000000000000000081523360048201818152600160a060020a03898116602485015260a060448501908152885160a48601528851918a169463e9e5be6a94938c938b938b938b93926064820191608481019160c4909101906020808a01910280838360005b838110156111da5781810151838201526020016111c2565b50505050905001848103835286818151815260200191508051906020019060200280838360005b83811015611219578181015183820152602001611201565b50505050905001848103825285818151815260200191508051906020019080838360005b8381101561125557818101518382015260200161123d565b50505050905090810190601f1680156112825780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600087803b1580156112a757600080fd5b505af11580156112bb573d6000803e3d6000fd5b505050506040513d60208110156112d157600080fd5b50519050600160e060020a031981167fe9e5be6a000000000000000000000000000000000000000000000000000000001461130b57600080fd5b505050505050565b600092915050565b60106020908152600091825260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845290918301828280156113ae5780601f10611383576101008083540402835291602001916113ae565b820191906000526020600020905b81548152906001019060200180831161139157829003601f168201915b505050505081565b600e6020526000908152604090205481565b610cfa8383836020604051908101604052806000815250611c51565b600082815260036020526040902054600160a060020a031615611451576040805160e560020a62461bcd02815260206004820152601b60248201527f596f7520617265207472616e7366657272696e6720616e204e46540000000000604482015290519081900360640190fd5b600d5461146a903390600160a060020a03168484610db5565b5050565b600090815260036020526040902054600160a060020a0316151590565b6000611495610e44565b82106114a057600080fd5b60018054839081106114ae57fe5b90600052602060002001549050919050565b600b5481565b600081815260036020526040812054600160a060020a03161515611534576040805160e560020a62461bcd02815260206004820152600a60248201527f4e6f7420616e204e465400000000000000000000000000000000000000000000604482015290519081900360640190fd5b50600090815260036020526040902054600160a060020a031690565b600f6020526000908152604090205481565b6000606061156f83610f32565b51949350505050565b600654600160a060020a0316331461158f57600080fd5b600654604051600160a060020a03909116907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a26006805473ffffffffffffffffffffffffffffffffffffffff19169055565b600654600090600160a060020a038381169116141561160757506001610c96565b50600160a060020a031660009081526009602052604090205460ff1690565b60086020526000908152604090205481565b600080600080600080600061165f600f60008a815260200190815260200160002054612ac3565b959e949d50929b5090995097509550909350915050565b600654600160a060020a031681565b604080517f61646400000000000000000000000000000000000000000000000000000000006020808301919091526c01000000000000000000000000600160a060020a038b1602602383015282516017818403018152603790920192839052815161174693918291908401908083835b602083106117145780518252601f1990920191602091820191016116f5565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020612b63565b8686808060200260200160405190810160405280939291908181526020018383602002808284375050604080516020808c0282810182019093528b82529095508b94508a93508392508501908490808284375050604080516020808b0282810182019093528a82529095508a94508993508392508501908490808284378201915050505050506117d884848484612c1b565b600160a060020a038b1660009081526009602052604090205460ff1615611849576040805160e560020a62461bcd02815260206004820152601360248201527f416c726561647920612076616c696461746f7200000000000000000000000000604482015290519081900360640190fd5b600160a060020a038b16600081815260096020908152604091829020805460ff19166001908117909155600b80549091019055815192835290517f8e15bf46bd11add443414ada75aa9592a4af68f3f2ec02ae3d49572f9843c2a89281900390910190a15050600c80546001019055505050505050505050565b60408051808201909152600381527f5a42430000000000000000000000000000000000000000000000000000000000602082015290565b336000818152600460209081526040808320600160a060020a03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6000611972610e44565b600081815260036020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff1916301790558151601f8c018290048202810182019092528a82529192506119dc918b908b9081908401838280828437820191505050505050826001612890565b505050505050505050565b6119f13084610c28565b600114611a48576040805160e560020a62461bcd02815260206004820152601360248201527f7573657220646f65736e74206f776e206e667400000000000000000000000000604482015290519081900360640190fd5b6000838152600e602052604090205415611aac576040805160e560020a62461bcd02815260206004820152601f60248201527f6e66742063616e6e6f74206578697374206d6f7265207468616e206f6e636500604482015290519081900360640190fd5b6000838152600360205260409020805473ffffffffffffffffffffffffffffffffffffffff191633179055611ae2836001612f0f565b6040518390339030907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90600090a4505050565b600c5481565b82611b273086610c28565b1015611ba3576040805160e560020a62461bcd02815260206004820152602360248201527f636f6e747261637420646f6573206e6f74206f776e20656e6f75676820746f6b60448201527f656e730000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b611bac84610e1a565b6000858152600e6020526040902054611bcb908563ffffffff612f9a16565b1115611c47576040805160e560020a62461bcd02815260206004820152602660248201527f436c61696d696e672067726561746572207468616e206d617820746f6b656e2060448201527f737570706c790000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b610dd28484612f0f565b611c5c848484612920565b611c6884848484612fa7565b1515610dd2576040805160e560020a62461bcd02815260206004820152603260248201527f53656e7420746f206120636f6e7472616374207768696368206973206e6f742060448201527f616e204552433732312072656365697665720000000000000000000000000000606482015290519081900360840190fd5b604080517f72656d6f766500000000000000000000000000000000000000000000000000006020808301919091526c01000000000000000000000000600160a060020a038b160260268301528251601a818403018152603a909201928390528151611d729391829190840190808383602083106117145780518252601f1990920191602091820191016116f5565b8686808060200260200160405190810160405280939291908181526020018383602002808284375050604080516020808c0282810182019093528b82529095508b94508a93508392508501908490808284375050604080516020808b0282810182019093528a82529095508a9450899350839250850190849080828437820191505050505050611e0484848484612c1b565b600160a060020a038b1660009081526009602052604090205460ff161515611e76576040805160e560020a62461bcd02815260206004820152600f60248201527f4e6f7420612076616c696461746f720000000000000000000000000000000000604482015290519081900360640190fd5b600b54600110611e8557600080fd5b600160a060020a038b16600081815260096020908152604091829020805460ff19169055600b8054600019019055815192835290517fb625c55cf7e37b54fcd18bc4edafdf3f4f9acd59a5ec824c77c795dcb2d650709281900390910190a15050600c80546001019055505050505050505050565b60408051606081018252603181527f68747470733a2f2f72696e6b6562792e6c6f6f6d2e67616d65732f657263373260208201527f312f7a6d622f3030303030302e6a736f6e00000000000000000000000000000091810191909152807fff00000000000000000000000000000000000000000000000000000000000000600a61271085040660300160f860020a0216600081901a604783015350600a6103e884040660300160f860020a02816028815181101515611fb557fe5b906020010190600160f860020a031916908160001a905350600a606484040660300160f860020a02816029815181101515611fec57fe5b906020010190600160f860020a031916908160001a905350600a8084040660300160f860020a0281602a81518110151561202257fe5b906020010190600160f860020a031916908160001a905350600a830660300160f860020a0281602b81518110151561205657fe5b906020010190600160f860020a031916908160001a90535050919050565b60076020526000908152604090205460ff1681565b600160a060020a03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6120c3858585856121a9565b6120d08585858585613114565b151561214c576040805160e560020a62461bcd02815260206004820152603360248201527f53656e7420746f206120636f6e7472616374207768696368206973206e6f742060448201527f616e204552435858585820726563656976657200000000000000000000000000606482015290519081900360840190fd5b5050505050565b600654600160a060020a0316331461216a57600080fd5b6121738161328b565b50565b610dd2848484846121a9565b610100601082020491600f90911690565b6001016010026101000360020a900461ffff1690565b8333600160a060020a03821614806121e45750600160a060020a038116600090815260046020908152604080832033845290915290205460ff165b1515612260576040805160e560020a62461bcd02815260206004820152602860248201527f6d73672e73656e646572206973206e656974686572205f66726f6d206e6f722060448201527f6f70657261746f72000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b61226a8584610c28565b8211156122e7576040805160e560020a62461bcd02815260206004820152602260248201527f5175616e746974792067726561746572207468616e2066726f6d2062616c616e60448201527f6365000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0384161515612347576040805160e560020a62461bcd02815260206004820152601260248201527f496e76616c696420746f20616464726573730000000000000000000000000000604482015290519081900360640190fd5b6123548584846001613309565b6123618484846000613309565b8284600160a060020a031686600160a060020a03167f59158d23d62750f16cd67dd3dce5fcfeb193d88db7c46f085a2eac8fa5d8b950856040518082815260200191505060405180910390a45050505050565b60006123c1826005613380565b60f060020a900492915050565b60008080808080808a33600160a060020a03821614806124115750600160a060020a038116600090815260046020908152604080832033845290915290205460ff165b151561248d576040805160e560020a62461bcd02815260206004820152602860248201527f6d73672e73656e646572206973206e656974686572205f66726f6d206e6f722060448201527f6f70657261746f72000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b88518a511461250c576040805160e560020a62461bcd02815260206004820152602660248201527f496e636f6e73697374656e74206172726179206c656e6774682062657477656560448201527f6e20617267730000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a038b16151561256c576040805160e560020a62461bcd02815260206004820152601160248201527f496e76616c696420726563697069656e74000000000000000000000000000000604482015290519081900360640190fd5b61258d8a600081518110151561257e57fe5b90602001906020020151612182565b600160a060020a038e1660009081526002602090815260408083208584529091528120548c51939b509199506125da928a918d9181106125c957fe5b9060200190602002015160016133a9565b600160a060020a038c1660009081526002602090815260408083208c84529091528120548b519298506126279290918a918d9190811061261657fe5b9060200190602002015160006133a9565b945089519350879250600191505b8382101561271d5761264e8a8381518110151561257e57fe5b90985096508288146126b657600160a060020a038c811660009081526002602081815260408084208885528083528185209b909b55938f1683529081528282209582528581528282209790975589815296865280872054939095529390942054909390928691905b6126e2878a848151811015156126c857fe5b60209081029091010151889190600163ffffffff6133a916565b9550612710878a848151811015156126f657fe5b60209081029091010151879190600063ffffffff6133a916565b9450600190910190612635565b85600260008e600160a060020a0316600160a060020a0316815260200190815260200160002060008a81526020019081526020016000208190555084600260008d600160a060020a0316600160a060020a0316815260200190815260200160002060008a8152602001908152602001600020819055507ff59807b2c31ca3ba212e90599175c120c556422950bac5be656274483e8581df8c8c8c8c6040518085600160a060020a0316600160a060020a0316815260200184600160a060020a0316600160a060020a031681526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561282c578181015183820152602001612814565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561286b578181015183820152602001612853565b50505050905001965050505050505060405180910390a1505050505050505050505050565b61289d3083836002613309565b600082815260106020908152604090912084516128bc9286019061361b565b5060018054808201825560009182527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601839055604051829184917f5f7666687319b40936f33c188908d86aea154abd3f4127b4fa0a3f04f303c7da9190a3505050565b60008061293685612930856114c6565b85613490565b151561294157600080fd5b600160a060020a03841615156129a1576040805160e560020a62461bcd02815260206004820152601260248201527f496e76616c696420746f20616464726573730000000000000000000000000000604482015290519081900360640190fd5b6129aa83612182565b600160a060020a03871660009081526002602081815260408084208685529091528220549395509193506129e7929184919063ffffffff6133a916565b600160a060020a03808716600090815260026020818152604080842088855282528084209590955592881682528083528382208683529092529190912054612a3991839060019063ffffffff6133a916565b600160a060020a03808616600081815260026020908152604080832088845282528083209590955587825260039052838120805473ffffffffffffffffffffffffffffffffffffffff1916831790559251869391928916917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a45050505050565b6000903b1190565b6000806000806000806000612ad9886006613380565b60f060020a9004612aeb896005613380565b60f060020a9004612afd8a6004613380565b60f060020a9004612b0f8b6003613380565b60f060020a9004612b218c6002613380565b60f060020a9004612b338d6001613380565b60f060020a9004612b458e6000613380565b959e949d50929b509099509750955060f060020a9091049350915050565b3360008181526008602090815260408083205481516c01000000000000000000000000958602818501526034810191909152309094026054850152606880850186905281518086039091018152608890940190819052835192939290918291908401908083835b60208310612be95780518252601f199092019160209182019101612bca565b5181516020939093036101000a6000190180199091169216919091179052604051920182900390912095945050505050565b6000806000806000808851118015612c34575086518851145b8015612c41575085518751145b1515612c97576040805160e560020a62461bcd02815260206004820152601a60248201527f496e636f7272656374206e756d626572206f6620706172616d73000000000000604482015290519081900360640190fd5b600a54600b5460ff61010083048116921602811515612cb257fe5b04885110151515612d0d576040805160e560020a62461bcd02815260206004820152601060248201527f4e6f7420656e6f75676820766f74657300000000000000000000000000000000604482015290519081900360640190fd5b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083018d905283518084039091018152605c90920192839052815191929182918401908083835b60208310612d835780518252601f199092019160209182019101612d64565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902094508751935060009250600091505b838210156119dc576001858984815181101515612dd857fe5b906020019060200201518985815181101515612df057fe5b906020019060200201518986815181101515612e0857fe5b60209081029091018101516040805160008082528185018084529790975260ff9095168582015260608501939093526080840152905160a0808401949293601f19830193908390039091019190865af1158015612e69573d6000803e3d6000fd5b50505060206040510351905082600160a060020a031681600160a060020a0316118015612eae5750600160a060020a03811660009081526009602052604090205460ff165b1515612f04576040805160e560020a62461bcd02815260206004820152601960248201527f4e6f74207369676e656420627920612076616c696461746f7200000000000000604482015290519081900360640190fd5b915060010181612dbf565b612f1c3083836001613309565b612f293383836000613309565b6000828152600e6020526040902054612f48908263ffffffff612f9a16565b6000838152600e6020908152604091829020929092558051338152918201839052805184927f7ebec69a24f70f6adc732c5d495ea40faf1248f959f11feafe0f9bbdc4e07b5a92908290030190a25050565b81810182811015610e3257fe5b600080612fbc85600160a060020a0316612abb565b1515612fcb576001915061310b565b6040517f150b7a020000000000000000000000000000000000000000000000000000000081523360048201818152600160a060020a03898116602485015260448401889052608060648501908152875160848601528751918a169463150b7a0294938c938b938b93909160a490910190602085019080838360005b8381101561305e578181015183820152602001613046565b50505050905090810190601f16801561308b5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1580156130ad57600080fd5b505af11580156130c1573d6000803e3d6000fd5b505050506040513d60208110156130d757600080fd5b5051600160e060020a031981167f150b7a020000000000000000000000000000000000000000000000000000000014925090505b50949350505050565b60008061312986600160a060020a0316612abb565b15156131385760019150613281565b6040517feb510be80000000000000000000000000000000000000000000000000000000081523360048201818152600160a060020a038a81166024850152604484018990526064840188905260a060848501908152875160a48601528751918b169463eb510be894938d938c938c938c939260c490910190602085019080838360005b838110156131d35781810151838201526020016131bb565b50505050905090810190601f1680156132005780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600087803b15801561322357600080fd5b505af1158015613237573d6000803e3d6000fd5b505050506040513d602081101561324d57600080fd5b5051600160e060020a031981167f660b33700000000000000000000000000000000000000000000000000000000014925090505b5095945050505050565b600160a060020a03811615156132a057600080fd5b600654604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008061331585612182565b600160a060020a038816600090815260026020908152604080832085845290915290205491935091506133509082868663ffffffff6133a916565b600160a060020a039096166000908152600260209081526040808320948352939052919091209490945550505050565b600081600681111561338e57fe5b60100260ff16839060020a900460f060020a02905092915050565b600080808360028111156133b957fe5b14156133ec576133c98686612193565b90506133e586866133e0848863ffffffff612f9a16565b6134e3565b915061310b565b60018360028111156133fa57fe5b14156134215761340a8686612193565b90506133e586866133e0848863ffffffff61360916565b600283600281111561342f57fe5b1415613440576133e58686866134e3565b6040805160e560020a62461bcd02815260206004820152601160248201527f496e76616c6964206f7065726174696f6e000000000000000000000000000000604482015290519081900360640190fd5b600082600160a060020a031684600160a060020a031614806134cb575083600160a060020a03166134c083610cd3565b600160a060020a0316145b806134db57506134db8385612089565b949350505050565b6000808080841015613565576040805160e560020a62461bcd02815260206004820152602b60248201527f416d6f756e7420746f20777269746520696e2062696e206e6565647320746f2060448201527f626520706f736974697665000000000000000000000000000000000000000000606482015290519081900360840190fd5b6201000084106135e5576040805160e560020a62461bcd02815260206004820152602360248201527f416d6f756e7420746f20777269746520696e2062696e20697320746f6f206c6160448201527f7267650000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b50505061ffff6001929092016010026101000360020a918202199290921691021790565b60008282111561361557fe5b50900390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061365c57805160ff1916838001178555613689565b82800160010185558215613689579182015b8281111561368957825182559160200191906001019061366e565b50613695929150613699565b5090565b610cd091905b80821115613695576000815560010161369f5600a165627a7a7230582040095c6c454f781e6c3b511e9da616bbbdc57470d464621f5f3c9a9834f380b2002900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001000000000000000000000000620118ad98f2f2c02c823edf96555f8c6494c163