// Path: src/main/java/kafka/api/OffsetRequestReader.java
// public class OffsetRequestReader implements RequestReader {
//     public static final RequestReader instance = new OffsetRequestReader();
// 
//     public static final short CurrentVersion = 0;
//     public static final String DefaultClientId = "";
// 
//     public static final String SmallestTimeString = "smallest";
//     public static final String LargestTimeString = "largest";
//     public static final long LatestTime = -1L;
//     public static final long EarliestTime = -2L;
// 
//     @Override
//     public RequestOrResponse readFrom(final ByteBuffer buffer) {
//         short versionId = buffer.getShort();
//         int correlationId = buffer.getInt();
//         String clientId = readShortString(buffer);
//         int replicaId = buffer.getInt();
//         int topicCount = buffer.getInt();
//         Map<TopicAndPartition, PartitionOffsetRequestInfo> pairs = Utils.flatMaps(1, topicCount, new Function0<Map<TopicAndPartition, PartitionOffsetRequestInfo>>() {
//             @Override
//             public Map<TopicAndPartition, PartitionOffsetRequestInfo> apply() {
//                 final String topic = readShortString(buffer);
//                 int partitionCount = buffer.getInt();
// 
//                 return Utils.flatMap(1, partitionCount, new Function0<Tuple2<TopicAndPartition, PartitionOffsetRequestInfo>>() {
//                     @Override
//                     public Tuple2<TopicAndPartition, PartitionOffsetRequestInfo> apply() {
//                         int partitionId = buffer.getInt();
//                         long time = buffer.getLong();
//                         int maxNumOffsets = buffer.getInt();
// 
//                         return Tuple2.make(
//                                 new TopicAndPartition(topic, partitionId),
//                                 new PartitionOffsetRequestInfo(time, maxNumOffsets)
//                         );
//                     }
//                 });
//             }
//         });
// 
// 
//         return new OffsetRequest(pairs, versionId, correlationId, clientId, replicaId);
// 
//     }
// }
// 
// Path: src/main/java/kafka/common/Config.java
// public abstract class Config {
//     public  static  void validateChars(String prop, String value) {
//         String legalChars = "[a-zA-Z0-9\\._\\-]";
//         Pattern rgx = Pattern.compile(legalChars + "*");
// 
//         Matcher matcher = rgx.matcher(value);
//         if (!matcher.find()) {
//             throw new InvalidConfigException(prop + " " + value + " is illegal, contains a character other than ASCII alphanumerics, '.', '_' and '-'");
//         }
// 
//         String t = matcher.group();
// 
//         if (!t.equals(value))
//             throw new InvalidConfigException(prop + " " + value + " is illegal, contains a character other than ASCII alphanumerics, '.', '_' and '-'");
//     }
// }


import kafka.api.OffsetRequestReader;
import kafka.common.Config;
import kafka.common.InvalidConfigException;
package kafka.consumer;


public class ConsumerConfigs {
    public final static int RefreshMetadataBackoffMs = 200;
    public final static int SocketTimeout = 30 * 1000;
    public final static int SocketBufferSize = 64 * 1024;
    public final static int FetchSize = 1024 * 1024;
    public final static int MaxFetchSize = 10 * FetchSize;
    public final static int DefaultFetcherBackoffMs = 1000;
    public final static boolean AutoCommit = true;
    public final static int AutoCommitInterval = 60 * 1000;
    public final static int MaxQueuedChunks = 2;
    public final static int MaxRebalanceRetries = 4;
// Path: src/main/java/kafka/api/OffsetRequestReader.java
// public class OffsetRequestReader implements RequestReader {
//     public static final RequestReader instance = new OffsetRequestReader();
// 
//     public static final short CurrentVersion = 0;
//     public static final String DefaultClientId = "";
// 
//     public static final String SmallestTimeString = "smallest";
//     public static final String LargestTimeString = "largest";
//     public static final long LatestTime = -1L;
//     public static final long EarliestTime = -2L;
// 
//     @Override
//     public RequestOrResponse readFrom(final ByteBuffer buffer) {
//         short versionId = buffer.getShort();
//         int correlationId = buffer.getInt();
//         String clientId = readShortString(buffer);
//         int replicaId = buffer.getInt();
//         int topicCount = buffer.getInt();
//         Map<TopicAndPartition, PartitionOffsetRequestInfo> pairs = Utils.flatMaps(1, topicCount, new Function0<Map<TopicAndPartition, PartitionOffsetRequestInfo>>() {
//             @Override
//             public Map<TopicAndPartition, PartitionOffsetRequestInfo> apply() {
//                 final String topic = readShortString(buffer);
//                 int partitionCount = buffer.getInt();
// 
//                 return Utils.flatMap(1, partitionCount, new Function0<Tuple2<TopicAndPartition, PartitionOffsetRequestInfo>>() {
//                     @Override
//                     public Tuple2<TopicAndPartition, PartitionOffsetRequestInfo> apply() {
//                         int partitionId = buffer.getInt();
//                         long time = buffer.getLong();
//                         int maxNumOffsets = buffer.getInt();
// 
//                         return Tuple2.make(
//                                 new TopicAndPartition(topic, partitionId),
//                                 new PartitionOffsetRequestInfo(time, maxNumOffsets)
//                         );
//                     }
//                 });
//             }
//         });
// 
// 
//         return new OffsetRequest(pairs, versionId, correlationId, clientId, replicaId);
// 
//     }
// }
// 
// Path: src/main/java/kafka/common/Config.java
// public abstract class Config {
//     public  static  void validateChars(String prop, String value) {
//         String legalChars = "[a-zA-Z0-9\\._\\-]";
//         Pattern rgx = Pattern.compile(legalChars + "*");
// 
//         Matcher matcher = rgx.matcher(value);
//         if (!matcher.find()) {
//             throw new InvalidConfigException(prop + " " + value + " is illegal, contains a character other than ASCII alphanumerics, '.', '_' and '-'");
//         }
// 
//         String t = matcher.group();
// 
//         if (!t.equals(value))
//             throw new InvalidConfigException(prop + " " + value + " is illegal, contains a character other than ASCII alphanumerics, '.', '_' and '-'");
//     }
// }


// Path: src/main/java/kafka/consumer/ConsumerConfigs.java
import kafka.api.OffsetRequestReader;
import kafka.common.Config;
import kafka.common.InvalidConfigException;

package kafka.consumer;


public class ConsumerConfigs {
    public final static int RefreshMetadataBackoffMs = 200;
    public final static int SocketTimeout = 30 * 1000;
    public final static int SocketBufferSize = 64 * 1024;
    public final static int FetchSize = 1024 * 1024;
    public final static int MaxFetchSize = 10 * FetchSize;
    public final static int DefaultFetcherBackoffMs = 1000;
    public final static boolean AutoCommit = true;
    public final static int AutoCommitInterval = 60 * 1000;
    public final static int MaxQueuedChunks = 2;
    public final static int MaxRebalanceRetries = 4;
    public final static String AutoOffsetReset = OffsetRequestReader.LargestTimeString;