IyBTcGhpbnggaW52ZW50b3J5IHZlcnNpb24gMgojIFByb2plY3Q6IGFwYWNoZS1haXJmbG93LXByb3ZpZGVycy1taWNyb3NvZnQtd2lucm0KIyBWZXJzaW9uOiAyLjAuMQojIFRoZSByZW1haW5kZXIgb2YgdGhpcyBmaWxlIGlzIGNvbXByZXNzZWQgdXNpbmcgemxpYi4KeNrNlc1uwjAMx+95ikjbNe248gTbAQ1thx2rkLptRD6qJAx4+7VNWwpDg6aAdovs/O2fE8eh3GRCb6PS6G+egrGR5MxoqzMXbbkyEpf7udTpRgB+wQkteUy9JO4lcS+JG0nMVQq7qHBSPHkpecYE0UupokLrtQ1J2AinpQ2v1ie/QeXt+ourj8VrZahhmKDW4tlElgkQUQ4uYVqp5mjAFTp9EI4uwVCnTVBH9OLgK+kjhHfGAWJad5yg+Mt5b40BXfIH1w2AItgB2zgIaZg7kzmQpaAOkoyDSJvGos4Zvqpx/ylkYqCKb8DcCXf8iMXWpfNUM0xmoQMaXzmNUOigCWY8PSM8am6iMT9kAOMYLhQ2KgOozg1bPOIZoCmdPIk34LZPHi9iWkru7BCjNfmIS8rWNAdMS8oKIG0C0icgfQLiA+agDoUJugJRx+ysPuhbvUS/6h8Wcm06rqyjQnCVDzZlRkti9cYwsMcJLmzu8LptuHbi1omqX+9MaeWedA4vX/h/1hc58F6QLffVZ6OO1RaoYcWx0Nu85tP7l9UNoR8AwjJc