Ignore:
Timestamp:
2017-11-04T21:50:31+01:00 (8 years ago)
Author:
donvip
Message:

update to latest version of Protocol Buffers (v3.4.1)

Location:
applications/editors/josm/plugins/pbf
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/pbf

    • Property svn:externals
      •  

        old new  
        1 proto https://github.com/scrosby/OSM-binary/trunk/src
        2 protobuf https://github.com/google/protobuf/tags/v2.6.1/src/google/protobuf/
         1https://github.com/scrosby/OSM-binary/trunk/src proto
         2https://github.com/google/protobuf/tags/v3.4.1/src/google/protobuf protobuf
  • applications/editors/josm/plugins/pbf/gen/crosby/binary/Osmformat.java

    r31905 r33772  
    2323
    2424    /**
     25     * <pre>
     26     * Additional tags to aid in parsing this dataset
     27     * </pre>
     28     *
    2529     * <code>repeated string required_features = 4;</code>
    26      *
    27      * <pre>
    28      * Additional tags to aid in parsing this dataset
    29      * </pre>
    30      */
    31     com.google.protobuf.ProtocolStringList
     30     */
     31    java.util.List<java.lang.String>
    3232        getRequiredFeaturesList();
    3333    /**
     34     * <pre>
     35     * Additional tags to aid in parsing this dataset
     36     * </pre>
     37     *
    3438     * <code>repeated string required_features = 4;</code>
    35      *
    36      * <pre>
    37      * Additional tags to aid in parsing this dataset
    38      * </pre>
    3939     */
    4040    int getRequiredFeaturesCount();
    4141    /**
     42     * <pre>
     43     * Additional tags to aid in parsing this dataset
     44     * </pre>
     45     *
    4246     * <code>repeated string required_features = 4;</code>
    43      *
    44      * <pre>
    45      * Additional tags to aid in parsing this dataset
    46      * </pre>
    4747     */
    4848    java.lang.String getRequiredFeatures(int index);
    4949    /**
     50     * <pre>
     51     * Additional tags to aid in parsing this dataset
     52     * </pre>
     53     *
    5054     * <code>repeated string required_features = 4;</code>
    51      *
    52      * <pre>
    53      * Additional tags to aid in parsing this dataset
    54      * </pre>
    5555     */
    5656    com.google.protobuf.ByteString
     
    6060     * <code>repeated string optional_features = 5;</code>
    6161     */
    62     com.google.protobuf.ProtocolStringList
     62    java.util.List<java.lang.String>
    6363        getOptionalFeaturesList();
    6464    /**
     
    9191
    9292    /**
     93     * <pre>
     94     * From the bbox field.
     95     * </pre>
     96     *
    9397     * <code>optional string source = 17;</code>
    94      *
     98     */
     99    boolean hasSource();
     100    /**
    95101     * <pre>
    96102     * From the bbox field.
    97103     * </pre>
    98      */
    99     boolean hasSource();
    100     /**
     104     *
    101105     * <code>optional string source = 17;</code>
    102      *
     106     */
     107    java.lang.String getSource();
     108    /**
    103109     * <pre>
    104110     * From the bbox field.
    105111     * </pre>
    106      */
    107     java.lang.String getSource();
    108     /**
     112     *
    109113     * <code>optional string source = 17;</code>
    110      *
    111      * <pre>
    112      * From the bbox field.
    113      * </pre>
    114114     */
    115115    com.google.protobuf.ByteString
     
    117117
    118118    /**
    119      * <code>optional int64 osmosis_replication_timestamp = 32;</code>
    120      *
    121      * <pre>
    122      * replication timestamp, expressed in seconds since the epoch,
     119     * <pre>
     120     * replication timestamp, expressed in seconds since the epoch,
    123121     * otherwise the same value as in the "timestamp=..." field
    124122     * in the state.txt file used by Osmosis
    125123     * </pre>
     124     *
     125     * <code>optional int64 osmosis_replication_timestamp = 32;</code>
    126126     */
    127127    boolean hasOsmosisReplicationTimestamp();
    128128    /**
    129      * <code>optional int64 osmosis_replication_timestamp = 32;</code>
    130      *
    131      * <pre>
    132      * replication timestamp, expressed in seconds since the epoch,
     129     * <pre>
     130     * replication timestamp, expressed in seconds since the epoch,
    133131     * otherwise the same value as in the "timestamp=..." field
    134132     * in the state.txt file used by Osmosis
    135133     * </pre>
     134     *
     135     * <code>optional int64 osmosis_replication_timestamp = 32;</code>
    136136     */
    137137    long getOsmosisReplicationTimestamp();
    138138
    139139    /**
     140     * <pre>
     141     * replication sequence number (sequenceNumber in state.txt)
     142     * </pre>
     143     *
    140144     * <code>optional int64 osmosis_replication_sequence_number = 33;</code>
    141      *
     145     */
     146    boolean hasOsmosisReplicationSequenceNumber();
     147    /**
    142148     * <pre>
    143149     * replication sequence number (sequenceNumber in state.txt)
    144150     * </pre>
    145      */
    146     boolean hasOsmosisReplicationSequenceNumber();
    147     /**
     151     *
    148152     * <code>optional int64 osmosis_replication_sequence_number = 33;</code>
    149      *
    150      * <pre>
    151      * replication sequence number (sequenceNumber in state.txt)
    152      * </pre>
    153153     */
    154154    long getOsmosisReplicationSequenceNumber();
    155155
    156156    /**
     157     * <pre>
     158     * replication base URL (from Osmosis' configuration.txt file)
     159     * </pre>
     160     *
    157161     * <code>optional string osmosis_replication_base_url = 34;</code>
    158      *
     162     */
     163    boolean hasOsmosisReplicationBaseUrl();
     164    /**
    159165     * <pre>
    160166     * replication base URL (from Osmosis' configuration.txt file)
    161167     * </pre>
    162      */
    163     boolean hasOsmosisReplicationBaseUrl();
    164     /**
     168     *
    165169     * <code>optional string osmosis_replication_base_url = 34;</code>
    166      *
     170     */
     171    java.lang.String getOsmosisReplicationBaseUrl();
     172    /**
    167173     * <pre>
    168174     * replication base URL (from Osmosis' configuration.txt file)
    169175     * </pre>
    170      */
    171     java.lang.String getOsmosisReplicationBaseUrl();
    172     /**
     176     *
    173177     * <code>optional string osmosis_replication_base_url = 34;</code>
    174      *
    175      * <pre>
    176      * replication base URL (from Osmosis' configuration.txt file)
    177      * </pre>
    178178     */
    179179    com.google.protobuf.ByteString
     
    183183   * Protobuf type {@code OSMPBF.HeaderBlock}
    184184   */
    185   public static final class HeaderBlock extends
    186       com.google.protobuf.GeneratedMessageLite implements
     185  public  static final class HeaderBlock extends
     186      com.google.protobuf.GeneratedMessageLite<
     187          HeaderBlock, HeaderBlock.Builder> implements
    187188      // @@protoc_insertion_point(message_implements:OSMPBF.HeaderBlock)
    188189      HeaderBlockOrBuilder {
    189     // Use HeaderBlock.newBuilder() to construct.
    190     private HeaderBlock(com.google.protobuf.GeneratedMessageLite.Builder builder) {
    191       super(builder);
    192       this.unknownFields = builder.getUnknownFields();
    193     }
    194     private HeaderBlock(boolean noInit) { this.unknownFields = com.google.protobuf.ByteString.EMPTY;}
    195 
    196     private static final HeaderBlock defaultInstance;
    197     public static HeaderBlock getDefaultInstance() {
    198       return defaultInstance;
    199     }
    200 
    201     @Override
    202         public HeaderBlock getDefaultInstanceForType() {
    203       return defaultInstance;
    204     }
    205 
    206     private final com.google.protobuf.ByteString unknownFields;
    207     private HeaderBlock(
    208         com.google.protobuf.CodedInputStream input,
    209         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    210         throws com.google.protobuf.InvalidProtocolBufferException {
    211       initFields();
    212       int mutable_bitField0_ = 0;
    213       com.google.protobuf.ByteString.Output unknownFieldsOutput =
    214           com.google.protobuf.ByteString.newOutput();
    215       com.google.protobuf.CodedOutputStream unknownFieldsCodedOutput =
    216           com.google.protobuf.CodedOutputStream.newInstance(
    217               unknownFieldsOutput);
    218       try {
    219         boolean done = false;
    220         while (!done) {
    221           int tag = input.readTag();
    222           switch (tag) {
    223             case 0:
    224               done = true;
    225               break;
    226             default: {
    227               if (!parseUnknownField(input, unknownFieldsCodedOutput,
    228                                      extensionRegistry, tag)) {
    229                 done = true;
    230               }
    231               break;
    232             }
    233             case 10: {
    234               crosby.binary.Osmformat.HeaderBBox.Builder subBuilder = null;
    235               if (((bitField0_ & 0x00000001) == 0x00000001)) {
    236                 subBuilder = bbox_.toBuilder();
    237               }
    238               bbox_ = input.readMessage(crosby.binary.Osmformat.HeaderBBox.PARSER, extensionRegistry);
    239               if (subBuilder != null) {
    240                 subBuilder.mergeFrom(bbox_);
    241                 bbox_ = subBuilder.buildPartial();
    242               }
    243               bitField0_ |= 0x00000001;
    244               break;
    245             }
    246             case 34: {
    247               com.google.protobuf.ByteString bs = input.readBytes();
    248               if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
    249                 requiredFeatures_ = new com.google.protobuf.LazyStringArrayList();
    250                 mutable_bitField0_ |= 0x00000002;
    251               }
    252               requiredFeatures_.add(bs);
    253               break;
    254             }
    255             case 42: {
    256               com.google.protobuf.ByteString bs = input.readBytes();
    257               if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
    258                 optionalFeatures_ = new com.google.protobuf.LazyStringArrayList();
    259                 mutable_bitField0_ |= 0x00000004;
    260               }
    261               optionalFeatures_.add(bs);
    262               break;
    263             }
    264             case 130: {
    265               com.google.protobuf.ByteString bs = input.readBytes();
    266               bitField0_ |= 0x00000002;
    267               writingprogram_ = bs;
    268               break;
    269             }
    270             case 138: {
    271               com.google.protobuf.ByteString bs = input.readBytes();
    272               bitField0_ |= 0x00000004;
    273               source_ = bs;
    274               break;
    275             }
    276             case 256: {
    277               bitField0_ |= 0x00000008;
    278               osmosisReplicationTimestamp_ = input.readInt64();
    279               break;
    280             }
    281             case 264: {
    282               bitField0_ |= 0x00000010;
    283               osmosisReplicationSequenceNumber_ = input.readInt64();
    284               break;
    285             }
    286             case 274: {
    287               com.google.protobuf.ByteString bs = input.readBytes();
    288               bitField0_ |= 0x00000020;
    289               osmosisReplicationBaseUrl_ = bs;
    290               break;
    291             }
    292           }
    293         }
    294       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
    295         throw e.setUnfinishedMessage(this);
    296       } catch (java.io.IOException e) {
    297         throw new com.google.protobuf.InvalidProtocolBufferException(
    298             e.getMessage()).setUnfinishedMessage(this);
    299       } finally {
    300         if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
    301           requiredFeatures_ = requiredFeatures_.getUnmodifiableView();
    302         }
    303         if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
    304           optionalFeatures_ = optionalFeatures_.getUnmodifiableView();
    305         }
    306         try {
    307           unknownFieldsCodedOutput.flush();
    308         } catch (java.io.IOException e) {
    309         // Should not happen
    310         } finally {
    311           unknownFields = unknownFieldsOutput.toByteString();
    312         }
    313         makeExtensionsImmutable();
    314       }
    315     }
    316     public static com.google.protobuf.Parser<HeaderBlock> PARSER =
    317         new com.google.protobuf.AbstractParser<HeaderBlock>() {
    318       @Override
    319         public HeaderBlock parsePartialFrom(
    320           com.google.protobuf.CodedInputStream input,
    321           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    322           throws com.google.protobuf.InvalidProtocolBufferException {
    323         return new HeaderBlock(input, extensionRegistry);
    324       }
    325     };
    326 
    327     @java.lang.Override
    328     public com.google.protobuf.Parser<HeaderBlock> getParserForType() {
    329       return PARSER;
    330     }
    331 
     190    private HeaderBlock() {
     191      requiredFeatures_ = com.google.protobuf.GeneratedMessageLite.emptyProtobufList();
     192      optionalFeatures_ = com.google.protobuf.GeneratedMessageLite.emptyProtobufList();
     193      writingprogram_ = "";
     194      source_ = "";
     195      osmosisReplicationBaseUrl_ = "";
     196    }
    332197    private int bitField0_;
    333198    public static final int BBOX_FIELD_NUMBER = 1;
     
    336201     * <code>optional .OSMPBF.HeaderBBox bbox = 1;</code>
    337202     */
    338     @Override
    339         public boolean hasBbox() {
     203    public boolean hasBbox() {
    340204      return ((bitField0_ & 0x00000001) == 0x00000001);
    341205    }
     
    343207     * <code>optional .OSMPBF.HeaderBBox bbox = 1;</code>
    344208     */
    345     @Override
    346         public crosby.binary.Osmformat.HeaderBBox getBbox() {
    347       return bbox_;
     209    public crosby.binary.Osmformat.HeaderBBox getBbox() {
     210      return bbox_ == null ? crosby.binary.Osmformat.HeaderBBox.getDefaultInstance() : bbox_;
     211    }
     212    /**
     213     * <code>optional .OSMPBF.HeaderBBox bbox = 1;</code>
     214     */
     215    private void setBbox(crosby.binary.Osmformat.HeaderBBox value) {
     216      if (value == null) {
     217        throw new NullPointerException();
     218      }
     219      bbox_ = value;
     220      bitField0_ |= 0x00000001;
     221      }
     222    /**
     223     * <code>optional .OSMPBF.HeaderBBox bbox = 1;</code>
     224     */
     225    private void setBbox(
     226        crosby.binary.Osmformat.HeaderBBox.Builder builderForValue) {
     227      bbox_ = builderForValue.build();
     228      bitField0_ |= 0x00000001;
     229    }
     230    /**
     231     * <code>optional .OSMPBF.HeaderBBox bbox = 1;</code>
     232     */
     233    private void mergeBbox(crosby.binary.Osmformat.HeaderBBox value) {
     234      if (bbox_ != null &&
     235          bbox_ != crosby.binary.Osmformat.HeaderBBox.getDefaultInstance()) {
     236        bbox_ =
     237          crosby.binary.Osmformat.HeaderBBox.newBuilder(bbox_).mergeFrom(value).buildPartial();
     238      } else {
     239        bbox_ = value;
     240      }
     241      bitField0_ |= 0x00000001;
     242    }
     243    /**
     244     * <code>optional .OSMPBF.HeaderBBox bbox = 1;</code>
     245     */
     246    private void clearBbox() {  bbox_ = null;
     247      bitField0_ = (bitField0_ & ~0x00000001);
    348248    }
    349249
    350250    public static final int REQUIRED_FEATURES_FIELD_NUMBER = 4;
    351     private com.google.protobuf.LazyStringList requiredFeatures_;
    352     /**
     251    private com.google.protobuf.Internal.ProtobufList<java.lang.String> requiredFeatures_;
     252    /**
     253     * <pre>
     254     * Additional tags to aid in parsing this dataset
     255     * </pre>
     256     *
    353257     * <code>repeated string required_features = 4;</code>
    354      *
    355      * <pre>
    356      * Additional tags to aid in parsing this dataset
    357      * </pre>
    358      */
    359     @Override
    360         public com.google.protobuf.ProtocolStringList
    361         getRequiredFeaturesList() {
     258     */
     259    public java.util.List<java.lang.String> getRequiredFeaturesList() {
    362260      return requiredFeatures_;
    363261    }
    364262    /**
     263     * <pre>
     264     * Additional tags to aid in parsing this dataset
     265     * </pre>
     266     *
    365267     * <code>repeated string required_features = 4;</code>
    366      *
    367      * <pre>
    368      * Additional tags to aid in parsing this dataset
    369      * </pre>
    370      */
    371     @Override
    372         public int getRequiredFeaturesCount() {
     268     */
     269    public int getRequiredFeaturesCount() {
    373270      return requiredFeatures_.size();
    374271    }
    375272    /**
     273     * <pre>
     274     * Additional tags to aid in parsing this dataset
     275     * </pre>
     276     *
    376277     * <code>repeated string required_features = 4;</code>
    377      *
    378      * <pre>
    379      * Additional tags to aid in parsing this dataset
    380      * </pre>
    381      */
    382     @Override
    383         public java.lang.String getRequiredFeatures(int index) {
     278     */
     279    public java.lang.String getRequiredFeatures(int index) {
    384280      return requiredFeatures_.get(index);
    385281    }
    386282    /**
     283     * <pre>
     284     * Additional tags to aid in parsing this dataset
     285     * </pre>
     286     *
    387287     * <code>repeated string required_features = 4;</code>
    388      *
    389      * <pre>
    390      * Additional tags to aid in parsing this dataset
    391      * </pre>
    392      */
    393     @Override
    394         public com.google.protobuf.ByteString
     288     */
     289    public com.google.protobuf.ByteString
    395290        getRequiredFeaturesBytes(int index) {
    396       return requiredFeatures_.getByteString(index);
     291      return com.google.protobuf.ByteString.copyFromUtf8(
     292          requiredFeatures_.get(index));
     293    }
     294    private void ensureRequiredFeaturesIsMutable() {
     295      if (!requiredFeatures_.isModifiable()) {
     296        requiredFeatures_ =
     297            com.google.protobuf.GeneratedMessageLite.mutableCopy(requiredFeatures_);
     298       }
     299    }
     300    /**
     301     * <pre>
     302     * Additional tags to aid in parsing this dataset
     303     * </pre>
     304     *
     305     * <code>repeated string required_features = 4;</code>
     306     */
     307    private void setRequiredFeatures(
     308        int index, java.lang.String value) {
     309      if (value == null) {
     310    throw new NullPointerException();
     311  }
     312  ensureRequiredFeaturesIsMutable();
     313      requiredFeatures_.set(index, value);
     314    }
     315    /**
     316     * <pre>
     317     * Additional tags to aid in parsing this dataset
     318     * </pre>
     319     *
     320     * <code>repeated string required_features = 4;</code>
     321     */
     322    private void addRequiredFeatures(
     323        java.lang.String value) {
     324      if (value == null) {
     325    throw new NullPointerException();
     326  }
     327  ensureRequiredFeaturesIsMutable();
     328      requiredFeatures_.add(value);
     329    }
     330    /**
     331     * <pre>
     332     * Additional tags to aid in parsing this dataset
     333     * </pre>
     334     *
     335     * <code>repeated string required_features = 4;</code>
     336     */
     337    private void addAllRequiredFeatures(
     338        java.lang.Iterable<java.lang.String> values) {
     339      ensureRequiredFeaturesIsMutable();
     340      com.google.protobuf.AbstractMessageLite.addAll(
     341          values, requiredFeatures_);
     342    }
     343    /**
     344     * <pre>
     345     * Additional tags to aid in parsing this dataset
     346     * </pre>
     347     *
     348     * <code>repeated string required_features = 4;</code>
     349     */
     350    private void clearRequiredFeatures() {
     351      requiredFeatures_ = com.google.protobuf.GeneratedMessageLite.emptyProtobufList();
     352    }
     353    /**
     354     * <pre>
     355     * Additional tags to aid in parsing this dataset
     356     * </pre>
     357     *
     358     * <code>repeated string required_features = 4;</code>
     359     */
     360    private void addRequiredFeaturesBytes(
     361        com.google.protobuf.ByteString value) {
     362      if (value == null) {
     363    throw new NullPointerException();
     364  }
     365  ensureRequiredFeaturesIsMutable();
     366      requiredFeatures_.add(value.toStringUtf8());
    397367    }
    398368
    399369    public static final int OPTIONAL_FEATURES_FIELD_NUMBER = 5;
    400     private com.google.protobuf.LazyStringList optionalFeatures_;
     370    private com.google.protobuf.Internal.ProtobufList<java.lang.String> optionalFeatures_;
    401371    /**
    402372     * <code>repeated string optional_features = 5;</code>
    403373     */
    404     @Override
    405         public com.google.protobuf.ProtocolStringList
    406         getOptionalFeaturesList() {
     374    public java.util.List<java.lang.String> getOptionalFeaturesList() {
    407375      return optionalFeatures_;
    408376    }
     
    410378     * <code>repeated string optional_features = 5;</code>
    411379     */
    412     @Override
    413         public int getOptionalFeaturesCount() {
     380    public int getOptionalFeaturesCount() {
    414381      return optionalFeatures_.size();
    415382    }
     
    417384     * <code>repeated string optional_features = 5;</code>
    418385     */
    419     @Override
    420         public java.lang.String getOptionalFeatures(int index) {
     386    public java.lang.String getOptionalFeatures(int index) {
    421387      return optionalFeatures_.get(index);
    422388    }
     
    424390     * <code>repeated string optional_features = 5;</code>
    425391     */
    426     @Override
    427         public com.google.protobuf.ByteString
     392    public com.google.protobuf.ByteString
    428393        getOptionalFeaturesBytes(int index) {
    429       return optionalFeatures_.getByteString(index);
     394      return com.google.protobuf.ByteString.copyFromUtf8(
     395          optionalFeatures_.get(index));
     396    }
     397    private void ensureOptionalFeaturesIsMutable() {
     398      if (!optionalFeatures_.isModifiable()) {
     399        optionalFeatures_ =
     400            com.google.protobuf.GeneratedMessageLite.mutableCopy(optionalFeatures_);
     401       }
     402    }
     403    /**
     404     * <code>repeated string optional_features = 5;</code>
     405     */
     406    private void setOptionalFeatures(
     407        int index, java.lang.String value) {
     408      if (value == null) {
     409    throw new NullPointerException();
     410  }
     411  ensureOptionalFeaturesIsMutable();
     412      optionalFeatures_.set(index, value);
     413    }
     414    /**
     415     * <code>repeated string optional_features = 5;</code>
     416     */
     417    private void addOptionalFeatures(
     418        java.lang.String value) {
     419      if (value == null) {
     420    throw new NullPointerException();
     421  }
     422  ensureOptionalFeaturesIsMutable();
     423      optionalFeatures_.add(value);
     424    }
     425    /**
     426     * <code>repeated string optional_features = 5;</code>
     427     */
     428    private void addAllOptionalFeatures(
     429        java.lang.Iterable<java.lang.String> values) {
     430      ensureOptionalFeaturesIsMutable();
     431      com.google.protobuf.AbstractMessageLite.addAll(
     432          values, optionalFeatures_);
     433    }
     434    /**
     435     * <code>repeated string optional_features = 5;</code>
     436     */
     437    private void clearOptionalFeatures() {
     438      optionalFeatures_ = com.google.protobuf.GeneratedMessageLite.emptyProtobufList();
     439    }
     440    /**
     441     * <code>repeated string optional_features = 5;</code>
     442     */
     443    private void addOptionalFeaturesBytes(
     444        com.google.protobuf.ByteString value) {
     445      if (value == null) {
     446    throw new NullPointerException();
     447  }
     448  ensureOptionalFeaturesIsMutable();
     449      optionalFeatures_.add(value.toStringUtf8());
    430450    }
    431451
    432452    public static final int WRITINGPROGRAM_FIELD_NUMBER = 16;
    433     private java.lang.Object writingprogram_;
     453    private java.lang.String writingprogram_;
    434454    /**
    435455     * <code>optional string writingprogram = 16;</code>
    436456     */
    437     @Override
    438         public boolean hasWritingprogram() {
     457    public boolean hasWritingprogram() {
    439458      return ((bitField0_ & 0x00000002) == 0x00000002);
    440459    }
     
    442461     * <code>optional string writingprogram = 16;</code>
    443462     */
    444     @Override
    445         public java.lang.String getWritingprogram() {
    446       java.lang.Object ref = writingprogram_;
    447       if (ref instanceof java.lang.String) {
    448         return (java.lang.String) ref;
    449       } else {
    450         com.google.protobuf.ByteString bs =
    451             (com.google.protobuf.ByteString) ref;
    452         java.lang.String s = bs.toStringUtf8();
    453         if (bs.isValidUtf8()) {
    454           writingprogram_ = s;
    455         }
    456         return s;
    457       }
     463    public java.lang.String getWritingprogram() {
     464      return writingprogram_;
    458465    }
    459466    /**
    460467     * <code>optional string writingprogram = 16;</code>
    461468     */
    462     @Override
    463         public com.google.protobuf.ByteString
     469    public com.google.protobuf.ByteString
    464470        getWritingprogramBytes() {
    465       java.lang.Object ref = writingprogram_;
    466       if (ref instanceof java.lang.String) {
    467         com.google.protobuf.ByteString b =
    468             com.google.protobuf.ByteString.copyFromUtf8(
    469                 (java.lang.String) ref);
    470         writingprogram_ = b;
    471         return b;
    472       } else {
    473         return (com.google.protobuf.ByteString) ref;
    474       }
     471      return com.google.protobuf.ByteString.copyFromUtf8(writingprogram_);
     472    }
     473    /**
     474     * <code>optional string writingprogram = 16;</code>
     475     */
     476    private void setWritingprogram(
     477        java.lang.String value) {
     478      if (value == null) {
     479    throw new NullPointerException();
     480  }
     481  bitField0_ |= 0x00000002;
     482      writingprogram_ = value;
     483    }
     484    /**
     485     * <code>optional string writingprogram = 16;</code>
     486     */
     487    private void clearWritingprogram() {
     488      bitField0_ = (bitField0_ & ~0x00000002);
     489      writingprogram_ = getDefaultInstance().getWritingprogram();
     490    }
     491    /**
     492     * <code>optional string writingprogram = 16;</code>
     493     */
     494    private void setWritingprogramBytes(
     495        com.google.protobuf.ByteString value) {
     496      if (value == null) {
     497    throw new NullPointerException();
     498  }
     499  bitField0_ |= 0x00000002;
     500      writingprogram_ = value.toStringUtf8();
    475501    }
    476502
    477503    public static final int SOURCE_FIELD_NUMBER = 17;
    478     private java.lang.Object source_;
    479     /**
     504    private java.lang.String source_;
     505    /**
     506     * <pre>
     507     * From the bbox field.
     508     * </pre>
     509     *
    480510     * <code>optional string source = 17;</code>
    481      *
     511     */
     512    public boolean hasSource() {
     513      return ((bitField0_ & 0x00000004) == 0x00000004);
     514    }
     515    /**
    482516     * <pre>
    483517     * From the bbox field.
    484518     * </pre>
    485      */
    486     @Override
    487         public boolean hasSource() {
    488       return ((bitField0_ & 0x00000004) == 0x00000004);
    489     }
    490     /**
     519     *
    491520     * <code>optional string source = 17;</code>
    492      *
     521     */
     522    public java.lang.String getSource() {
     523      return source_;
     524    }
     525    /**
    493526     * <pre>
    494527     * From the bbox field.
    495528     * </pre>
    496      */
    497     @Override
    498         public java.lang.String getSource() {
    499       java.lang.Object ref = source_;
    500       if (ref instanceof java.lang.String) {
    501         return (java.lang.String) ref;
    502       } else {
    503         com.google.protobuf.ByteString bs =
    504             (com.google.protobuf.ByteString) ref;
    505         java.lang.String s = bs.toStringUtf8();
    506         if (bs.isValidUtf8()) {
    507           source_ = s;
    508         }
    509         return s;
    510       }
    511     }
    512     /**
     529     *
    513530     * <code>optional string source = 17;</code>
    514      *
     531     */
     532    public com.google.protobuf.ByteString
     533        getSourceBytes() {
     534      return com.google.protobuf.ByteString.copyFromUtf8(source_);
     535    }
     536    /**
    515537     * <pre>
    516538     * From the bbox field.
    517539     * </pre>
    518      */
    519     @Override
    520         public com.google.protobuf.ByteString
    521         getSourceBytes() {
    522       java.lang.Object ref = source_;
    523       if (ref instanceof java.lang.String) {
    524         com.google.protobuf.ByteString b =
    525             com.google.protobuf.ByteString.copyFromUtf8(
    526                 (java.lang.String) ref);
    527         source_ = b;
    528         return b;
    529       } else {
    530         return (com.google.protobuf.ByteString) ref;
    531       }
     540     *
     541     * <code>optional string source = 17;</code>
     542     */
     543    private void setSource(
     544        java.lang.String value) {
     545      if (value == null) {
     546    throw new NullPointerException();
     547  }
     548  bitField0_ |= 0x00000004;
     549      source_ = value;
     550    }
     551    /**
     552     * <pre>
     553     * From the bbox field.
     554     * </pre>
     555     *
     556     * <code>optional string source = 17;</code>
     557     */
     558    private void clearSource() {
     559      bitField0_ = (bitField0_ & ~0x00000004);
     560      source_ = getDefaultInstance().getSource();
     561    }
     562    /**
     563     * <pre>
     564     * From the bbox field.
     565     * </pre>
     566     *
     567     * <code>optional string source = 17;</code>
     568     */
     569    private void setSourceBytes(
     570        com.google.protobuf.ByteString value) {
     571      if (value == null) {
     572    throw new NullPointerException();
     573  }
     574  bitField0_ |= 0x00000004;
     575      source_ = value.toStringUtf8();
    532576    }
    533577
     
    535579    private long osmosisReplicationTimestamp_;
    536580    /**
    537      * <code>optional int64 osmosis_replication_timestamp = 32;</code>
    538      *
    539      * <pre>
    540      * replication timestamp, expressed in seconds since the epoch,
     581     * <pre>
     582     * replication timestamp, expressed in seconds since the epoch,
    541583     * otherwise the same value as in the "timestamp=..." field
    542584     * in the state.txt file used by Osmosis
    543585     * </pre>
    544      */
    545     @Override
    546         public boolean hasOsmosisReplicationTimestamp() {
     586     *
     587     * <code>optional int64 osmosis_replication_timestamp = 32;</code>
     588     */
     589    public boolean hasOsmosisReplicationTimestamp() {
    547590      return ((bitField0_ & 0x00000008) == 0x00000008);
    548591    }
    549592    /**
    550      * <code>optional int64 osmosis_replication_timestamp = 32;</code>
    551      *
    552      * <pre>
    553      * replication timestamp, expressed in seconds since the epoch,
     593     * <pre>
     594     * replication timestamp, expressed in seconds since the epoch,
    554595     * otherwise the same value as in the "timestamp=..." field
    555596     * in the state.txt file used by Osmosis
    556597     * </pre>
    557      */
    558     @Override
    559         public long getOsmosisReplicationTimestamp() {
     598     *
     599     * <code>optional int64 osmosis_replication_timestamp = 32;</code>
     600     */
     601    public long getOsmosisReplicationTimestamp() {
    560602      return osmosisReplicationTimestamp_;
     603    }
     604    /**
     605     * <pre>
     606     * replication timestamp, expressed in seconds since the epoch,
     607     * otherwise the same value as in the "timestamp=..." field
     608     * in the state.txt file used by Osmosis
     609     * </pre>
     610     *
     611     * <code>optional int64 osmosis_replication_timestamp = 32;</code>
     612     */
     613    private void setOsmosisReplicationTimestamp(long value) {
     614      bitField0_ |= 0x00000008;
     615      osmosisReplicationTimestamp_ = value;
     616    }
     617    /**
     618     * <pre>
     619     * replication timestamp, expressed in seconds since the epoch,
     620     * otherwise the same value as in the "timestamp=..." field
     621     * in the state.txt file used by Osmosis
     622     * </pre>
     623     *
     624     * <code>optional int64 osmosis_replication_timestamp = 32;</code>
     625     */
     626    private void clearOsmosisReplicationTimestamp() {
     627      bitField0_ = (bitField0_ & ~0x00000008);
     628      osmosisReplicationTimestamp_ = 0L;
    561629    }
    562630
     
    564632    private long osmosisReplicationSequenceNumber_;
    565633    /**
     634     * <pre>
     635     * replication sequence number (sequenceNumber in state.txt)
     636     * </pre>
     637     *
    566638     * <code>optional int64 osmosis_replication_sequence_number = 33;</code>
    567      *
     639     */
     640    public boolean hasOsmosisReplicationSequenceNumber() {
     641      return ((bitField0_ & 0x00000010) == 0x00000010);
     642    }
     643    /**
    568644     * <pre>
    569645     * replication sequence number (sequenceNumber in state.txt)
    570646     * </pre>
    571      */
    572     @Override
    573         public boolean hasOsmosisReplicationSequenceNumber() {
    574       return ((bitField0_ & 0x00000010) == 0x00000010);
    575     }
    576     /**
     647     *
    577648     * <code>optional int64 osmosis_replication_sequence_number = 33;</code>
    578      *
     649     */
     650    public long getOsmosisReplicationSequenceNumber() {
     651      return osmosisReplicationSequenceNumber_;
     652    }
     653    /**
    579654     * <pre>
    580655     * replication sequence number (sequenceNumber in state.txt)
    581656     * </pre>
    582      */
    583     @Override
    584         public long getOsmosisReplicationSequenceNumber() {
    585       return osmosisReplicationSequenceNumber_;
     657     *
     658     * <code>optional int64 osmosis_replication_sequence_number = 33;</code>
     659     */
     660    private void setOsmosisReplicationSequenceNumber(long value) {
     661      bitField0_ |= 0x00000010;
     662      osmosisReplicationSequenceNumber_ = value;
     663    }
     664    /**
     665     * <pre>
     666     * replication sequence number (sequenceNumber in state.txt)
     667     * </pre>
     668     *
     669     * <code>optional int64 osmosis_replication_sequence_number = 33;</code>
     670     */
     671    private void clearOsmosisReplicationSequenceNumber() {
     672      bitField0_ = (bitField0_ & ~0x00000010);
     673      osmosisReplicationSequenceNumber_ = 0L;
    586674    }
    587675
    588676    public static final int OSMOSIS_REPLICATION_BASE_URL_FIELD_NUMBER = 34;
    589     private java.lang.Object osmosisReplicationBaseUrl_;
    590     /**
     677    private java.lang.String osmosisReplicationBaseUrl_;
     678    /**
     679     * <pre>
     680     * replication base URL (from Osmosis' configuration.txt file)
     681     * </pre>
     682     *
    591683     * <code>optional string osmosis_replication_base_url = 34;</code>
    592      *
     684     */
     685    public boolean hasOsmosisReplicationBaseUrl() {
     686      return ((bitField0_ & 0x00000020) == 0x00000020);
     687    }
     688    /**
    593689     * <pre>
    594690     * replication base URL (from Osmosis' configuration.txt file)
    595691     * </pre>
    596      */
    597     @Override
    598         public boolean hasOsmosisReplicationBaseUrl() {
    599       return ((bitField0_ & 0x00000020) == 0x00000020);
    600     }
    601     /**
     692     *
    602693     * <code>optional string osmosis_replication_base_url = 34;</code>
    603      *
     694     */
     695    public java.lang.String getOsmosisReplicationBaseUrl() {
     696      return osmosisReplicationBaseUrl_;
     697    }
     698    /**
    604699     * <pre>
    605700     * replication base URL (from Osmosis' configuration.txt file)
    606701     * </pre>
    607      */
    608     @Override
    609         public java.lang.String getOsmosisReplicationBaseUrl() {
    610       java.lang.Object ref = osmosisReplicationBaseUrl_;
    611       if (ref instanceof java.lang.String) {
    612         return (java.lang.String) ref;
    613       } else {
    614         com.google.protobuf.ByteString bs =
    615             (com.google.protobuf.ByteString) ref;
    616         java.lang.String s = bs.toStringUtf8();
    617         if (bs.isValidUtf8()) {
    618           osmosisReplicationBaseUrl_ = s;
    619         }
    620         return s;
    621       }
    622     }
    623     /**
     702     *
    624703     * <code>optional string osmosis_replication_base_url = 34;</code>
    625      *
     704     */
     705    public com.google.protobuf.ByteString
     706        getOsmosisReplicationBaseUrlBytes() {
     707      return com.google.protobuf.ByteString.copyFromUtf8(osmosisReplicationBaseUrl_);
     708    }
     709    /**
    626710     * <pre>
    627711     * replication base URL (from Osmosis' configuration.txt file)
    628712     * </pre>
    629      */
    630     @Override
    631         public com.google.protobuf.ByteString
    632         getOsmosisReplicationBaseUrlBytes() {
    633       java.lang.Object ref = osmosisReplicationBaseUrl_;
    634       if (ref instanceof java.lang.String) {
    635         com.google.protobuf.ByteString b =
    636             com.google.protobuf.ByteString.copyFromUtf8(
    637                 (java.lang.String) ref);
    638         osmosisReplicationBaseUrl_ = b;
    639         return b;
    640       } else {
    641         return (com.google.protobuf.ByteString) ref;
    642       }
    643     }
    644 
    645     private void initFields() {
    646       bbox_ = crosby.binary.Osmformat.HeaderBBox.getDefaultInstance();
    647       requiredFeatures_ = com.google.protobuf.LazyStringArrayList.EMPTY;
    648       optionalFeatures_ = com.google.protobuf.LazyStringArrayList.EMPTY;
    649       writingprogram_ = "";
    650       source_ = "";
    651       osmosisReplicationTimestamp_ = 0L;
    652       osmosisReplicationSequenceNumber_ = 0L;
    653       osmosisReplicationBaseUrl_ = "";
    654     }
    655     private byte memoizedIsInitialized = -1;
    656     @Override
    657         public final boolean isInitialized() {
    658       byte isInitialized = memoizedIsInitialized;
    659       if (isInitialized == 1) return true;
    660       if (isInitialized == 0) return false;
    661 
    662       if (hasBbox()) {
    663         if (!getBbox().isInitialized()) {
    664           memoizedIsInitialized = 0;
    665           return false;
    666         }
    667       }
    668       memoizedIsInitialized = 1;
    669       return true;
    670     }
    671 
    672     @Override
    673         public void writeTo(com.google.protobuf.CodedOutputStream output)
     713     *
     714     * <code>optional string osmosis_replication_base_url = 34;</code>
     715     */
     716    private void setOsmosisReplicationBaseUrl(
     717        java.lang.String value) {
     718      if (value == null) {
     719    throw new NullPointerException();
     720  }
     721  bitField0_ |= 0x00000020;
     722      osmosisReplicationBaseUrl_ = value;
     723    }
     724    /**
     725     * <pre>
     726     * replication base URL (from Osmosis' configuration.txt file)
     727     * </pre>
     728     *
     729     * <code>optional string osmosis_replication_base_url = 34;</code>
     730     */
     731    private void clearOsmosisReplicationBaseUrl() {
     732      bitField0_ = (bitField0_ & ~0x00000020);
     733      osmosisReplicationBaseUrl_ = getDefaultInstance().getOsmosisReplicationBaseUrl();
     734    }
     735    /**
     736     * <pre>
     737     * replication base URL (from Osmosis' configuration.txt file)
     738     * </pre>
     739     *
     740     * <code>optional string osmosis_replication_base_url = 34;</code>
     741     */
     742    private void setOsmosisReplicationBaseUrlBytes(
     743        com.google.protobuf.ByteString value) {
     744      if (value == null) {
     745    throw new NullPointerException();
     746  }
     747  bitField0_ |= 0x00000020;
     748      osmosisReplicationBaseUrl_ = value.toStringUtf8();
     749    }
     750
     751    public void writeTo(com.google.protobuf.CodedOutputStream output)
    674752                        throws java.io.IOException {
    675       getSerializedSize();
    676753      if (((bitField0_ & 0x00000001) == 0x00000001)) {
    677         output.writeMessage(1, bbox_);
     754        output.writeMessage(1, getBbox());
    678755      }
    679756      for (int i = 0; i < requiredFeatures_.size(); i++) {
    680         output.writeBytes(4, requiredFeatures_.getByteString(i));
     757        output.writeString(4, requiredFeatures_.get(i));
    681758      }
    682759      for (int i = 0; i < optionalFeatures_.size(); i++) {
    683         output.writeBytes(5, optionalFeatures_.getByteString(i));
     760        output.writeString(5, optionalFeatures_.get(i));
    684761      }
    685762      if (((bitField0_ & 0x00000002) == 0x00000002)) {
    686         output.writeBytes(16, getWritingprogramBytes());
     763        output.writeString(16, getWritingprogram());
    687764      }
    688765      if (((bitField0_ & 0x00000004) == 0x00000004)) {
    689         output.writeBytes(17, getSourceBytes());
     766        output.writeString(17, getSource());
    690767      }
    691768      if (((bitField0_ & 0x00000008) == 0x00000008)) {
     
    696773      }
    697774      if (((bitField0_ & 0x00000020) == 0x00000020)) {
    698         output.writeBytes(34, getOsmosisReplicationBaseUrlBytes());
    699       }
    700       output.writeRawBytes(unknownFields);
    701     }
    702 
    703     private int memoizedSerializedSize = -1;
    704     @Override
    705         public int getSerializedSize() {
     775        output.writeString(34, getOsmosisReplicationBaseUrl());
     776      }
     777      unknownFields.writeTo(output);
     778    }
     779
     780    public int getSerializedSize() {
    706781      int size = memoizedSerializedSize;
    707782      if (size != -1) return size;
     
    710785      if (((bitField0_ & 0x00000001) == 0x00000001)) {
    711786        size += com.google.protobuf.CodedOutputStream
    712           .computeMessageSize(1, bbox_);
     787          .computeMessageSize(1, getBbox());
    713788      }
    714789      {
     
    716791        for (int i = 0; i < requiredFeatures_.size(); i++) {
    717792          dataSize += com.google.protobuf.CodedOutputStream
    718             .computeBytesSizeNoTag(requiredFeatures_.getByteString(i));
     793            .computeStringSizeNoTag(requiredFeatures_.get(i));
    719794        }
    720795        size += dataSize;
     
    725800        for (int i = 0; i < optionalFeatures_.size(); i++) {
    726801          dataSize += com.google.protobuf.CodedOutputStream
    727             .computeBytesSizeNoTag(optionalFeatures_.getByteString(i));
     802            .computeStringSizeNoTag(optionalFeatures_.get(i));
    728803        }
    729804        size += dataSize;
     
    732807      if (((bitField0_ & 0x00000002) == 0x00000002)) {
    733808        size += com.google.protobuf.CodedOutputStream
    734           .computeBytesSize(16, getWritingprogramBytes());
     809          .computeStringSize(16, getWritingprogram());
    735810      }
    736811      if (((bitField0_ & 0x00000004) == 0x00000004)) {
    737812        size += com.google.protobuf.CodedOutputStream
    738           .computeBytesSize(17, getSourceBytes());
     813          .computeStringSize(17, getSource());
    739814      }
    740815      if (((bitField0_ & 0x00000008) == 0x00000008)) {
     
    748823      if (((bitField0_ & 0x00000020) == 0x00000020)) {
    749824        size += com.google.protobuf.CodedOutputStream
    750           .computeBytesSize(34, getOsmosisReplicationBaseUrlBytes());
    751       }
    752       size += unknownFields.size();
     825          .computeStringSize(34, getOsmosisReplicationBaseUrl());
     826      }
     827      size += unknownFields.getSerializedSize();
    753828      memoizedSerializedSize = size;
    754829      return size;
    755830    }
    756831
    757     private static final long serialVersionUID = 0L;
    758     @java.lang.Override
    759     protected java.lang.Object writeReplace()
    760         throws java.io.ObjectStreamException {
    761       return super.writeReplace();
    762     }
    763 
     832    public static crosby.binary.Osmformat.HeaderBlock parseFrom(
     833        java.nio.ByteBuffer data)
     834        throws com.google.protobuf.InvalidProtocolBufferException {
     835      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     836          DEFAULT_INSTANCE, data);
     837    }
     838    public static crosby.binary.Osmformat.HeaderBlock parseFrom(
     839        java.nio.ByteBuffer data,
     840        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     841        throws com.google.protobuf.InvalidProtocolBufferException {
     842      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     843          DEFAULT_INSTANCE, data, extensionRegistry);
     844    }
    764845    public static crosby.binary.Osmformat.HeaderBlock parseFrom(
    765846        com.google.protobuf.ByteString data)
    766847        throws com.google.protobuf.InvalidProtocolBufferException {
    767       return PARSER.parseFrom(data);
     848      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     849          DEFAULT_INSTANCE, data);
    768850    }
    769851    public static crosby.binary.Osmformat.HeaderBlock parseFrom(
     
    771853        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    772854        throws com.google.protobuf.InvalidProtocolBufferException {
    773       return PARSER.parseFrom(data, extensionRegistry);
     855      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     856          DEFAULT_INSTANCE, data, extensionRegistry);
    774857    }
    775858    public static crosby.binary.Osmformat.HeaderBlock parseFrom(byte[] data)
    776859        throws com.google.protobuf.InvalidProtocolBufferException {
    777       return PARSER.parseFrom(data);
     860      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     861          DEFAULT_INSTANCE, data);
    778862    }
    779863    public static crosby.binary.Osmformat.HeaderBlock parseFrom(
     
    781865        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    782866        throws com.google.protobuf.InvalidProtocolBufferException {
    783       return PARSER.parseFrom(data, extensionRegistry);
     867      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     868          DEFAULT_INSTANCE, data, extensionRegistry);
    784869    }
    785870    public static crosby.binary.Osmformat.HeaderBlock parseFrom(java.io.InputStream input)
    786871        throws java.io.IOException {
    787       return PARSER.parseFrom(input);
     872      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     873          DEFAULT_INSTANCE, input);
    788874    }
    789875    public static crosby.binary.Osmformat.HeaderBlock parseFrom(
     
    791877        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    792878        throws java.io.IOException {
    793       return PARSER.parseFrom(input, extensionRegistry);
     879      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     880          DEFAULT_INSTANCE, input, extensionRegistry);
    794881    }
    795882    public static crosby.binary.Osmformat.HeaderBlock parseDelimitedFrom(java.io.InputStream input)
    796883        throws java.io.IOException {
    797       return PARSER.parseDelimitedFrom(input);
     884      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    798885    }
    799886    public static crosby.binary.Osmformat.HeaderBlock parseDelimitedFrom(
     
    801888        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    802889        throws java.io.IOException {
    803       return PARSER.parseDelimitedFrom(input, extensionRegistry);
     890      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    804891    }
    805892    public static crosby.binary.Osmformat.HeaderBlock parseFrom(
    806893        com.google.protobuf.CodedInputStream input)
    807894        throws java.io.IOException {
    808       return PARSER.parseFrom(input);
     895      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     896          DEFAULT_INSTANCE, input);
    809897    }
    810898    public static crosby.binary.Osmformat.HeaderBlock parseFrom(
     
    812900        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    813901        throws java.io.IOException {
    814       return PARSER.parseFrom(input, extensionRegistry);
    815     }
    816 
    817     public static Builder newBuilder() { return Builder.create(); }
    818     @Override
    819         public Builder newBuilderForType() { return newBuilder(); }
     902      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     903          DEFAULT_INSTANCE, input, extensionRegistry);
     904    }
     905
     906    public static Builder newBuilder() {
     907      return DEFAULT_INSTANCE.toBuilder();
     908    }
    820909    public static Builder newBuilder(crosby.binary.Osmformat.HeaderBlock prototype) {
    821       return newBuilder().mergeFrom(prototype);
    822     }
    823     @Override
    824         public Builder toBuilder() { return newBuilder(this); }
     910      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     911    }
    825912
    826913    /**
     
    829916    public static final class Builder extends
    830917        com.google.protobuf.GeneratedMessageLite.Builder<
    831           crosby.binary.Osmformat.HeaderBlock, Builder>
    832         implements
     918          crosby.binary.Osmformat.HeaderBlock, Builder> implements
    833919        // @@protoc_insertion_point(builder_implements:OSMPBF.HeaderBlock)
    834920        crosby.binary.Osmformat.HeaderBlockOrBuilder {
    835921      // Construct using crosby.binary.Osmformat.HeaderBlock.newBuilder()
    836922      private Builder() {
    837         maybeForceBuilderInitialization();
    838       }
    839 
    840       private void maybeForceBuilderInitialization() {
    841       }
    842       private static Builder create() {
    843         return new Builder();
    844       }
    845 
    846       @Override
    847         public Builder clear() {
    848         super.clear();
    849         bbox_ = crosby.binary.Osmformat.HeaderBBox.getDefaultInstance();
    850         bitField0_ = (bitField0_ & ~0x00000001);
    851         requiredFeatures_ = com.google.protobuf.LazyStringArrayList.EMPTY;
    852         bitField0_ = (bitField0_ & ~0x00000002);
    853         optionalFeatures_ = com.google.protobuf.LazyStringArrayList.EMPTY;
    854         bitField0_ = (bitField0_ & ~0x00000004);
    855         writingprogram_ = "";
    856         bitField0_ = (bitField0_ & ~0x00000008);
    857         source_ = "";
    858         bitField0_ = (bitField0_ & ~0x00000010);
    859         osmosisReplicationTimestamp_ = 0L;
    860         bitField0_ = (bitField0_ & ~0x00000020);
    861         osmosisReplicationSequenceNumber_ = 0L;
    862         bitField0_ = (bitField0_ & ~0x00000040);
    863         osmosisReplicationBaseUrl_ = "";
    864         bitField0_ = (bitField0_ & ~0x00000080);
    865         return this;
    866       }
    867 
    868       @Override
    869         public Builder clone() {
    870         return create().mergeFrom(buildPartial());
    871       }
    872 
    873       @Override
    874         public crosby.binary.Osmformat.HeaderBlock getDefaultInstanceForType() {
    875         return crosby.binary.Osmformat.HeaderBlock.getDefaultInstance();
    876       }
    877 
    878       @Override
    879         public crosby.binary.Osmformat.HeaderBlock build() {
    880         crosby.binary.Osmformat.HeaderBlock result = buildPartial();
    881         if (!result.isInitialized()) {
    882           throw newUninitializedMessageException(result);
    883         }
    884         return result;
    885       }
    886 
    887       @Override
    888         public crosby.binary.Osmformat.HeaderBlock buildPartial() {
    889         crosby.binary.Osmformat.HeaderBlock result = new crosby.binary.Osmformat.HeaderBlock(this);
    890         int from_bitField0_ = bitField0_;
    891         int to_bitField0_ = 0;
    892         if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
    893           to_bitField0_ |= 0x00000001;
    894         }
    895         result.bbox_ = bbox_;
    896         if (((bitField0_ & 0x00000002) == 0x00000002)) {
    897           requiredFeatures_ = requiredFeatures_.getUnmodifiableView();
    898           bitField0_ = (bitField0_ & ~0x00000002);
    899         }
    900         result.requiredFeatures_ = requiredFeatures_;
    901         if (((bitField0_ & 0x00000004) == 0x00000004)) {
    902           optionalFeatures_ = optionalFeatures_.getUnmodifiableView();
    903           bitField0_ = (bitField0_ & ~0x00000004);
    904         }
    905         result.optionalFeatures_ = optionalFeatures_;
    906         if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
    907           to_bitField0_ |= 0x00000002;
    908         }
    909         result.writingprogram_ = writingprogram_;
    910         if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
    911           to_bitField0_ |= 0x00000004;
    912         }
    913         result.source_ = source_;
    914         if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
    915           to_bitField0_ |= 0x00000008;
    916         }
    917         result.osmosisReplicationTimestamp_ = osmosisReplicationTimestamp_;
    918         if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
    919           to_bitField0_ |= 0x00000010;
    920         }
    921         result.osmosisReplicationSequenceNumber_ = osmosisReplicationSequenceNumber_;
    922         if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
    923           to_bitField0_ |= 0x00000020;
    924         }
    925         result.osmosisReplicationBaseUrl_ = osmosisReplicationBaseUrl_;
    926         result.bitField0_ = to_bitField0_;
    927         return result;
    928       }
    929 
    930       @Override
    931         public Builder mergeFrom(crosby.binary.Osmformat.HeaderBlock other) {
    932         if (other == crosby.binary.Osmformat.HeaderBlock.getDefaultInstance()) return this;
    933         if (other.hasBbox()) {
    934           mergeBbox(other.getBbox());
    935         }
    936         if (!other.requiredFeatures_.isEmpty()) {
    937           if (requiredFeatures_.isEmpty()) {
    938             requiredFeatures_ = other.requiredFeatures_;
    939             bitField0_ = (bitField0_ & ~0x00000002);
    940           } else {
    941             ensureRequiredFeaturesIsMutable();
    942             requiredFeatures_.addAll(other.requiredFeatures_);
    943           }
    944 
    945         }
    946         if (!other.optionalFeatures_.isEmpty()) {
    947           if (optionalFeatures_.isEmpty()) {
    948             optionalFeatures_ = other.optionalFeatures_;
    949             bitField0_ = (bitField0_ & ~0x00000004);
    950           } else {
    951             ensureOptionalFeaturesIsMutable();
    952             optionalFeatures_.addAll(other.optionalFeatures_);
    953           }
    954 
    955         }
    956         if (other.hasWritingprogram()) {
    957           bitField0_ |= 0x00000008;
    958           writingprogram_ = other.writingprogram_;
    959 
    960         }
    961         if (other.hasSource()) {
    962           bitField0_ |= 0x00000010;
    963           source_ = other.source_;
    964 
    965         }
    966         if (other.hasOsmosisReplicationTimestamp()) {
    967           setOsmosisReplicationTimestamp(other.getOsmosisReplicationTimestamp());
    968         }
    969         if (other.hasOsmosisReplicationSequenceNumber()) {
    970           setOsmosisReplicationSequenceNumber(other.getOsmosisReplicationSequenceNumber());
    971         }
    972         if (other.hasOsmosisReplicationBaseUrl()) {
    973           bitField0_ |= 0x00000080;
    974           osmosisReplicationBaseUrl_ = other.osmosisReplicationBaseUrl_;
    975 
    976         }
    977         setUnknownFields(
    978             getUnknownFields().concat(other.unknownFields));
    979         return this;
    980       }
    981 
    982       @Override
    983         public final boolean isInitialized() {
    984         if (hasBbox()) {
    985           if (!getBbox().isInitialized()) {
    986 
    987             return false;
    988           }
    989         }
    990         return true;
    991       }
    992 
    993       @Override
    994         public Builder mergeFrom(
    995           com.google.protobuf.CodedInputStream input,
    996           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    997           throws java.io.IOException {
    998         crosby.binary.Osmformat.HeaderBlock parsedMessage = null;
    999         try {
    1000           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
    1001         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
    1002           parsedMessage = (crosby.binary.Osmformat.HeaderBlock) e.getUnfinishedMessage();
    1003           throw e;
    1004         } finally {
    1005           if (parsedMessage != null) {
    1006             mergeFrom(parsedMessage);
    1007           }
    1008         }
    1009         return this;
    1010       }
    1011       private int bitField0_;
    1012 
    1013       private crosby.binary.Osmformat.HeaderBBox bbox_ = crosby.binary.Osmformat.HeaderBBox.getDefaultInstance();
     923        super(DEFAULT_INSTANCE);
     924      }
     925
     926
    1014927      /**
    1015928       * <code>optional .OSMPBF.HeaderBBox bbox = 1;</code>
    1016929       */
    1017       @Override
    1018         public boolean hasBbox() {
    1019         return ((bitField0_ & 0x00000001) == 0x00000001);
     930      public boolean hasBbox() {
     931        return instance.hasBbox();
    1020932      }
    1021933      /**
    1022934       * <code>optional .OSMPBF.HeaderBBox bbox = 1;</code>
    1023935       */
    1024       @Override
    1025         public crosby.binary.Osmformat.HeaderBBox getBbox() {
    1026         return bbox_;
     936      public crosby.binary.Osmformat.HeaderBBox getBbox() {
     937        return instance.getBbox();
    1027938      }
    1028939      /**
     
    1030941       */
    1031942      public Builder setBbox(crosby.binary.Osmformat.HeaderBBox value) {
    1032         if (value == null) {
    1033           throw new NullPointerException();
    1034         }
    1035         bbox_ = value;
    1036 
    1037         bitField0_ |= 0x00000001;
    1038         return this;
    1039       }
     943        copyOnWrite();
     944        instance.setBbox(value);
     945        return this;
     946        }
    1040947      /**
    1041948       * <code>optional .OSMPBF.HeaderBBox bbox = 1;</code>
     
    1043950      public Builder setBbox(
    1044951          crosby.binary.Osmformat.HeaderBBox.Builder builderForValue) {
    1045         bbox_ = builderForValue.build();
    1046 
    1047         bitField0_ |= 0x00000001;
     952        copyOnWrite();
     953        instance.setBbox(builderForValue);
    1048954        return this;
    1049955      }
     
    1052958       */
    1053959      public Builder mergeBbox(crosby.binary.Osmformat.HeaderBBox value) {
    1054         if (((bitField0_ & 0x00000001) == 0x00000001) &&
    1055             bbox_ != crosby.binary.Osmformat.HeaderBBox.getDefaultInstance()) {
    1056           bbox_ =
    1057             crosby.binary.Osmformat.HeaderBBox.newBuilder(bbox_).mergeFrom(value).buildPartial();
    1058         } else {
    1059           bbox_ = value;
    1060         }
    1061 
    1062         bitField0_ |= 0x00000001;
     960        copyOnWrite();
     961        instance.mergeBbox(value);
    1063962        return this;
    1064963      }
     
    1066965       * <code>optional .OSMPBF.HeaderBBox bbox = 1;</code>
    1067966       */
    1068       public Builder clearBbox() {
    1069         bbox_ = crosby.binary.Osmformat.HeaderBBox.getDefaultInstance();
    1070 
    1071         bitField0_ = (bitField0_ & ~0x00000001);
    1072         return this;
    1073       }
    1074 
    1075       private com.google.protobuf.LazyStringList requiredFeatures_ = com.google.protobuf.LazyStringArrayList.EMPTY;
    1076       private void ensureRequiredFeaturesIsMutable() {
    1077         if (!((bitField0_ & 0x00000002) == 0x00000002)) {
    1078           requiredFeatures_ = new com.google.protobuf.LazyStringArrayList(requiredFeatures_);
    1079           bitField0_ |= 0x00000002;
    1080          }
    1081       }
    1082       /**
     967      public Builder clearBbox() {  copyOnWrite();
     968        instance.clearBbox();
     969        return this;
     970      }
     971
     972      /**
     973       * <pre>
     974       * Additional tags to aid in parsing this dataset
     975       * </pre>
     976       *
    1083977       * <code>repeated string required_features = 4;</code>
    1084        *
    1085        * <pre>
    1086        * Additional tags to aid in parsing this dataset
    1087        * </pre>
    1088        */
    1089       @Override
    1090         public com.google.protobuf.ProtocolStringList
     978       */
     979      public java.util.List<java.lang.String>
    1091980          getRequiredFeaturesList() {
    1092         return requiredFeatures_.getUnmodifiableView();
    1093       }
    1094       /**
     981        return java.util.Collections.unmodifiableList(
     982            instance.getRequiredFeaturesList());
     983      }
     984      /**
     985       * <pre>
     986       * Additional tags to aid in parsing this dataset
     987       * </pre>
     988       *
    1095989       * <code>repeated string required_features = 4;</code>
    1096        *
    1097        * <pre>
    1098        * Additional tags to aid in parsing this dataset
    1099        * </pre>
    1100        */
    1101       @Override
    1102         public int getRequiredFeaturesCount() {
    1103         return requiredFeatures_.size();
    1104       }
    1105       /**
     990       */
     991      public int getRequiredFeaturesCount() {
     992        return instance.getRequiredFeaturesCount();
     993      }
     994      /**
     995       * <pre>
     996       * Additional tags to aid in parsing this dataset
     997       * </pre>
     998       *
    1106999       * <code>repeated string required_features = 4;</code>
    1107        *
    1108        * <pre>
    1109        * Additional tags to aid in parsing this dataset
    1110        * </pre>
    1111        */
    1112       @Override
    1113         public java.lang.String getRequiredFeatures(int index) {
    1114         return requiredFeatures_.get(index);
    1115       }
    1116       /**
     1000       */
     1001      public java.lang.String getRequiredFeatures(int index) {
     1002        return instance.getRequiredFeatures(index);
     1003      }
     1004      /**
     1005       * <pre>
     1006       * Additional tags to aid in parsing this dataset
     1007       * </pre>
     1008       *
    11171009       * <code>repeated string required_features = 4;</code>
    1118        *
    1119        * <pre>
    1120        * Additional tags to aid in parsing this dataset
    1121        * </pre>
    1122        */
    1123       @Override
    1124         public com.google.protobuf.ByteString
     1010       */
     1011      public com.google.protobuf.ByteString
    11251012          getRequiredFeaturesBytes(int index) {
    1126         return requiredFeatures_.getByteString(index);
    1127       }
    1128       /**
     1013        return instance.getRequiredFeaturesBytes(index);
     1014      }
     1015      /**
     1016       * <pre>
     1017       * Additional tags to aid in parsing this dataset
     1018       * </pre>
     1019       *
    11291020       * <code>repeated string required_features = 4;</code>
    1130        *
    1131        * <pre>
    1132        * Additional tags to aid in parsing this dataset
    1133        * </pre>
    11341021       */
    11351022      public Builder setRequiredFeatures(
    11361023          int index, java.lang.String value) {
    1137         if (value == null) {
    1138     throw new NullPointerException();
    1139   }
    1140   ensureRequiredFeaturesIsMutable();
    1141         requiredFeatures_.set(index, value);
    1142 
    1143         return this;
    1144       }
    1145       /**
     1024        copyOnWrite();
     1025        instance.setRequiredFeatures(index, value);
     1026        return this;
     1027      }
     1028      /**
     1029       * <pre>
     1030       * Additional tags to aid in parsing this dataset
     1031       * </pre>
     1032       *
    11461033       * <code>repeated string required_features = 4;</code>
    1147        *
    1148        * <pre>
    1149        * Additional tags to aid in parsing this dataset
    1150        * </pre>
    11511034       */
    11521035      public Builder addRequiredFeatures(
    11531036          java.lang.String value) {
    1154         if (value == null) {
    1155     throw new NullPointerException();
    1156   }
    1157   ensureRequiredFeaturesIsMutable();
    1158         requiredFeatures_.add(value);
    1159 
    1160         return this;
    1161       }
    1162       /**
     1037        copyOnWrite();
     1038        instance.addRequiredFeatures(value);
     1039        return this;
     1040      }
     1041      /**
     1042       * <pre>
     1043       * Additional tags to aid in parsing this dataset
     1044       * </pre>
     1045       *
    11631046       * <code>repeated string required_features = 4;</code>
    1164        *
    1165        * <pre>
    1166        * Additional tags to aid in parsing this dataset
    1167        * </pre>
    11681047       */
    11691048      public Builder addAllRequiredFeatures(
    11701049          java.lang.Iterable<java.lang.String> values) {
    1171         ensureRequiredFeaturesIsMutable();
    1172         com.google.protobuf.AbstractMessageLite.Builder.addAll(
    1173             values, requiredFeatures_);
    1174 
    1175         return this;
    1176       }
    1177       /**
     1050        copyOnWrite();
     1051        instance.addAllRequiredFeatures(values);
     1052        return this;
     1053      }
     1054      /**
     1055       * <pre>
     1056       * Additional tags to aid in parsing this dataset
     1057       * </pre>
     1058       *
    11781059       * <code>repeated string required_features = 4;</code>
    1179        *
    1180        * <pre>
    1181        * Additional tags to aid in parsing this dataset
    1182        * </pre>
    11831060       */
    11841061      public Builder clearRequiredFeatures() {
    1185         requiredFeatures_ = com.google.protobuf.LazyStringArrayList.EMPTY;
    1186         bitField0_ = (bitField0_ & ~0x00000002);
    1187 
    1188         return this;
    1189       }
    1190       /**
     1062        copyOnWrite();
     1063        instance.clearRequiredFeatures();
     1064        return this;
     1065      }
     1066      /**
     1067       * <pre>
     1068       * Additional tags to aid in parsing this dataset
     1069       * </pre>
     1070       *
    11911071       * <code>repeated string required_features = 4;</code>
    1192        *
    1193        * <pre>
    1194        * Additional tags to aid in parsing this dataset
    1195        * </pre>
    11961072       */
    11971073      public Builder addRequiredFeaturesBytes(
    11981074          com.google.protobuf.ByteString value) {
    1199         if (value == null) {
    1200     throw new NullPointerException();
    1201   }
    1202   ensureRequiredFeaturesIsMutable();
    1203         requiredFeatures_.add(value);
    1204 
    1205         return this;
    1206       }
    1207 
    1208       private com.google.protobuf.LazyStringList optionalFeatures_ = com.google.protobuf.LazyStringArrayList.EMPTY;
    1209       private void ensureOptionalFeaturesIsMutable() {
    1210         if (!((bitField0_ & 0x00000004) == 0x00000004)) {
    1211           optionalFeatures_ = new com.google.protobuf.LazyStringArrayList(optionalFeatures_);
    1212           bitField0_ |= 0x00000004;
    1213          }
    1214       }
     1075        copyOnWrite();
     1076        instance.addRequiredFeaturesBytes(value);
     1077        return this;
     1078      }
     1079
    12151080      /**
    12161081       * <code>repeated string optional_features = 5;</code>
    12171082       */
    1218       @Override
    1219         public com.google.protobuf.ProtocolStringList
     1083      public java.util.List<java.lang.String>
    12201084          getOptionalFeaturesList() {
    1221         return optionalFeatures_.getUnmodifiableView();
     1085        return java.util.Collections.unmodifiableList(
     1086            instance.getOptionalFeaturesList());
    12221087      }
    12231088      /**
    12241089       * <code>repeated string optional_features = 5;</code>
    12251090       */
    1226       @Override
    1227         public int getOptionalFeaturesCount() {
    1228         return optionalFeatures_.size();
     1091      public int getOptionalFeaturesCount() {
     1092        return instance.getOptionalFeaturesCount();
    12291093      }
    12301094      /**
    12311095       * <code>repeated string optional_features = 5;</code>
    12321096       */
    1233       @Override
    1234         public java.lang.String getOptionalFeatures(int index) {
    1235         return optionalFeatures_.get(index);
     1097      public java.lang.String getOptionalFeatures(int index) {
     1098        return instance.getOptionalFeatures(index);
    12361099      }
    12371100      /**
    12381101       * <code>repeated string optional_features = 5;</code>
    12391102       */
    1240       @Override
    1241         public com.google.protobuf.ByteString
     1103      public com.google.protobuf.ByteString
    12421104          getOptionalFeaturesBytes(int index) {
    1243         return optionalFeatures_.getByteString(index);
     1105        return instance.getOptionalFeaturesBytes(index);
    12441106      }
    12451107      /**
     
    12481110      public Builder setOptionalFeatures(
    12491111          int index, java.lang.String value) {
    1250         if (value == null) {
    1251     throw new NullPointerException();
    1252   }
    1253   ensureOptionalFeaturesIsMutable();
    1254         optionalFeatures_.set(index, value);
    1255 
     1112        copyOnWrite();
     1113        instance.setOptionalFeatures(index, value);
    12561114        return this;
    12571115      }
     
    12611119      public Builder addOptionalFeatures(
    12621120          java.lang.String value) {
    1263         if (value == null) {
    1264     throw new NullPointerException();
    1265   }
    1266   ensureOptionalFeaturesIsMutable();
    1267         optionalFeatures_.add(value);
    1268 
     1121        copyOnWrite();
     1122        instance.addOptionalFeatures(value);
    12691123        return this;
    12701124      }
     
    12741128      public Builder addAllOptionalFeatures(
    12751129          java.lang.Iterable<java.lang.String> values) {
    1276         ensureOptionalFeaturesIsMutable();
    1277         com.google.protobuf.AbstractMessageLite.Builder.addAll(
    1278             values, optionalFeatures_);
    1279 
     1130        copyOnWrite();
     1131        instance.addAllOptionalFeatures(values);
    12801132        return this;
    12811133      }
     
    12841136       */
    12851137      public Builder clearOptionalFeatures() {
    1286         optionalFeatures_ = com.google.protobuf.LazyStringArrayList.EMPTY;
    1287         bitField0_ = (bitField0_ & ~0x00000004);
    1288 
     1138        copyOnWrite();
     1139        instance.clearOptionalFeatures();
    12891140        return this;
    12901141      }
     
    12941145      public Builder addOptionalFeaturesBytes(
    12951146          com.google.protobuf.ByteString value) {
    1296         if (value == null) {
    1297     throw new NullPointerException();
    1298   }
    1299   ensureOptionalFeaturesIsMutable();
    1300         optionalFeatures_.add(value);
    1301 
    1302         return this;
    1303       }
    1304 
    1305       private java.lang.Object writingprogram_ = "";
     1147        copyOnWrite();
     1148        instance.addOptionalFeaturesBytes(value);
     1149        return this;
     1150      }
     1151
    13061152      /**
    13071153       * <code>optional string writingprogram = 16;</code>
    13081154       */
    1309       @Override
    1310         public boolean hasWritingprogram() {
    1311         return ((bitField0_ & 0x00000008) == 0x00000008);
     1155      public boolean hasWritingprogram() {
     1156        return instance.hasWritingprogram();
    13121157      }
    13131158      /**
    13141159       * <code>optional string writingprogram = 16;</code>
    13151160       */
    1316       @Override
    1317         public java.lang.String getWritingprogram() {
    1318         java.lang.Object ref = writingprogram_;
    1319         if (!(ref instanceof java.lang.String)) {
    1320           com.google.protobuf.ByteString bs =
    1321               (com.google.protobuf.ByteString) ref;
    1322           java.lang.String s = bs.toStringUtf8();
    1323           if (bs.isValidUtf8()) {
    1324             writingprogram_ = s;
    1325           }
    1326           return s;
    1327         } else {
    1328           return (java.lang.String) ref;
    1329         }
     1161      public java.lang.String getWritingprogram() {
     1162        return instance.getWritingprogram();
    13301163      }
    13311164      /**
    13321165       * <code>optional string writingprogram = 16;</code>
    13331166       */
    1334       @Override
    1335         public com.google.protobuf.ByteString
     1167      public com.google.protobuf.ByteString
    13361168          getWritingprogramBytes() {
    1337         java.lang.Object ref = writingprogram_;
    1338         if (ref instanceof String) {
    1339           com.google.protobuf.ByteString b =
    1340               com.google.protobuf.ByteString.copyFromUtf8(
    1341                   (java.lang.String) ref);
    1342           writingprogram_ = b;
    1343           return b;
    1344         } else {
    1345           return (com.google.protobuf.ByteString) ref;
    1346         }
     1169        return instance.getWritingprogramBytes();
    13471170      }
    13481171      /**
     
    13511174      public Builder setWritingprogram(
    13521175          java.lang.String value) {
    1353         if (value == null) {
    1354     throw new NullPointerException();
    1355   }
    1356   bitField0_ |= 0x00000008;
    1357         writingprogram_ = value;
    1358 
     1176        copyOnWrite();
     1177        instance.setWritingprogram(value);
    13591178        return this;
    13601179      }
     
    13631182       */
    13641183      public Builder clearWritingprogram() {
    1365         bitField0_ = (bitField0_ & ~0x00000008);
    1366         writingprogram_ = getDefaultInstance().getWritingprogram();
    1367 
     1184        copyOnWrite();
     1185        instance.clearWritingprogram();
    13681186        return this;
    13691187      }
     
    13731191      public Builder setWritingprogramBytes(
    13741192          com.google.protobuf.ByteString value) {
    1375         if (value == null) {
    1376     throw new NullPointerException();
    1377   }
    1378   bitField0_ |= 0x00000008;
    1379         writingprogram_ = value;
    1380 
    1381         return this;
    1382       }
    1383 
    1384       private java.lang.Object source_ = "";
    1385       /**
     1193        copyOnWrite();
     1194        instance.setWritingprogramBytes(value);
     1195        return this;
     1196      }
     1197
     1198      /**
     1199       * <pre>
     1200       * From the bbox field.
     1201       * </pre>
     1202       *
    13861203       * <code>optional string source = 17;</code>
    1387        *
     1204       */
     1205      public boolean hasSource() {
     1206        return instance.hasSource();
     1207      }
     1208      /**
    13881209       * <pre>
    13891210       * From the bbox field.
    13901211       * </pre>
    1391        */
    1392       @Override
    1393         public boolean hasSource() {
    1394         return ((bitField0_ & 0x00000010) == 0x00000010);
    1395       }
    1396       /**
     1212       *
    13971213       * <code>optional string source = 17;</code>
    1398        *
     1214       */
     1215      public java.lang.String getSource() {
     1216        return instance.getSource();
     1217      }
     1218      /**
    13991219       * <pre>
    14001220       * From the bbox field.
    14011221       * </pre>
    1402        */
    1403       @Override
    1404         public java.lang.String getSource() {
    1405         java.lang.Object ref = source_;
    1406         if (!(ref instanceof java.lang.String)) {
    1407           com.google.protobuf.ByteString bs =
    1408               (com.google.protobuf.ByteString) ref;
    1409           java.lang.String s = bs.toStringUtf8();
    1410           if (bs.isValidUtf8()) {
    1411             source_ = s;
    1412           }
    1413           return s;
    1414         } else {
    1415           return (java.lang.String) ref;
    1416         }
    1417       }
    1418       /**
     1222       *
    14191223       * <code>optional string source = 17;</code>
    1420        *
     1224       */
     1225      public com.google.protobuf.ByteString
     1226          getSourceBytes() {
     1227        return instance.getSourceBytes();
     1228      }
     1229      /**
    14211230       * <pre>
    14221231       * From the bbox field.
    14231232       * </pre>
    1424        */
    1425       @Override
    1426         public com.google.protobuf.ByteString
    1427           getSourceBytes() {
    1428         java.lang.Object ref = source_;
    1429         if (ref instanceof String) {
    1430           com.google.protobuf.ByteString b =
    1431               com.google.protobuf.ByteString.copyFromUtf8(
    1432                   (java.lang.String) ref);
    1433           source_ = b;
    1434           return b;
    1435         } else {
    1436           return (com.google.protobuf.ByteString) ref;
    1437         }
    1438       }
    1439       /**
     1233       *
    14401234       * <code>optional string source = 17;</code>
    1441        *
    1442        * <pre>
    1443        * From the bbox field.
    1444        * </pre>
    14451235       */
    14461236      public Builder setSource(
    14471237          java.lang.String value) {
    1448         if (value == null) {
    1449     throw new NullPointerException();
    1450   }
    1451   bitField0_ |= 0x00000010;
    1452         source_ = value;
    1453 
    1454         return this;
    1455       }
    1456       /**
     1238        copyOnWrite();
     1239        instance.setSource(value);
     1240        return this;
     1241      }
     1242      /**
     1243       * <pre>
     1244       * From the bbox field.
     1245       * </pre>
     1246       *
    14571247       * <code>optional string source = 17;</code>
    1458        *
     1248       */
     1249      public Builder clearSource() {
     1250        copyOnWrite();
     1251        instance.clearSource();
     1252        return this;
     1253      }
     1254      /**
    14591255       * <pre>
    14601256       * From the bbox field.
    14611257       * </pre>
    1462        */
    1463       public Builder clearSource() {
    1464         bitField0_ = (bitField0_ & ~0x00000010);
    1465         source_ = getDefaultInstance().getSource();
    1466 
    1467         return this;
    1468       }
    1469       /**
     1258       *
    14701259       * <code>optional string source = 17;</code>
    1471        *
    1472        * <pre>
    1473        * From the bbox field.
    1474        * </pre>
    14751260       */
    14761261      public Builder setSourceBytes(
    14771262          com.google.protobuf.ByteString value) {
    1478         if (value == null) {
    1479     throw new NullPointerException();
    1480   }
    1481   bitField0_ |= 0x00000010;
    1482         source_ = value;
    1483 
    1484         return this;
    1485       }
    1486 
    1487       private long osmosisReplicationTimestamp_ ;
    1488       /**
    1489        * <code>optional int64 osmosis_replication_timestamp = 32;</code>
    1490        *
    1491        * <pre>
    1492        * replication timestamp, expressed in seconds since the epoch,
     1263        copyOnWrite();
     1264        instance.setSourceBytes(value);
     1265        return this;
     1266      }
     1267
     1268      /**
     1269       * <pre>
     1270       * replication timestamp, expressed in seconds since the epoch,
    14931271       * otherwise the same value as in the "timestamp=..." field
    14941272       * in the state.txt file used by Osmosis
    14951273       * </pre>
    1496        */
    1497       @Override
    1498         public boolean hasOsmosisReplicationTimestamp() {
    1499         return ((bitField0_ & 0x00000020) == 0x00000020);
    1500       }
    1501       /**
     1274       *
    15021275       * <code>optional int64 osmosis_replication_timestamp = 32;</code>
    1503        *
    1504        * <pre>
    1505        * replication timestamp, expressed in seconds since the epoch,
     1276       */
     1277      public boolean hasOsmosisReplicationTimestamp() {
     1278        return instance.hasOsmosisReplicationTimestamp();
     1279      }
     1280      /**
     1281       * <pre>
     1282       * replication timestamp, expressed in seconds since the epoch,
    15061283       * otherwise the same value as in the "timestamp=..." field
    15071284       * in the state.txt file used by Osmosis
    15081285       * </pre>
    1509        */
    1510       @Override
    1511         public long getOsmosisReplicationTimestamp() {
    1512         return osmosisReplicationTimestamp_;
    1513       }
    1514       /**
     1286       *
    15151287       * <code>optional int64 osmosis_replication_timestamp = 32;</code>
    1516        *
    1517        * <pre>
    1518        * replication timestamp, expressed in seconds since the epoch,
     1288       */
     1289      public long getOsmosisReplicationTimestamp() {
     1290        return instance.getOsmosisReplicationTimestamp();
     1291      }
     1292      /**
     1293       * <pre>
     1294       * replication timestamp, expressed in seconds since the epoch,
    15191295       * otherwise the same value as in the "timestamp=..." field
    15201296       * in the state.txt file used by Osmosis
    15211297       * </pre>
     1298       *
     1299       * <code>optional int64 osmosis_replication_timestamp = 32;</code>
    15221300       */
    15231301      public Builder setOsmosisReplicationTimestamp(long value) {
    1524         bitField0_ |= 0x00000020;
    1525         osmosisReplicationTimestamp_ = value;
    1526 
    1527         return this;
    1528       }
    1529       /**
    1530        * <code>optional int64 osmosis_replication_timestamp = 32;</code>
    1531        *
    1532        * <pre>
    1533        * replication timestamp, expressed in seconds since the epoch,
     1302        copyOnWrite();
     1303        instance.setOsmosisReplicationTimestamp(value);
     1304        return this;
     1305      }
     1306      /**
     1307       * <pre>
     1308       * replication timestamp, expressed in seconds since the epoch,
    15341309       * otherwise the same value as in the "timestamp=..." field
    15351310       * in the state.txt file used by Osmosis
    15361311       * </pre>
     1312       *
     1313       * <code>optional int64 osmosis_replication_timestamp = 32;</code>
    15371314       */
    15381315      public Builder clearOsmosisReplicationTimestamp() {
    1539         bitField0_ = (bitField0_ & ~0x00000020);
    1540         osmosisReplicationTimestamp_ = 0L;
    1541 
    1542         return this;
    1543       }
    1544 
    1545       private long osmosisReplicationSequenceNumber_ ;
    1546       /**
     1316        copyOnWrite();
     1317        instance.clearOsmosisReplicationTimestamp();
     1318        return this;
     1319      }
     1320
     1321      /**
     1322       * <pre>
     1323       * replication sequence number (sequenceNumber in state.txt)
     1324       * </pre>
     1325       *
    15471326       * <code>optional int64 osmosis_replication_sequence_number = 33;</code>
    1548        *
     1327       */
     1328      public boolean hasOsmosisReplicationSequenceNumber() {
     1329        return instance.hasOsmosisReplicationSequenceNumber();
     1330      }
     1331      /**
    15491332       * <pre>
    15501333       * replication sequence number (sequenceNumber in state.txt)
    15511334       * </pre>
    1552        */
    1553       @Override
    1554         public boolean hasOsmosisReplicationSequenceNumber() {
    1555         return ((bitField0_ & 0x00000040) == 0x00000040);
    1556       }
    1557       /**
     1335       *
    15581336       * <code>optional int64 osmosis_replication_sequence_number = 33;</code>
    1559        *
     1337       */
     1338      public long getOsmosisReplicationSequenceNumber() {
     1339        return instance.getOsmosisReplicationSequenceNumber();
     1340      }
     1341      /**
    15601342       * <pre>
    15611343       * replication sequence number (sequenceNumber in state.txt)
    15621344       * </pre>
    1563        */
    1564       @Override
    1565         public long getOsmosisReplicationSequenceNumber() {
    1566         return osmosisReplicationSequenceNumber_;
    1567       }
    1568       /**
     1345       *
    15691346       * <code>optional int64 osmosis_replication_sequence_number = 33;</code>
    1570        *
     1347       */
     1348      public Builder setOsmosisReplicationSequenceNumber(long value) {
     1349        copyOnWrite();
     1350        instance.setOsmosisReplicationSequenceNumber(value);
     1351        return this;
     1352      }
     1353      /**
    15711354       * <pre>
    15721355       * replication sequence number (sequenceNumber in state.txt)
    15731356       * </pre>
    1574        */
    1575       public Builder setOsmosisReplicationSequenceNumber(long value) {
    1576         bitField0_ |= 0x00000040;
    1577         osmosisReplicationSequenceNumber_ = value;
    1578 
    1579         return this;
    1580       }
    1581       /**
     1357       *
    15821358       * <code>optional int64 osmosis_replication_sequence_number = 33;</code>
    1583        *
    1584        * <pre>
    1585        * replication sequence number (sequenceNumber in state.txt)
    1586        * </pre>
    15871359       */
    15881360      public Builder clearOsmosisReplicationSequenceNumber() {
    1589         bitField0_ = (bitField0_ & ~0x00000040);
    1590         osmosisReplicationSequenceNumber_ = 0L;
    1591 
    1592         return this;
    1593       }
    1594 
    1595       private java.lang.Object osmosisReplicationBaseUrl_ = "";
    1596       /**
     1361        copyOnWrite();
     1362        instance.clearOsmosisReplicationSequenceNumber();
     1363        return this;
     1364      }
     1365
     1366      /**
     1367       * <pre>
     1368       * replication base URL (from Osmosis' configuration.txt file)
     1369       * </pre>
     1370       *
    15971371       * <code>optional string osmosis_replication_base_url = 34;</code>
    1598        *
     1372       */
     1373      public boolean hasOsmosisReplicationBaseUrl() {
     1374        return instance.hasOsmosisReplicationBaseUrl();
     1375      }
     1376      /**
    15991377       * <pre>
    16001378       * replication base URL (from Osmosis' configuration.txt file)
    16011379       * </pre>
    1602        */
    1603       @Override
    1604         public boolean hasOsmosisReplicationBaseUrl() {
    1605         return ((bitField0_ & 0x00000080) == 0x00000080);
    1606       }
    1607       /**
     1380       *
    16081381       * <code>optional string osmosis_replication_base_url = 34;</code>
    1609        *
     1382       */
     1383      public java.lang.String getOsmosisReplicationBaseUrl() {
     1384        return instance.getOsmosisReplicationBaseUrl();
     1385      }
     1386      /**
    16101387       * <pre>
    16111388       * replication base URL (from Osmosis' configuration.txt file)
    16121389       * </pre>
    1613        */
    1614       @Override
    1615         public java.lang.String getOsmosisReplicationBaseUrl() {
    1616         java.lang.Object ref = osmosisReplicationBaseUrl_;
    1617         if (!(ref instanceof java.lang.String)) {
    1618           com.google.protobuf.ByteString bs =
    1619               (com.google.protobuf.ByteString) ref;
    1620           java.lang.String s = bs.toStringUtf8();
    1621           if (bs.isValidUtf8()) {
    1622             osmosisReplicationBaseUrl_ = s;
    1623           }
    1624           return s;
    1625         } else {
    1626           return (java.lang.String) ref;
    1627         }
    1628       }
    1629       /**
     1390       *
    16301391       * <code>optional string osmosis_replication_base_url = 34;</code>
    1631        *
     1392       */
     1393      public com.google.protobuf.ByteString
     1394          getOsmosisReplicationBaseUrlBytes() {
     1395        return instance.getOsmosisReplicationBaseUrlBytes();
     1396      }
     1397      /**
    16321398       * <pre>
    16331399       * replication base URL (from Osmosis' configuration.txt file)
    16341400       * </pre>
    1635        */
    1636       @Override
    1637         public com.google.protobuf.ByteString
    1638           getOsmosisReplicationBaseUrlBytes() {
    1639         java.lang.Object ref = osmosisReplicationBaseUrl_;
    1640         if (ref instanceof String) {
    1641           com.google.protobuf.ByteString b =
    1642               com.google.protobuf.ByteString.copyFromUtf8(
    1643                   (java.lang.String) ref);
    1644           osmosisReplicationBaseUrl_ = b;
    1645           return b;
    1646         } else {
    1647           return (com.google.protobuf.ByteString) ref;
    1648         }
    1649       }
    1650       /**
     1401       *
    16511402       * <code>optional string osmosis_replication_base_url = 34;</code>
    1652        *
    1653        * <pre>
    1654        * replication base URL (from Osmosis' configuration.txt file)
    1655        * </pre>
    16561403       */
    16571404      public Builder setOsmosisReplicationBaseUrl(
    16581405          java.lang.String value) {
    1659         if (value == null) {
    1660     throw new NullPointerException();
    1661   }
    1662   bitField0_ |= 0x00000080;
    1663         osmosisReplicationBaseUrl_ = value;
    1664 
    1665         return this;
    1666       }
    1667       /**
     1406        copyOnWrite();
     1407        instance.setOsmosisReplicationBaseUrl(value);
     1408        return this;
     1409      }
     1410      /**
     1411       * <pre>
     1412       * replication base URL (from Osmosis' configuration.txt file)
     1413       * </pre>
     1414       *
    16681415       * <code>optional string osmosis_replication_base_url = 34;</code>
    1669        *
     1416       */
     1417      public Builder clearOsmosisReplicationBaseUrl() {
     1418        copyOnWrite();
     1419        instance.clearOsmosisReplicationBaseUrl();
     1420        return this;
     1421      }
     1422      /**
    16701423       * <pre>
    16711424       * replication base URL (from Osmosis' configuration.txt file)
    16721425       * </pre>
    1673        */
    1674       public Builder clearOsmosisReplicationBaseUrl() {
    1675         bitField0_ = (bitField0_ & ~0x00000080);
    1676         osmosisReplicationBaseUrl_ = getDefaultInstance().getOsmosisReplicationBaseUrl();
    1677 
    1678         return this;
    1679       }
    1680       /**
     1426       *
    16811427       * <code>optional string osmosis_replication_base_url = 34;</code>
    1682        *
    1683        * <pre>
    1684        * replication base URL (from Osmosis' configuration.txt file)
    1685        * </pre>
    16861428       */
    16871429      public Builder setOsmosisReplicationBaseUrlBytes(
    16881430          com.google.protobuf.ByteString value) {
    1689         if (value == null) {
    1690     throw new NullPointerException();
    1691   }
    1692   bitField0_ |= 0x00000080;
    1693         osmosisReplicationBaseUrl_ = value;
    1694 
     1431        copyOnWrite();
     1432        instance.setOsmosisReplicationBaseUrlBytes(value);
    16951433        return this;
    16961434      }
     
    16981436      // @@protoc_insertion_point(builder_scope:OSMPBF.HeaderBlock)
    16991437    }
    1700 
     1438    private byte memoizedIsInitialized = -1;
     1439    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
     1440    protected final java.lang.Object dynamicMethod(
     1441        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
     1442        java.lang.Object arg0, java.lang.Object arg1) {
     1443      switch (method) {
     1444        case NEW_MUTABLE_INSTANCE: {
     1445          return new crosby.binary.Osmformat.HeaderBlock();
     1446        }
     1447        case IS_INITIALIZED: {
     1448          byte isInitialized = memoizedIsInitialized;
     1449          if (isInitialized == 1) return DEFAULT_INSTANCE;
     1450          if (isInitialized == 0) return null;
     1451
     1452          boolean shouldMemoize = ((Boolean) arg0).booleanValue();
     1453          if (hasBbox()) {
     1454            if (!getBbox().isInitialized()) {
     1455              if (shouldMemoize) {
     1456                memoizedIsInitialized = 0;
     1457              }
     1458              return null;
     1459            }
     1460          }
     1461          if (shouldMemoize) memoizedIsInitialized = 1;
     1462          return DEFAULT_INSTANCE;
     1463
     1464        }
     1465        case MAKE_IMMUTABLE: {
     1466          requiredFeatures_.makeImmutable();
     1467          optionalFeatures_.makeImmutable();
     1468          return null;
     1469        }
     1470        case NEW_BUILDER: {
     1471          return new Builder();
     1472        }
     1473        case VISIT: {
     1474          Visitor visitor = (Visitor) arg0;
     1475          crosby.binary.Osmformat.HeaderBlock other = (crosby.binary.Osmformat.HeaderBlock) arg1;
     1476          bbox_ = visitor.visitMessage(bbox_, other.bbox_);
     1477          requiredFeatures_= visitor.visitList(requiredFeatures_, other.requiredFeatures_);
     1478          optionalFeatures_= visitor.visitList(optionalFeatures_, other.optionalFeatures_);
     1479          writingprogram_ = visitor.visitString(
     1480              hasWritingprogram(), writingprogram_,
     1481              other.hasWritingprogram(), other.writingprogram_);
     1482          source_ = visitor.visitString(
     1483              hasSource(), source_,
     1484              other.hasSource(), other.source_);
     1485          osmosisReplicationTimestamp_ = visitor.visitLong(
     1486              hasOsmosisReplicationTimestamp(), osmosisReplicationTimestamp_,
     1487              other.hasOsmosisReplicationTimestamp(), other.osmosisReplicationTimestamp_);
     1488          osmosisReplicationSequenceNumber_ = visitor.visitLong(
     1489              hasOsmosisReplicationSequenceNumber(), osmosisReplicationSequenceNumber_,
     1490              other.hasOsmosisReplicationSequenceNumber(), other.osmosisReplicationSequenceNumber_);
     1491          osmosisReplicationBaseUrl_ = visitor.visitString(
     1492              hasOsmosisReplicationBaseUrl(), osmosisReplicationBaseUrl_,
     1493              other.hasOsmosisReplicationBaseUrl(), other.osmosisReplicationBaseUrl_);
     1494          if (visitor == com.google.protobuf.GeneratedMessageLite.MergeFromVisitor
     1495              .INSTANCE) {
     1496            bitField0_ |= other.bitField0_;
     1497          }
     1498          return this;
     1499        }
     1500        case MERGE_FROM_STREAM: {
     1501          com.google.protobuf.CodedInputStream input =
     1502              (com.google.protobuf.CodedInputStream) arg0;
     1503          com.google.protobuf.ExtensionRegistryLite extensionRegistry =
     1504              (com.google.protobuf.ExtensionRegistryLite) arg1;
     1505          try {
     1506            boolean done = false;
     1507            while (!done) {
     1508              int tag = input.readTag();
     1509              switch (tag) {
     1510                case 0:
     1511                  done = true;
     1512                  break;
     1513                default: {
     1514                  if (!parseUnknownField(tag, input)) {
     1515                    done = true;
     1516                  }
     1517                  break;
     1518                }
     1519                case 10: {
     1520                  crosby.binary.Osmformat.HeaderBBox.Builder subBuilder = null;
     1521                  if (((bitField0_ & 0x00000001) == 0x00000001)) {
     1522                    subBuilder = bbox_.toBuilder();
     1523                  }
     1524                  bbox_ = input.readMessage(crosby.binary.Osmformat.HeaderBBox.parser(), extensionRegistry);
     1525                  if (subBuilder != null) {
     1526                    subBuilder.mergeFrom(bbox_);
     1527                    bbox_ = subBuilder.buildPartial();
     1528                  }
     1529                  bitField0_ |= 0x00000001;
     1530                  break;
     1531                }
     1532                case 34: {
     1533                  java.lang.String s = input.readString();
     1534                  if (!requiredFeatures_.isModifiable()) {
     1535                    requiredFeatures_ =
     1536                        com.google.protobuf.GeneratedMessageLite.mutableCopy(requiredFeatures_);
     1537                  }
     1538                  requiredFeatures_.add(s);
     1539                  break;
     1540                }
     1541                case 42: {
     1542                  java.lang.String s = input.readString();
     1543                  if (!optionalFeatures_.isModifiable()) {
     1544                    optionalFeatures_ =
     1545                        com.google.protobuf.GeneratedMessageLite.mutableCopy(optionalFeatures_);
     1546                  }
     1547                  optionalFeatures_.add(s);
     1548                  break;
     1549                }
     1550                case 130: {
     1551                  java.lang.String s = input.readString();
     1552                  bitField0_ |= 0x00000002;
     1553                  writingprogram_ = s;
     1554                  break;
     1555                }
     1556                case 138: {
     1557                  java.lang.String s = input.readString();
     1558                  bitField0_ |= 0x00000004;
     1559                  source_ = s;
     1560                  break;
     1561                }
     1562                case 256: {
     1563                  bitField0_ |= 0x00000008;
     1564                  osmosisReplicationTimestamp_ = input.readInt64();
     1565                  break;
     1566                }
     1567                case 264: {
     1568                  bitField0_ |= 0x00000010;
     1569                  osmosisReplicationSequenceNumber_ = input.readInt64();
     1570                  break;
     1571                }
     1572                case 274: {
     1573                  java.lang.String s = input.readString();
     1574                  bitField0_ |= 0x00000020;
     1575                  osmosisReplicationBaseUrl_ = s;
     1576                  break;
     1577                }
     1578              }
     1579            }
     1580          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
     1581            throw new RuntimeException(e.setUnfinishedMessage(this));
     1582          } catch (java.io.IOException e) {
     1583            throw new RuntimeException(
     1584                new com.google.protobuf.InvalidProtocolBufferException(
     1585                    e.getMessage()).setUnfinishedMessage(this));
     1586          } finally {
     1587          }
     1588        }
     1589        // fall through
     1590        case GET_DEFAULT_INSTANCE: {
     1591          return DEFAULT_INSTANCE;
     1592        }
     1593        case GET_PARSER: {
     1594          if (PARSER == null) {    synchronized (crosby.binary.Osmformat.HeaderBlock.class) {
     1595              if (PARSER == null) {
     1596                PARSER = new DefaultInstanceBasedParser(DEFAULT_INSTANCE);
     1597              }
     1598            }
     1599          }
     1600          return PARSER;
     1601        }
     1602      }
     1603      throw new UnsupportedOperationException();
     1604    }
     1605
     1606
     1607    // @@protoc_insertion_point(class_scope:OSMPBF.HeaderBlock)
     1608    private static final crosby.binary.Osmformat.HeaderBlock DEFAULT_INSTANCE;
    17011609    static {
    1702       defaultInstance = new HeaderBlock(true);
    1703       defaultInstance.initFields();
    1704     }
    1705 
    1706     // @@protoc_insertion_point(class_scope:OSMPBF.HeaderBlock)
     1610      DEFAULT_INSTANCE = new HeaderBlock();
     1611      DEFAULT_INSTANCE.makeImmutable();
     1612    }
     1613
     1614    public static crosby.binary.Osmformat.HeaderBlock getDefaultInstance() {
     1615      return DEFAULT_INSTANCE;
     1616    }
     1617
     1618    private static volatile com.google.protobuf.Parser<HeaderBlock> PARSER;
     1619
     1620    public static com.google.protobuf.Parser<HeaderBlock> parser() {
     1621      return DEFAULT_INSTANCE.getParserForType();
     1622    }
    17071623  }
    17081624
     
    17501666   * Protobuf type {@code OSMPBF.HeaderBBox}
    17511667   */
    1752   public static final class HeaderBBox extends
    1753       com.google.protobuf.GeneratedMessageLite implements
     1668  public  static final class HeaderBBox extends
     1669      com.google.protobuf.GeneratedMessageLite<
     1670          HeaderBBox, HeaderBBox.Builder> implements
    17541671      // @@protoc_insertion_point(message_implements:OSMPBF.HeaderBBox)
    17551672      HeaderBBoxOrBuilder {
    1756     // Use HeaderBBox.newBuilder() to construct.
    1757     private HeaderBBox(com.google.protobuf.GeneratedMessageLite.Builder builder) {
    1758       super(builder);
    1759       this.unknownFields = builder.getUnknownFields();
    1760     }
    1761     private HeaderBBox(boolean noInit) { this.unknownFields = com.google.protobuf.ByteString.EMPTY;}
    1762 
    1763     private static final HeaderBBox defaultInstance;
    1764     public static HeaderBBox getDefaultInstance() {
    1765       return defaultInstance;
    1766     }
    1767 
    1768     @Override
    1769         public HeaderBBox getDefaultInstanceForType() {
    1770       return defaultInstance;
    1771     }
    1772 
    1773     private final com.google.protobuf.ByteString unknownFields;
    1774     private HeaderBBox(
    1775         com.google.protobuf.CodedInputStream input,
    1776         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    1777         throws com.google.protobuf.InvalidProtocolBufferException {
    1778       initFields();
    1779       int mutable_bitField0_ = 0;
    1780       com.google.protobuf.ByteString.Output unknownFieldsOutput =
    1781           com.google.protobuf.ByteString.newOutput();
    1782       com.google.protobuf.CodedOutputStream unknownFieldsCodedOutput =
    1783           com.google.protobuf.CodedOutputStream.newInstance(
    1784               unknownFieldsOutput);
    1785       try {
    1786         boolean done = false;
    1787         while (!done) {
    1788           int tag = input.readTag();
    1789           switch (tag) {
    1790             case 0:
    1791               done = true;
    1792               break;
    1793             default: {
    1794               if (!parseUnknownField(input, unknownFieldsCodedOutput,
    1795                                      extensionRegistry, tag)) {
    1796                 done = true;
    1797               }
    1798               break;
    1799             }
    1800             case 8: {
    1801               bitField0_ |= 0x00000001;
    1802               left_ = input.readSInt64();
    1803               break;
    1804             }
    1805             case 16: {
    1806               bitField0_ |= 0x00000002;
    1807               right_ = input.readSInt64();
    1808               break;
    1809             }
    1810             case 24: {
    1811               bitField0_ |= 0x00000004;
    1812               top_ = input.readSInt64();
    1813               break;
    1814             }
    1815             case 32: {
    1816               bitField0_ |= 0x00000008;
    1817               bottom_ = input.readSInt64();
    1818               break;
    1819             }
    1820           }
    1821         }
    1822       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
    1823         throw e.setUnfinishedMessage(this);
    1824       } catch (java.io.IOException e) {
    1825         throw new com.google.protobuf.InvalidProtocolBufferException(
    1826             e.getMessage()).setUnfinishedMessage(this);
    1827       } finally {
    1828         try {
    1829           unknownFieldsCodedOutput.flush();
    1830         } catch (java.io.IOException e) {
    1831         // Should not happen
    1832         } finally {
    1833           unknownFields = unknownFieldsOutput.toByteString();
    1834         }
    1835         makeExtensionsImmutable();
    1836       }
    1837     }
    1838     public static com.google.protobuf.Parser<HeaderBBox> PARSER =
    1839         new com.google.protobuf.AbstractParser<HeaderBBox>() {
    1840       @Override
    1841         public HeaderBBox parsePartialFrom(
    1842           com.google.protobuf.CodedInputStream input,
    1843           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    1844           throws com.google.protobuf.InvalidProtocolBufferException {
    1845         return new HeaderBBox(input, extensionRegistry);
    1846       }
    1847     };
    1848 
    1849     @java.lang.Override
    1850     public com.google.protobuf.Parser<HeaderBBox> getParserForType() {
    1851       return PARSER;
    1852     }
    1853 
     1673    private HeaderBBox() {
     1674    }
    18541675    private int bitField0_;
    18551676    public static final int LEFT_FIELD_NUMBER = 1;
     
    18581679     * <code>required sint64 left = 1;</code>
    18591680     */
    1860     @Override
    1861         public boolean hasLeft() {
     1681    public boolean hasLeft() {
    18621682      return ((bitField0_ & 0x00000001) == 0x00000001);
    18631683    }
     
    18651685     * <code>required sint64 left = 1;</code>
    18661686     */
    1867     @Override
    1868         public long getLeft() {
     1687    public long getLeft() {
    18691688      return left_;
     1689    }
     1690    /**
     1691     * <code>required sint64 left = 1;</code>
     1692     */
     1693    private void setLeft(long value) {
     1694      bitField0_ |= 0x00000001;
     1695      left_ = value;
     1696    }
     1697    /**
     1698     * <code>required sint64 left = 1;</code>
     1699     */
     1700    private void clearLeft() {
     1701      bitField0_ = (bitField0_ & ~0x00000001);
     1702      left_ = 0L;
    18701703    }
    18711704
     
    18751708     * <code>required sint64 right = 2;</code>
    18761709     */
    1877     @Override
    1878         public boolean hasRight() {
     1710    public boolean hasRight() {
    18791711      return ((bitField0_ & 0x00000002) == 0x00000002);
    18801712    }
     
    18821714     * <code>required sint64 right = 2;</code>
    18831715     */
    1884     @Override
    1885         public long getRight() {
     1716    public long getRight() {
    18861717      return right_;
     1718    }
     1719    /**
     1720     * <code>required sint64 right = 2;</code>
     1721     */
     1722    private void setRight(long value) {
     1723      bitField0_ |= 0x00000002;
     1724      right_ = value;
     1725    }
     1726    /**
     1727     * <code>required sint64 right = 2;</code>
     1728     */
     1729    private void clearRight() {
     1730      bitField0_ = (bitField0_ & ~0x00000002);
     1731      right_ = 0L;
    18871732    }
    18881733
     
    18921737     * <code>required sint64 top = 3;</code>
    18931738     */
    1894     @Override
    1895         public boolean hasTop() {
     1739    public boolean hasTop() {
    18961740      return ((bitField0_ & 0x00000004) == 0x00000004);
    18971741    }
     
    18991743     * <code>required sint64 top = 3;</code>
    19001744     */
    1901     @Override
    1902         public long getTop() {
     1745    public long getTop() {
    19031746      return top_;
     1747    }
     1748    /**
     1749     * <code>required sint64 top = 3;</code>
     1750     */
     1751    private void setTop(long value) {
     1752      bitField0_ |= 0x00000004;
     1753      top_ = value;
     1754    }
     1755    /**
     1756     * <code>required sint64 top = 3;</code>
     1757     */
     1758    private void clearTop() {
     1759      bitField0_ = (bitField0_ & ~0x00000004);
     1760      top_ = 0L;
    19041761    }
    19051762
     
    19091766     * <code>required sint64 bottom = 4;</code>
    19101767     */
    1911     @Override
    1912         public boolean hasBottom() {
     1768    public boolean hasBottom() {
    19131769      return ((bitField0_ & 0x00000008) == 0x00000008);
    19141770    }
     
    19161772     * <code>required sint64 bottom = 4;</code>
    19171773     */
    1918     @Override
    1919         public long getBottom() {
     1774    public long getBottom() {
    19201775      return bottom_;
    19211776    }
    1922 
    1923     private void initFields() {
    1924       left_ = 0L;
    1925       right_ = 0L;
    1926       top_ = 0L;
     1777    /**
     1778     * <code>required sint64 bottom = 4;</code>
     1779     */
     1780    private void setBottom(long value) {
     1781      bitField0_ |= 0x00000008;
     1782      bottom_ = value;
     1783    }
     1784    /**
     1785     * <code>required sint64 bottom = 4;</code>
     1786     */
     1787    private void clearBottom() {
     1788      bitField0_ = (bitField0_ & ~0x00000008);
    19271789      bottom_ = 0L;
    19281790    }
    1929     private byte memoizedIsInitialized = -1;
    1930     @Override
    1931         public final boolean isInitialized() {
    1932       byte isInitialized = memoizedIsInitialized;
    1933       if (isInitialized == 1) return true;
    1934       if (isInitialized == 0) return false;
    1935 
    1936       if (!hasLeft()) {
    1937         memoizedIsInitialized = 0;
    1938         return false;
    1939       }
    1940       if (!hasRight()) {
    1941         memoizedIsInitialized = 0;
    1942         return false;
    1943       }
    1944       if (!hasTop()) {
    1945         memoizedIsInitialized = 0;
    1946         return false;
    1947       }
    1948       if (!hasBottom()) {
    1949         memoizedIsInitialized = 0;
    1950         return false;
    1951       }
    1952       memoizedIsInitialized = 1;
    1953       return true;
    1954     }
    1955 
    1956     @Override
    1957         public void writeTo(com.google.protobuf.CodedOutputStream output)
     1791
     1792    public void writeTo(com.google.protobuf.CodedOutputStream output)
    19581793                        throws java.io.IOException {
    1959       getSerializedSize();
    19601794      if (((bitField0_ & 0x00000001) == 0x00000001)) {
    19611795        output.writeSInt64(1, left_);
     
    19701804        output.writeSInt64(4, bottom_);
    19711805      }
    1972       output.writeRawBytes(unknownFields);
    1973     }
    1974 
    1975     private int memoizedSerializedSize = -1;
    1976     @Override
    1977         public int getSerializedSize() {
     1806      unknownFields.writeTo(output);
     1807    }
     1808
     1809    public int getSerializedSize() {
    19781810      int size = memoizedSerializedSize;
    19791811      if (size != -1) return size;
     
    19961828          .computeSInt64Size(4, bottom_);
    19971829      }
    1998       size += unknownFields.size();
     1830      size += unknownFields.getSerializedSize();
    19991831      memoizedSerializedSize = size;
    20001832      return size;
    20011833    }
    20021834
    2003     private static final long serialVersionUID = 0L;
    2004     @java.lang.Override
    2005     protected java.lang.Object writeReplace()
    2006         throws java.io.ObjectStreamException {
    2007       return super.writeReplace();
    2008     }
    2009 
     1835    public static crosby.binary.Osmformat.HeaderBBox parseFrom(
     1836        java.nio.ByteBuffer data)
     1837        throws com.google.protobuf.InvalidProtocolBufferException {
     1838      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     1839          DEFAULT_INSTANCE, data);
     1840    }
     1841    public static crosby.binary.Osmformat.HeaderBBox parseFrom(
     1842        java.nio.ByteBuffer data,
     1843        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     1844        throws com.google.protobuf.InvalidProtocolBufferException {
     1845      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     1846          DEFAULT_INSTANCE, data, extensionRegistry);
     1847    }
    20101848    public static crosby.binary.Osmformat.HeaderBBox parseFrom(
    20111849        com.google.protobuf.ByteString data)
    20121850        throws com.google.protobuf.InvalidProtocolBufferException {
    2013       return PARSER.parseFrom(data);
     1851      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     1852          DEFAULT_INSTANCE, data);
    20141853    }
    20151854    public static crosby.binary.Osmformat.HeaderBBox parseFrom(
     
    20171856        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    20181857        throws com.google.protobuf.InvalidProtocolBufferException {
    2019       return PARSER.parseFrom(data, extensionRegistry);
     1858      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     1859          DEFAULT_INSTANCE, data, extensionRegistry);
    20201860    }
    20211861    public static crosby.binary.Osmformat.HeaderBBox parseFrom(byte[] data)
    20221862        throws com.google.protobuf.InvalidProtocolBufferException {
    2023       return PARSER.parseFrom(data);
     1863      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     1864          DEFAULT_INSTANCE, data);
    20241865    }
    20251866    public static crosby.binary.Osmformat.HeaderBBox parseFrom(
     
    20271868        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    20281869        throws com.google.protobuf.InvalidProtocolBufferException {
    2029       return PARSER.parseFrom(data, extensionRegistry);
     1870      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     1871          DEFAULT_INSTANCE, data, extensionRegistry);
    20301872    }
    20311873    public static crosby.binary.Osmformat.HeaderBBox parseFrom(java.io.InputStream input)
    20321874        throws java.io.IOException {
    2033       return PARSER.parseFrom(input);
     1875      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     1876          DEFAULT_INSTANCE, input);
    20341877    }
    20351878    public static crosby.binary.Osmformat.HeaderBBox parseFrom(
     
    20371880        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    20381881        throws java.io.IOException {
    2039       return PARSER.parseFrom(input, extensionRegistry);
     1882      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     1883          DEFAULT_INSTANCE, input, extensionRegistry);
    20401884    }
    20411885    public static crosby.binary.Osmformat.HeaderBBox parseDelimitedFrom(java.io.InputStream input)
    20421886        throws java.io.IOException {
    2043       return PARSER.parseDelimitedFrom(input);
     1887      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    20441888    }
    20451889    public static crosby.binary.Osmformat.HeaderBBox parseDelimitedFrom(
     
    20471891        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    20481892        throws java.io.IOException {
    2049       return PARSER.parseDelimitedFrom(input, extensionRegistry);
     1893      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    20501894    }
    20511895    public static crosby.binary.Osmformat.HeaderBBox parseFrom(
    20521896        com.google.protobuf.CodedInputStream input)
    20531897        throws java.io.IOException {
    2054       return PARSER.parseFrom(input);
     1898      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     1899          DEFAULT_INSTANCE, input);
    20551900    }
    20561901    public static crosby.binary.Osmformat.HeaderBBox parseFrom(
     
    20581903        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    20591904        throws java.io.IOException {
    2060       return PARSER.parseFrom(input, extensionRegistry);
    2061     }
    2062 
    2063     public static Builder newBuilder() { return Builder.create(); }
    2064     @Override
    2065         public Builder newBuilderForType() { return newBuilder(); }
     1905      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     1906          DEFAULT_INSTANCE, input, extensionRegistry);
     1907    }
     1908
     1909    public static Builder newBuilder() {
     1910      return DEFAULT_INSTANCE.toBuilder();
     1911    }
    20661912    public static Builder newBuilder(crosby.binary.Osmformat.HeaderBBox prototype) {
    2067       return newBuilder().mergeFrom(prototype);
    2068     }
    2069     @Override
    2070         public Builder toBuilder() { return newBuilder(this); }
     1913      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     1914    }
    20711915
    20721916    /**
     
    20751919    public static final class Builder extends
    20761920        com.google.protobuf.GeneratedMessageLite.Builder<
    2077           crosby.binary.Osmformat.HeaderBBox, Builder>
    2078         implements
     1921          crosby.binary.Osmformat.HeaderBBox, Builder> implements
    20791922        // @@protoc_insertion_point(builder_implements:OSMPBF.HeaderBBox)
    20801923        crosby.binary.Osmformat.HeaderBBoxOrBuilder {
    20811924      // Construct using crosby.binary.Osmformat.HeaderBBox.newBuilder()
    20821925      private Builder() {
    2083         maybeForceBuilderInitialization();
    2084       }
    2085 
    2086       private void maybeForceBuilderInitialization() {
    2087       }
    2088       private static Builder create() {
    2089         return new Builder();
    2090       }
    2091 
    2092       @Override
    2093         public Builder clear() {
    2094         super.clear();
    2095         left_ = 0L;
    2096         bitField0_ = (bitField0_ & ~0x00000001);
    2097         right_ = 0L;
    2098         bitField0_ = (bitField0_ & ~0x00000002);
    2099         top_ = 0L;
    2100         bitField0_ = (bitField0_ & ~0x00000004);
    2101         bottom_ = 0L;
    2102         bitField0_ = (bitField0_ & ~0x00000008);
    2103         return this;
    2104       }
    2105 
    2106       @Override
    2107         public Builder clone() {
    2108         return create().mergeFrom(buildPartial());
    2109       }
    2110 
    2111       @Override
    2112         public crosby.binary.Osmformat.HeaderBBox getDefaultInstanceForType() {
    2113         return crosby.binary.Osmformat.HeaderBBox.getDefaultInstance();
    2114       }
    2115 
    2116       @Override
    2117         public crosby.binary.Osmformat.HeaderBBox build() {
    2118         crosby.binary.Osmformat.HeaderBBox result = buildPartial();
    2119         if (!result.isInitialized()) {
    2120           throw newUninitializedMessageException(result);
    2121         }
    2122         return result;
    2123       }
    2124 
    2125       @Override
    2126         public crosby.binary.Osmformat.HeaderBBox buildPartial() {
    2127         crosby.binary.Osmformat.HeaderBBox result = new crosby.binary.Osmformat.HeaderBBox(this);
    2128         int from_bitField0_ = bitField0_;
    2129         int to_bitField0_ = 0;
    2130         if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
    2131           to_bitField0_ |= 0x00000001;
    2132         }
    2133         result.left_ = left_;
    2134         if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
    2135           to_bitField0_ |= 0x00000002;
    2136         }
    2137         result.right_ = right_;
    2138         if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
    2139           to_bitField0_ |= 0x00000004;
    2140         }
    2141         result.top_ = top_;
    2142         if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
    2143           to_bitField0_ |= 0x00000008;
    2144         }
    2145         result.bottom_ = bottom_;
    2146         result.bitField0_ = to_bitField0_;
    2147         return result;
    2148       }
    2149 
    2150       @Override
    2151         public Builder mergeFrom(crosby.binary.Osmformat.HeaderBBox other) {
    2152         if (other == crosby.binary.Osmformat.HeaderBBox.getDefaultInstance()) return this;
    2153         if (other.hasLeft()) {
    2154           setLeft(other.getLeft());
    2155         }
    2156         if (other.hasRight()) {
    2157           setRight(other.getRight());
    2158         }
    2159         if (other.hasTop()) {
    2160           setTop(other.getTop());
    2161         }
    2162         if (other.hasBottom()) {
    2163           setBottom(other.getBottom());
    2164         }
    2165         setUnknownFields(
    2166             getUnknownFields().concat(other.unknownFields));
    2167         return this;
    2168       }
    2169 
    2170       @Override
    2171         public final boolean isInitialized() {
    2172         if (!hasLeft()) {
    2173 
    2174           return false;
    2175         }
    2176         if (!hasRight()) {
    2177 
    2178           return false;
    2179         }
    2180         if (!hasTop()) {
    2181 
    2182           return false;
    2183         }
    2184         if (!hasBottom()) {
    2185 
    2186           return false;
    2187         }
    2188         return true;
    2189       }
    2190 
    2191       @Override
    2192         public Builder mergeFrom(
    2193           com.google.protobuf.CodedInputStream input,
    2194           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    2195           throws java.io.IOException {
    2196         crosby.binary.Osmformat.HeaderBBox parsedMessage = null;
    2197         try {
    2198           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
    2199         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
    2200           parsedMessage = (crosby.binary.Osmformat.HeaderBBox) e.getUnfinishedMessage();
    2201           throw e;
    2202         } finally {
    2203           if (parsedMessage != null) {
    2204             mergeFrom(parsedMessage);
     1926        super(DEFAULT_INSTANCE);
     1927      }
     1928
     1929
     1930      /**
     1931       * <code>required sint64 left = 1;</code>
     1932       */
     1933      public boolean hasLeft() {
     1934        return instance.hasLeft();
     1935      }
     1936      /**
     1937       * <code>required sint64 left = 1;</code>
     1938       */
     1939      public long getLeft() {
     1940        return instance.getLeft();
     1941      }
     1942      /**
     1943       * <code>required sint64 left = 1;</code>
     1944       */
     1945      public Builder setLeft(long value) {
     1946        copyOnWrite();
     1947        instance.setLeft(value);
     1948        return this;
     1949      }
     1950      /**
     1951       * <code>required sint64 left = 1;</code>
     1952       */
     1953      public Builder clearLeft() {
     1954        copyOnWrite();
     1955        instance.clearLeft();
     1956        return this;
     1957      }
     1958
     1959      /**
     1960       * <code>required sint64 right = 2;</code>
     1961       */
     1962      public boolean hasRight() {
     1963        return instance.hasRight();
     1964      }
     1965      /**
     1966       * <code>required sint64 right = 2;</code>
     1967       */
     1968      public long getRight() {
     1969        return instance.getRight();
     1970      }
     1971      /**
     1972       * <code>required sint64 right = 2;</code>
     1973       */
     1974      public Builder setRight(long value) {
     1975        copyOnWrite();
     1976        instance.setRight(value);
     1977        return this;
     1978      }
     1979      /**
     1980       * <code>required sint64 right = 2;</code>
     1981       */
     1982      public Builder clearRight() {
     1983        copyOnWrite();
     1984        instance.clearRight();
     1985        return this;
     1986      }
     1987
     1988      /**
     1989       * <code>required sint64 top = 3;</code>
     1990       */
     1991      public boolean hasTop() {
     1992        return instance.hasTop();
     1993      }
     1994      /**
     1995       * <code>required sint64 top = 3;</code>
     1996       */
     1997      public long getTop() {
     1998        return instance.getTop();
     1999      }
     2000      /**
     2001       * <code>required sint64 top = 3;</code>
     2002       */
     2003      public Builder setTop(long value) {
     2004        copyOnWrite();
     2005        instance.setTop(value);
     2006        return this;
     2007      }
     2008      /**
     2009       * <code>required sint64 top = 3;</code>
     2010       */
     2011      public Builder clearTop() {
     2012        copyOnWrite();
     2013        instance.clearTop();
     2014        return this;
     2015      }
     2016
     2017      /**
     2018       * <code>required sint64 bottom = 4;</code>
     2019       */
     2020      public boolean hasBottom() {
     2021        return instance.hasBottom();
     2022      }
     2023      /**
     2024       * <code>required sint64 bottom = 4;</code>
     2025       */
     2026      public long getBottom() {
     2027        return instance.getBottom();
     2028      }
     2029      /**
     2030       * <code>required sint64 bottom = 4;</code>
     2031       */
     2032      public Builder setBottom(long value) {
     2033        copyOnWrite();
     2034        instance.setBottom(value);
     2035        return this;
     2036      }
     2037      /**
     2038       * <code>required sint64 bottom = 4;</code>
     2039       */
     2040      public Builder clearBottom() {
     2041        copyOnWrite();
     2042        instance.clearBottom();
     2043        return this;
     2044      }
     2045
     2046      // @@protoc_insertion_point(builder_scope:OSMPBF.HeaderBBox)
     2047    }
     2048    private byte memoizedIsInitialized = -1;
     2049    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
     2050    protected final java.lang.Object dynamicMethod(
     2051        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
     2052        java.lang.Object arg0, java.lang.Object arg1) {
     2053      switch (method) {
     2054        case NEW_MUTABLE_INSTANCE: {
     2055          return new crosby.binary.Osmformat.HeaderBBox();
     2056        }
     2057        case IS_INITIALIZED: {
     2058          byte isInitialized = memoizedIsInitialized;
     2059          if (isInitialized == 1) return DEFAULT_INSTANCE;
     2060          if (isInitialized == 0) return null;
     2061
     2062          boolean shouldMemoize = ((Boolean) arg0).booleanValue();
     2063          if (!hasLeft()) {
     2064            if (shouldMemoize) {
     2065              memoizedIsInitialized = 0;
     2066            }
     2067            return null;
    22052068          }
    2206         }
    2207         return this;
    2208       }
    2209       private int bitField0_;
    2210 
    2211       private long left_ ;
    2212       /**
    2213        * <code>required sint64 left = 1;</code>
    2214        */
    2215       @Override
    2216         public boolean hasLeft() {
    2217         return ((bitField0_ & 0x00000001) == 0x00000001);
    2218       }
    2219       /**
    2220        * <code>required sint64 left = 1;</code>
    2221        */
    2222       @Override
    2223         public long getLeft() {
    2224         return left_;
    2225       }
    2226       /**
    2227        * <code>required sint64 left = 1;</code>
    2228        */
    2229       public Builder setLeft(long value) {
    2230         bitField0_ |= 0x00000001;
    2231         left_ = value;
    2232 
    2233         return this;
    2234       }
    2235       /**
    2236        * <code>required sint64 left = 1;</code>
    2237        */
    2238       public Builder clearLeft() {
    2239         bitField0_ = (bitField0_ & ~0x00000001);
    2240         left_ = 0L;
    2241 
    2242         return this;
    2243       }
    2244 
    2245       private long right_ ;
    2246       /**
    2247        * <code>required sint64 right = 2;</code>
    2248        */
    2249       @Override
    2250         public boolean hasRight() {
    2251         return ((bitField0_ & 0x00000002) == 0x00000002);
    2252       }
    2253       /**
    2254        * <code>required sint64 right = 2;</code>
    2255        */
    2256       @Override
    2257         public long getRight() {
    2258         return right_;
    2259       }
    2260       /**
    2261        * <code>required sint64 right = 2;</code>
    2262        */
    2263       public Builder setRight(long value) {
    2264         bitField0_ |= 0x00000002;
    2265         right_ = value;
    2266 
    2267         return this;
    2268       }
    2269       /**
    2270        * <code>required sint64 right = 2;</code>
    2271        */
    2272       public Builder clearRight() {
    2273         bitField0_ = (bitField0_ & ~0x00000002);
    2274         right_ = 0L;
    2275 
    2276         return this;
    2277       }
    2278 
    2279       private long top_ ;
    2280       /**
    2281        * <code>required sint64 top = 3;</code>
    2282        */
    2283       @Override
    2284         public boolean hasTop() {
    2285         return ((bitField0_ & 0x00000004) == 0x00000004);
    2286       }
    2287       /**
    2288        * <code>required sint64 top = 3;</code>
    2289        */
    2290       @Override
    2291         public long getTop() {
    2292         return top_;
    2293       }
    2294       /**
    2295        * <code>required sint64 top = 3;</code>
    2296        */
    2297       public Builder setTop(long value) {
    2298         bitField0_ |= 0x00000004;
    2299         top_ = value;
    2300 
    2301         return this;
    2302       }
    2303       /**
    2304        * <code>required sint64 top = 3;</code>
    2305        */
    2306       public Builder clearTop() {
    2307         bitField0_ = (bitField0_ & ~0x00000004);
    2308         top_ = 0L;
    2309 
    2310         return this;
    2311       }
    2312 
    2313       private long bottom_ ;
    2314       /**
    2315        * <code>required sint64 bottom = 4;</code>
    2316        */
    2317       @Override
    2318         public boolean hasBottom() {
    2319         return ((bitField0_ & 0x00000008) == 0x00000008);
    2320       }
    2321       /**
    2322        * <code>required sint64 bottom = 4;</code>
    2323        */
    2324       @Override
    2325         public long getBottom() {
    2326         return bottom_;
    2327       }
    2328       /**
    2329        * <code>required sint64 bottom = 4;</code>
    2330        */
    2331       public Builder setBottom(long value) {
    2332         bitField0_ |= 0x00000008;
    2333         bottom_ = value;
    2334 
    2335         return this;
    2336       }
    2337       /**
    2338        * <code>required sint64 bottom = 4;</code>
    2339        */
    2340       public Builder clearBottom() {
    2341         bitField0_ = (bitField0_ & ~0x00000008);
    2342         bottom_ = 0L;
    2343 
    2344         return this;
    2345       }
    2346 
    2347       // @@protoc_insertion_point(builder_scope:OSMPBF.HeaderBBox)
    2348     }
    2349 
     2069          if (!hasRight()) {
     2070            if (shouldMemoize) {
     2071              memoizedIsInitialized = 0;
     2072            }
     2073            return null;
     2074          }
     2075          if (!hasTop()) {
     2076            if (shouldMemoize) {
     2077              memoizedIsInitialized = 0;
     2078            }
     2079            return null;
     2080          }
     2081          if (!hasBottom()) {
     2082            if (shouldMemoize) {
     2083              memoizedIsInitialized = 0;
     2084            }
     2085            return null;
     2086          }
     2087          if (shouldMemoize) memoizedIsInitialized = 1;
     2088          return DEFAULT_INSTANCE;
     2089
     2090        }
     2091        case MAKE_IMMUTABLE: {
     2092          return null;
     2093        }
     2094        case NEW_BUILDER: {
     2095          return new Builder();
     2096        }
     2097        case VISIT: {
     2098          Visitor visitor = (Visitor) arg0;
     2099          crosby.binary.Osmformat.HeaderBBox other = (crosby.binary.Osmformat.HeaderBBox) arg1;
     2100          left_ = visitor.visitLong(
     2101              hasLeft(), left_,
     2102              other.hasLeft(), other.left_);
     2103          right_ = visitor.visitLong(
     2104              hasRight(), right_,
     2105              other.hasRight(), other.right_);
     2106          top_ = visitor.visitLong(
     2107              hasTop(), top_,
     2108              other.hasTop(), other.top_);
     2109          bottom_ = visitor.visitLong(
     2110              hasBottom(), bottom_,
     2111              other.hasBottom(), other.bottom_);
     2112          if (visitor == com.google.protobuf.GeneratedMessageLite.MergeFromVisitor
     2113              .INSTANCE) {
     2114            bitField0_ |= other.bitField0_;
     2115          }
     2116          return this;
     2117        }
     2118        case MERGE_FROM_STREAM: {
     2119          com.google.protobuf.CodedInputStream input =
     2120              (com.google.protobuf.CodedInputStream) arg0;
     2121          com.google.protobuf.ExtensionRegistryLite extensionRegistry =
     2122              (com.google.protobuf.ExtensionRegistryLite) arg1;
     2123          try {
     2124            boolean done = false;
     2125            while (!done) {
     2126              int tag = input.readTag();
     2127              switch (tag) {
     2128                case 0:
     2129                  done = true;
     2130                  break;
     2131                default: {
     2132                  if (!parseUnknownField(tag, input)) {
     2133                    done = true;
     2134                  }
     2135                  break;
     2136                }
     2137                case 8: {
     2138                  bitField0_ |= 0x00000001;
     2139                  left_ = input.readSInt64();
     2140                  break;
     2141                }
     2142                case 16: {
     2143                  bitField0_ |= 0x00000002;
     2144                  right_ = input.readSInt64();
     2145                  break;
     2146                }
     2147                case 24: {
     2148                  bitField0_ |= 0x00000004;
     2149                  top_ = input.readSInt64();
     2150                  break;
     2151                }
     2152                case 32: {
     2153                  bitField0_ |= 0x00000008;
     2154                  bottom_ = input.readSInt64();
     2155                  break;
     2156                }
     2157              }
     2158            }
     2159          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
     2160            throw new RuntimeException(e.setUnfinishedMessage(this));
     2161          } catch (java.io.IOException e) {
     2162            throw new RuntimeException(
     2163                new com.google.protobuf.InvalidProtocolBufferException(
     2164                    e.getMessage()).setUnfinishedMessage(this));
     2165          } finally {
     2166          }
     2167        }
     2168        // fall through
     2169        case GET_DEFAULT_INSTANCE: {
     2170          return DEFAULT_INSTANCE;
     2171        }
     2172        case GET_PARSER: {
     2173          if (PARSER == null) {    synchronized (crosby.binary.Osmformat.HeaderBBox.class) {
     2174              if (PARSER == null) {
     2175                PARSER = new DefaultInstanceBasedParser(DEFAULT_INSTANCE);
     2176              }
     2177            }
     2178          }
     2179          return PARSER;
     2180        }
     2181      }
     2182      throw new UnsupportedOperationException();
     2183    }
     2184
     2185
     2186    // @@protoc_insertion_point(class_scope:OSMPBF.HeaderBBox)
     2187    private static final crosby.binary.Osmformat.HeaderBBox DEFAULT_INSTANCE;
    23502188    static {
    2351       defaultInstance = new HeaderBBox(true);
    2352       defaultInstance.initFields();
    2353     }
    2354 
    2355     // @@protoc_insertion_point(class_scope:OSMPBF.HeaderBBox)
     2189      DEFAULT_INSTANCE = new HeaderBBox();
     2190      DEFAULT_INSTANCE.makeImmutable();
     2191    }
     2192
     2193    public static crosby.binary.Osmformat.HeaderBBox getDefaultInstance() {
     2194      return DEFAULT_INSTANCE;
     2195    }
     2196
     2197    private static volatile com.google.protobuf.Parser<HeaderBBox> PARSER;
     2198
     2199    public static com.google.protobuf.Parser<HeaderBBox> parser() {
     2200      return DEFAULT_INSTANCE.getParserForType();
     2201    }
    23562202  }
    23572203
     
    23722218     * <code>repeated .OSMPBF.PrimitiveGroup primitivegroup = 2;</code>
    23732219     */
    2374     java.util.List<crosby.binary.Osmformat.PrimitiveGroup>
     2220    java.util.List<crosby.binary.Osmformat.PrimitiveGroup> 
    23752221        getPrimitivegroupList();
    23762222    /**
     
    23842230
    23852231    /**
     2232     * <pre>
     2233     * Granularity, units of nanodegrees, used to store coordinates in this block
     2234     * </pre>
     2235     *
    23862236     * <code>optional int32 granularity = 17 [default = 100];</code>
    2387      *
     2237     */
     2238    boolean hasGranularity();
     2239    /**
    23882240     * <pre>
    23892241     * Granularity, units of nanodegrees, used to store coordinates in this block
    23902242     * </pre>
    2391      */
    2392     boolean hasGranularity();
    2393     /**
     2243     *
    23942244     * <code>optional int32 granularity = 17 [default = 100];</code>
    2395      *
    2396      * <pre>
    2397      * Granularity, units of nanodegrees, used to store coordinates in this block
    2398      * </pre>
    23992245     */
    24002246    int getGranularity();
    24012247
    24022248    /**
     2249     * <pre>
     2250     * Offset value between the output coordinates coordinates and the granularity grid in unites of nanodegrees.
     2251     * </pre>
     2252     *
    24032253     * <code>optional int64 lat_offset = 19 [default = 0];</code>
    2404      *
     2254     */
     2255    boolean hasLatOffset();
     2256    /**
    24052257     * <pre>
    24062258     * Offset value between the output coordinates coordinates and the granularity grid in unites of nanodegrees.
    24072259     * </pre>
    2408      */
    2409     boolean hasLatOffset();
    2410     /**
     2260     *
    24112261     * <code>optional int64 lat_offset = 19 [default = 0];</code>
    2412      *
    2413      * <pre>
    2414      * Offset value between the output coordinates coordinates and the granularity grid in unites of nanodegrees.
    2415      * </pre>
    24162262     */
    24172263    long getLatOffset();
     
    24272273
    24282274    /**
     2275     * <pre>
     2276     * Granularity of dates, normally represented in units of milliseconds since the 1970 epoch.
     2277     * </pre>
     2278     *
    24292279     * <code>optional int32 date_granularity = 18 [default = 1000];</code>
    2430      *
     2280     */
     2281    boolean hasDateGranularity();
     2282    /**
    24312283     * <pre>
    24322284     * Granularity of dates, normally represented in units of milliseconds since the 1970 epoch.
    24332285     * </pre>
    2434      */
    2435     boolean hasDateGranularity();
    2436     /**
     2286     *
    24372287     * <code>optional int32 date_granularity = 18 [default = 1000];</code>
    2438      *
    2439      * <pre>
    2440      * Granularity of dates, normally represented in units of milliseconds since the 1970 epoch.
    2441      * </pre>
    24422288     */
    24432289    int getDateGranularity();
     
    24462292   * Protobuf type {@code OSMPBF.PrimitiveBlock}
    24472293   */
    2448   public static final class PrimitiveBlock extends
    2449       com.google.protobuf.GeneratedMessageLite implements
     2294  public  static final class PrimitiveBlock extends
     2295      com.google.protobuf.GeneratedMessageLite<
     2296          PrimitiveBlock, PrimitiveBlock.Builder> implements
    24502297      // @@protoc_insertion_point(message_implements:OSMPBF.PrimitiveBlock)
    24512298      PrimitiveBlockOrBuilder {
    2452     // Use PrimitiveBlock.newBuilder() to construct.
    2453     private PrimitiveBlock(com.google.protobuf.GeneratedMessageLite.Builder builder) {
    2454       super(builder);
    2455       this.unknownFields = builder.getUnknownFields();
    2456     }
    2457     private PrimitiveBlock(boolean noInit) { this.unknownFields = com.google.protobuf.ByteString.EMPTY;}
    2458 
    2459     private static final PrimitiveBlock defaultInstance;
    2460     public static PrimitiveBlock getDefaultInstance() {
    2461       return defaultInstance;
    2462     }
    2463 
    2464     @Override
    2465         public PrimitiveBlock getDefaultInstanceForType() {
    2466       return defaultInstance;
    2467     }
    2468 
    2469     private final com.google.protobuf.ByteString unknownFields;
    2470     private PrimitiveBlock(
    2471         com.google.protobuf.CodedInputStream input,
    2472         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    2473         throws com.google.protobuf.InvalidProtocolBufferException {
    2474       initFields();
    2475       int mutable_bitField0_ = 0;
    2476       com.google.protobuf.ByteString.Output unknownFieldsOutput =
    2477           com.google.protobuf.ByteString.newOutput();
    2478       com.google.protobuf.CodedOutputStream unknownFieldsCodedOutput =
    2479           com.google.protobuf.CodedOutputStream.newInstance(
    2480               unknownFieldsOutput);
    2481       try {
    2482         boolean done = false;
    2483         while (!done) {
    2484           int tag = input.readTag();
    2485           switch (tag) {
    2486             case 0:
    2487               done = true;
    2488               break;
    2489             default: {
    2490               if (!parseUnknownField(input, unknownFieldsCodedOutput,
    2491                                      extensionRegistry, tag)) {
    2492                 done = true;
    2493               }
    2494               break;
    2495             }
    2496             case 10: {
    2497               crosby.binary.Osmformat.StringTable.Builder subBuilder = null;
    2498               if (((bitField0_ & 0x00000001) == 0x00000001)) {
    2499                 subBuilder = stringtable_.toBuilder();
    2500               }
    2501               stringtable_ = input.readMessage(crosby.binary.Osmformat.StringTable.PARSER, extensionRegistry);
    2502               if (subBuilder != null) {
    2503                 subBuilder.mergeFrom(stringtable_);
    2504                 stringtable_ = subBuilder.buildPartial();
    2505               }
    2506               bitField0_ |= 0x00000001;
    2507               break;
    2508             }
    2509             case 18: {
    2510               if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
    2511                 primitivegroup_ = new java.util.ArrayList<>();
    2512                 mutable_bitField0_ |= 0x00000002;
    2513               }
    2514               primitivegroup_.add(input.readMessage(crosby.binary.Osmformat.PrimitiveGroup.PARSER, extensionRegistry));
    2515               break;
    2516             }
    2517             case 136: {
    2518               bitField0_ |= 0x00000002;
    2519               granularity_ = input.readInt32();
    2520               break;
    2521             }
    2522             case 144: {
    2523               bitField0_ |= 0x00000010;
    2524               dateGranularity_ = input.readInt32();
    2525               break;
    2526             }
    2527             case 152: {
    2528               bitField0_ |= 0x00000004;
    2529               latOffset_ = input.readInt64();
    2530               break;
    2531             }
    2532             case 160: {
    2533               bitField0_ |= 0x00000008;
    2534               lonOffset_ = input.readInt64();
    2535               break;
    2536             }
    2537           }
    2538         }
    2539       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
    2540         throw e.setUnfinishedMessage(this);
    2541       } catch (java.io.IOException e) {
    2542         throw new com.google.protobuf.InvalidProtocolBufferException(
    2543             e.getMessage()).setUnfinishedMessage(this);
    2544       } finally {
    2545         if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
    2546           primitivegroup_ = java.util.Collections.unmodifiableList(primitivegroup_);
    2547         }
    2548         try {
    2549           unknownFieldsCodedOutput.flush();
    2550         } catch (java.io.IOException e) {
    2551         // Should not happen
    2552         } finally {
    2553           unknownFields = unknownFieldsOutput.toByteString();
    2554         }
    2555         makeExtensionsImmutable();
    2556       }
    2557     }
    2558     public static com.google.protobuf.Parser<PrimitiveBlock> PARSER =
    2559         new com.google.protobuf.AbstractParser<PrimitiveBlock>() {
    2560       @Override
    2561         public PrimitiveBlock parsePartialFrom(
    2562           com.google.protobuf.CodedInputStream input,
    2563           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    2564           throws com.google.protobuf.InvalidProtocolBufferException {
    2565         return new PrimitiveBlock(input, extensionRegistry);
    2566       }
    2567     };
    2568 
    2569     @java.lang.Override
    2570     public com.google.protobuf.Parser<PrimitiveBlock> getParserForType() {
    2571       return PARSER;
    2572     }
    2573 
     2299    private PrimitiveBlock() {
     2300      primitivegroup_ = emptyProtobufList();
     2301      granularity_ = 100;
     2302      dateGranularity_ = 1000;
     2303    }
    25742304    private int bitField0_;
    25752305    public static final int STRINGTABLE_FIELD_NUMBER = 1;
     
    25782308     * <code>required .OSMPBF.StringTable stringtable = 1;</code>
    25792309     */
    2580     @Override
    2581         public boolean hasStringtable() {
     2310    public boolean hasStringtable() {
    25822311      return ((bitField0_ & 0x00000001) == 0x00000001);
    25832312    }
     
    25852314     * <code>required .OSMPBF.StringTable stringtable = 1;</code>
    25862315     */
    2587     @Override
    2588         public crosby.binary.Osmformat.StringTable getStringtable() {
    2589       return stringtable_;
     2316    public crosby.binary.Osmformat.StringTable getStringtable() {
     2317      return stringtable_ == null ? crosby.binary.Osmformat.StringTable.getDefaultInstance() : stringtable_;
     2318    }
     2319    /**
     2320     * <code>required .OSMPBF.StringTable stringtable = 1;</code>
     2321     */
     2322    private void setStringtable(crosby.binary.Osmformat.StringTable value) {
     2323      if (value == null) {
     2324        throw new NullPointerException();
     2325      }
     2326      stringtable_ = value;
     2327      bitField0_ |= 0x00000001;
     2328      }
     2329    /**
     2330     * <code>required .OSMPBF.StringTable stringtable = 1;</code>
     2331     */
     2332    private void setStringtable(
     2333        crosby.binary.Osmformat.StringTable.Builder builderForValue) {
     2334      stringtable_ = builderForValue.build();
     2335      bitField0_ |= 0x00000001;
     2336    }
     2337    /**
     2338     * <code>required .OSMPBF.StringTable stringtable = 1;</code>
     2339     */
     2340    private void mergeStringtable(crosby.binary.Osmformat.StringTable value) {
     2341      if (stringtable_ != null &&
     2342          stringtable_ != crosby.binary.Osmformat.StringTable.getDefaultInstance()) {
     2343        stringtable_ =
     2344          crosby.binary.Osmformat.StringTable.newBuilder(stringtable_).mergeFrom(value).buildPartial();
     2345      } else {
     2346        stringtable_ = value;
     2347      }
     2348      bitField0_ |= 0x00000001;
     2349    }
     2350    /**
     2351     * <code>required .OSMPBF.StringTable stringtable = 1;</code>
     2352     */
     2353    private void clearStringtable() {  stringtable_ = null;
     2354      bitField0_ = (bitField0_ & ~0x00000001);
    25902355    }
    25912356
    25922357    public static final int PRIMITIVEGROUP_FIELD_NUMBER = 2;
    2593     private java.util.List<crosby.binary.Osmformat.PrimitiveGroup> primitivegroup_;
     2358    private com.google.protobuf.Internal.ProtobufList<crosby.binary.Osmformat.PrimitiveGroup> primitivegroup_;
    25942359    /**
    25952360     * <code>repeated .OSMPBF.PrimitiveGroup primitivegroup = 2;</code>
    25962361     */
    2597     @Override
    2598         public java.util.List<crosby.binary.Osmformat.PrimitiveGroup> getPrimitivegroupList() {
     2362    public java.util.List<crosby.binary.Osmformat.PrimitiveGroup> getPrimitivegroupList() {
    25992363      return primitivegroup_;
    26002364    }
     
    26022366     * <code>repeated .OSMPBF.PrimitiveGroup primitivegroup = 2;</code>
    26032367     */
    2604     public java.util.List<? extends crosby.binary.Osmformat.PrimitiveGroupOrBuilder>
     2368    public java.util.List<? extends crosby.binary.Osmformat.PrimitiveGroupOrBuilder> 
    26052369        getPrimitivegroupOrBuilderList() {
    26062370      return primitivegroup_;
     
    26092373     * <code>repeated .OSMPBF.PrimitiveGroup primitivegroup = 2;</code>
    26102374     */
    2611     @Override
    2612         public int getPrimitivegroupCount() {
     2375    public int getPrimitivegroupCount() {
    26132376      return primitivegroup_.size();
    26142377    }
     
    26162379     * <code>repeated .OSMPBF.PrimitiveGroup primitivegroup = 2;</code>
    26172380     */
    2618     @Override
    2619         public crosby.binary.Osmformat.PrimitiveGroup getPrimitivegroup(int index) {
     2381    public crosby.binary.Osmformat.PrimitiveGroup getPrimitivegroup(int index) {
    26202382      return primitivegroup_.get(index);
    26212383    }
     
    26272389      return primitivegroup_.get(index);
    26282390    }
     2391    private void ensurePrimitivegroupIsMutable() {
     2392      if (!primitivegroup_.isModifiable()) {
     2393        primitivegroup_ =
     2394            com.google.protobuf.GeneratedMessageLite.mutableCopy(primitivegroup_);
     2395       }
     2396    }
     2397
     2398    /**
     2399     * <code>repeated .OSMPBF.PrimitiveGroup primitivegroup = 2;</code>
     2400     */
     2401    private void setPrimitivegroup(
     2402        int index, crosby.binary.Osmformat.PrimitiveGroup value) {
     2403      if (value == null) {
     2404        throw new NullPointerException();
     2405      }
     2406      ensurePrimitivegroupIsMutable();
     2407      primitivegroup_.set(index, value);
     2408    }
     2409    /**
     2410     * <code>repeated .OSMPBF.PrimitiveGroup primitivegroup = 2;</code>
     2411     */
     2412    private void setPrimitivegroup(
     2413        int index, crosby.binary.Osmformat.PrimitiveGroup.Builder builderForValue) {
     2414      ensurePrimitivegroupIsMutable();
     2415      primitivegroup_.set(index, builderForValue.build());
     2416    }
     2417    /**
     2418     * <code>repeated .OSMPBF.PrimitiveGroup primitivegroup = 2;</code>
     2419     */
     2420    private void addPrimitivegroup(crosby.binary.Osmformat.PrimitiveGroup value) {
     2421      if (value == null) {
     2422        throw new NullPointerException();
     2423      }
     2424      ensurePrimitivegroupIsMutable();
     2425      primitivegroup_.add(value);
     2426    }
     2427    /**
     2428     * <code>repeated .OSMPBF.PrimitiveGroup primitivegroup = 2;</code>
     2429     */
     2430    private void addPrimitivegroup(
     2431        int index, crosby.binary.Osmformat.PrimitiveGroup value) {
     2432      if (value == null) {
     2433        throw new NullPointerException();
     2434      }
     2435      ensurePrimitivegroupIsMutable();
     2436      primitivegroup_.add(index, value);
     2437    }
     2438    /**
     2439     * <code>repeated .OSMPBF.PrimitiveGroup primitivegroup = 2;</code>
     2440     */
     2441    private void addPrimitivegroup(
     2442        crosby.binary.Osmformat.PrimitiveGroup.Builder builderForValue) {
     2443      ensurePrimitivegroupIsMutable();
     2444      primitivegroup_.add(builderForValue.build());
     2445    }
     2446    /**
     2447     * <code>repeated .OSMPBF.PrimitiveGroup primitivegroup = 2;</code>
     2448     */
     2449    private void addPrimitivegroup(
     2450        int index, crosby.binary.Osmformat.PrimitiveGroup.Builder builderForValue) {
     2451      ensurePrimitivegroupIsMutable();
     2452      primitivegroup_.add(index, builderForValue.build());
     2453    }
     2454    /**
     2455     * <code>repeated .OSMPBF.PrimitiveGroup primitivegroup = 2;</code>
     2456     */
     2457    private void addAllPrimitivegroup(
     2458        java.lang.Iterable<? extends crosby.binary.Osmformat.PrimitiveGroup> values) {
     2459      ensurePrimitivegroupIsMutable();
     2460      com.google.protobuf.AbstractMessageLite.addAll(
     2461          values, primitivegroup_);
     2462    }
     2463    /**
     2464     * <code>repeated .OSMPBF.PrimitiveGroup primitivegroup = 2;</code>
     2465     */
     2466    private void clearPrimitivegroup() {
     2467      primitivegroup_ = emptyProtobufList();
     2468    }
     2469    /**
     2470     * <code>repeated .OSMPBF.PrimitiveGroup primitivegroup = 2;</code>
     2471     */
     2472    private void removePrimitivegroup(int index) {
     2473      ensurePrimitivegroupIsMutable();
     2474      primitivegroup_.remove(index);
     2475    }
    26292476
    26302477    public static final int GRANULARITY_FIELD_NUMBER = 17;
    26312478    private int granularity_;
    26322479    /**
     2480     * <pre>
     2481     * Granularity, units of nanodegrees, used to store coordinates in this block
     2482     * </pre>
     2483     *
    26332484     * <code>optional int32 granularity = 17 [default = 100];</code>
    2634      *
     2485     */
     2486    public boolean hasGranularity() {
     2487      return ((bitField0_ & 0x00000002) == 0x00000002);
     2488    }
     2489    /**
    26352490     * <pre>
    26362491     * Granularity, units of nanodegrees, used to store coordinates in this block
    26372492     * </pre>
    2638      */
    2639     @Override
    2640         public boolean hasGranularity() {
    2641       return ((bitField0_ & 0x00000002) == 0x00000002);
    2642     }
    2643     /**
     2493     *
    26442494     * <code>optional int32 granularity = 17 [default = 100];</code>
    2645      *
     2495     */
     2496    public int getGranularity() {
     2497      return granularity_;
     2498    }
     2499    /**
    26462500     * <pre>
    26472501     * Granularity, units of nanodegrees, used to store coordinates in this block
    26482502     * </pre>
    2649      */
    2650     @Override
    2651         public int getGranularity() {
    2652       return granularity_;
     2503     *
     2504     * <code>optional int32 granularity = 17 [default = 100];</code>
     2505     */
     2506    private void setGranularity(int value) {
     2507      bitField0_ |= 0x00000002;
     2508      granularity_ = value;
     2509    }
     2510    /**
     2511     * <pre>
     2512     * Granularity, units of nanodegrees, used to store coordinates in this block
     2513     * </pre>
     2514     *
     2515     * <code>optional int32 granularity = 17 [default = 100];</code>
     2516     */
     2517    private void clearGranularity() {
     2518      bitField0_ = (bitField0_ & ~0x00000002);
     2519      granularity_ = 100;
    26532520    }
    26542521
     
    26562523    private long latOffset_;
    26572524    /**
     2525     * <pre>
     2526     * Offset value between the output coordinates coordinates and the granularity grid in unites of nanodegrees.
     2527     * </pre>
     2528     *
    26582529     * <code>optional int64 lat_offset = 19 [default = 0];</code>
    2659      *
     2530     */
     2531    public boolean hasLatOffset() {
     2532      return ((bitField0_ & 0x00000004) == 0x00000004);
     2533    }
     2534    /**
    26602535     * <pre>
    26612536     * Offset value between the output coordinates coordinates and the granularity grid in unites of nanodegrees.
    26622537     * </pre>
    2663      */
    2664     @Override
    2665         public boolean hasLatOffset() {
    2666       return ((bitField0_ & 0x00000004) == 0x00000004);
    2667     }
    2668     /**
     2538     *
    26692539     * <code>optional int64 lat_offset = 19 [default = 0];</code>
    2670      *
     2540     */
     2541    public long getLatOffset() {
     2542      return latOffset_;
     2543    }
     2544    /**
    26712545     * <pre>
    26722546     * Offset value between the output coordinates coordinates and the granularity grid in unites of nanodegrees.
    26732547     * </pre>
    2674      */
    2675     @Override
    2676         public long getLatOffset() {
    2677       return latOffset_;
     2548     *
     2549     * <code>optional int64 lat_offset = 19 [default = 0];</code>
     2550     */
     2551    private void setLatOffset(long value) {
     2552      bitField0_ |= 0x00000004;
     2553      latOffset_ = value;
     2554    }
     2555    /**
     2556     * <pre>
     2557     * Offset value between the output coordinates coordinates and the granularity grid in unites of nanodegrees.
     2558     * </pre>
     2559     *
     2560     * <code>optional int64 lat_offset = 19 [default = 0];</code>
     2561     */
     2562    private void clearLatOffset() {
     2563      bitField0_ = (bitField0_ & ~0x00000004);
     2564      latOffset_ = 0L;
    26782565    }
    26792566
     
    26832570     * <code>optional int64 lon_offset = 20 [default = 0];</code>
    26842571     */
    2685     @Override
    2686         public boolean hasLonOffset() {
     2572    public boolean hasLonOffset() {
    26872573      return ((bitField0_ & 0x00000008) == 0x00000008);
    26882574    }
     
    26902576     * <code>optional int64 lon_offset = 20 [default = 0];</code>
    26912577     */
    2692     @Override
    2693         public long getLonOffset() {
     2578    public long getLonOffset() {
    26942579      return lonOffset_;
     2580    }
     2581    /**
     2582     * <code>optional int64 lon_offset = 20 [default = 0];</code>
     2583     */
     2584    private void setLonOffset(long value) {
     2585      bitField0_ |= 0x00000008;
     2586      lonOffset_ = value;
     2587    }
     2588    /**
     2589     * <code>optional int64 lon_offset = 20 [default = 0];</code>
     2590     */
     2591    private void clearLonOffset() {
     2592      bitField0_ = (bitField0_ & ~0x00000008);
     2593      lonOffset_ = 0L;
    26952594    }
    26962595
     
    26982597    private int dateGranularity_;
    26992598    /**
     2599     * <pre>
     2600     * Granularity of dates, normally represented in units of milliseconds since the 1970 epoch.
     2601     * </pre>
     2602     *
    27002603     * <code>optional int32 date_granularity = 18 [default = 1000];</code>
    2701      *
     2604     */
     2605    public boolean hasDateGranularity() {
     2606      return ((bitField0_ & 0x00000010) == 0x00000010);
     2607    }
     2608    /**
    27022609     * <pre>
    27032610     * Granularity of dates, normally represented in units of milliseconds since the 1970 epoch.
    27042611     * </pre>
    2705      */
    2706     @Override
    2707         public boolean hasDateGranularity() {
    2708       return ((bitField0_ & 0x00000010) == 0x00000010);
    2709     }
    2710     /**
     2612     *
    27112613     * <code>optional int32 date_granularity = 18 [default = 1000];</code>
    2712      *
     2614     */
     2615    public int getDateGranularity() {
     2616      return dateGranularity_;
     2617    }
     2618    /**
    27132619     * <pre>
    27142620     * Granularity of dates, normally represented in units of milliseconds since the 1970 epoch.
    27152621     * </pre>
    2716      */
    2717     @Override
    2718         public int getDateGranularity() {
    2719       return dateGranularity_;
    2720     }
    2721 
    2722     private void initFields() {
    2723       stringtable_ = crosby.binary.Osmformat.StringTable.getDefaultInstance();
    2724       primitivegroup_ = java.util.Collections.emptyList();
    2725       granularity_ = 100;
    2726       latOffset_ = 0L;
    2727       lonOffset_ = 0L;
     2622     *
     2623     * <code>optional int32 date_granularity = 18 [default = 1000];</code>
     2624     */
     2625    private void setDateGranularity(int value) {
     2626      bitField0_ |= 0x00000010;
     2627      dateGranularity_ = value;
     2628    }
     2629    /**
     2630     * <pre>
     2631     * Granularity of dates, normally represented in units of milliseconds since the 1970 epoch.
     2632     * </pre>
     2633     *
     2634     * <code>optional int32 date_granularity = 18 [default = 1000];</code>
     2635     */
     2636    private void clearDateGranularity() {
     2637      bitField0_ = (bitField0_ & ~0x00000010);
    27282638      dateGranularity_ = 1000;
    27292639    }
    2730     private byte memoizedIsInitialized = -1;
    2731     @Override
    2732         public final boolean isInitialized() {
    2733       byte isInitialized = memoizedIsInitialized;
    2734       if (isInitialized == 1) return true;
    2735       if (isInitialized == 0) return false;
    2736 
    2737       if (!hasStringtable()) {
    2738         memoizedIsInitialized = 0;
    2739         return false;
    2740       }
    2741       for (int i = 0; i < getPrimitivegroupCount(); i++) {
    2742         if (!getPrimitivegroup(i).isInitialized()) {
    2743           memoizedIsInitialized = 0;
    2744           return false;
    2745         }
    2746       }
    2747       memoizedIsInitialized = 1;
    2748       return true;
    2749     }
    2750 
    2751     @Override
    2752         public void writeTo(com.google.protobuf.CodedOutputStream output)
     2640
     2641    public void writeTo(com.google.protobuf.CodedOutputStream output)
    27532642                        throws java.io.IOException {
    2754       getSerializedSize();
    27552643      if (((bitField0_ & 0x00000001) == 0x00000001)) {
    2756         output.writeMessage(1, stringtable_);
     2644        output.writeMessage(1, getStringtable());
    27572645      }
    27582646      for (int i = 0; i < primitivegroup_.size(); i++) {
     
    27712659        output.writeInt64(20, lonOffset_);
    27722660      }
    2773       output.writeRawBytes(unknownFields);
    2774     }
    2775 
    2776     private int memoizedSerializedSize = -1;
    2777     @Override
    2778         public int getSerializedSize() {
     2661      unknownFields.writeTo(output);
     2662    }
     2663
     2664    public int getSerializedSize() {
    27792665      int size = memoizedSerializedSize;
    27802666      if (size != -1) return size;
     
    27832669      if (((bitField0_ & 0x00000001) == 0x00000001)) {
    27842670        size += com.google.protobuf.CodedOutputStream
    2785           .computeMessageSize(1, stringtable_);
     2671          .computeMessageSize(1, getStringtable());
    27862672      }
    27872673      for (int i = 0; i < primitivegroup_.size(); i++) {
     
    28052691          .computeInt64Size(20, lonOffset_);
    28062692      }
    2807       size += unknownFields.size();
     2693      size += unknownFields.getSerializedSize();
    28082694      memoizedSerializedSize = size;
    28092695      return size;
    28102696    }
    28112697
    2812     private static final long serialVersionUID = 0L;
    2813     @java.lang.Override
    2814     protected java.lang.Object writeReplace()
    2815         throws java.io.ObjectStreamException {
    2816       return super.writeReplace();
    2817     }
    2818 
     2698    public static crosby.binary.Osmformat.PrimitiveBlock parseFrom(
     2699        java.nio.ByteBuffer data)
     2700        throws com.google.protobuf.InvalidProtocolBufferException {
     2701      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     2702          DEFAULT_INSTANCE, data);
     2703    }
     2704    public static crosby.binary.Osmformat.PrimitiveBlock parseFrom(
     2705        java.nio.ByteBuffer data,
     2706        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     2707        throws com.google.protobuf.InvalidProtocolBufferException {
     2708      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     2709          DEFAULT_INSTANCE, data, extensionRegistry);
     2710    }
    28192711    public static crosby.binary.Osmformat.PrimitiveBlock parseFrom(
    28202712        com.google.protobuf.ByteString data)
    28212713        throws com.google.protobuf.InvalidProtocolBufferException {
    2822       return PARSER.parseFrom(data);
     2714      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     2715          DEFAULT_INSTANCE, data);
    28232716    }
    28242717    public static crosby.binary.Osmformat.PrimitiveBlock parseFrom(
     
    28262719        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    28272720        throws com.google.protobuf.InvalidProtocolBufferException {
    2828       return PARSER.parseFrom(data, extensionRegistry);
     2721      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     2722          DEFAULT_INSTANCE, data, extensionRegistry);
    28292723    }
    28302724    public static crosby.binary.Osmformat.PrimitiveBlock parseFrom(byte[] data)
    28312725        throws com.google.protobuf.InvalidProtocolBufferException {
    2832       return PARSER.parseFrom(data);
     2726      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     2727          DEFAULT_INSTANCE, data);
    28332728    }
    28342729    public static crosby.binary.Osmformat.PrimitiveBlock parseFrom(
     
    28362731        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    28372732        throws com.google.protobuf.InvalidProtocolBufferException {
    2838       return PARSER.parseFrom(data, extensionRegistry);
     2733      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     2734          DEFAULT_INSTANCE, data, extensionRegistry);
    28392735    }
    28402736    public static crosby.binary.Osmformat.PrimitiveBlock parseFrom(java.io.InputStream input)
    28412737        throws java.io.IOException {
    2842       return PARSER.parseFrom(input);
     2738      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     2739          DEFAULT_INSTANCE, input);
    28432740    }
    28442741    public static crosby.binary.Osmformat.PrimitiveBlock parseFrom(
     
    28462743        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    28472744        throws java.io.IOException {
    2848       return PARSER.parseFrom(input, extensionRegistry);
     2745      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     2746          DEFAULT_INSTANCE, input, extensionRegistry);
    28492747    }
    28502748    public static crosby.binary.Osmformat.PrimitiveBlock parseDelimitedFrom(java.io.InputStream input)
    28512749        throws java.io.IOException {
    2852       return PARSER.parseDelimitedFrom(input);
     2750      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    28532751    }
    28542752    public static crosby.binary.Osmformat.PrimitiveBlock parseDelimitedFrom(
     
    28562754        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    28572755        throws java.io.IOException {
    2858       return PARSER.parseDelimitedFrom(input, extensionRegistry);
     2756      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    28592757    }
    28602758    public static crosby.binary.Osmformat.PrimitiveBlock parseFrom(
    28612759        com.google.protobuf.CodedInputStream input)
    28622760        throws java.io.IOException {
    2863       return PARSER.parseFrom(input);
     2761      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     2762          DEFAULT_INSTANCE, input);
    28642763    }
    28652764    public static crosby.binary.Osmformat.PrimitiveBlock parseFrom(
     
    28672766        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    28682767        throws java.io.IOException {
    2869       return PARSER.parseFrom(input, extensionRegistry);
    2870     }
    2871 
    2872     public static Builder newBuilder() { return Builder.create(); }
    2873     @Override
    2874         public Builder newBuilderForType() { return newBuilder(); }
     2768      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     2769          DEFAULT_INSTANCE, input, extensionRegistry);
     2770    }
     2771
     2772    public static Builder newBuilder() {
     2773      return DEFAULT_INSTANCE.toBuilder();
     2774    }
    28752775    public static Builder newBuilder(crosby.binary.Osmformat.PrimitiveBlock prototype) {
    2876       return newBuilder().mergeFrom(prototype);
    2877     }
    2878     @Override
    2879         public Builder toBuilder() { return newBuilder(this); }
     2776      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     2777    }
    28802778
    28812779    /**
     
    28842782    public static final class Builder extends
    28852783        com.google.protobuf.GeneratedMessageLite.Builder<
    2886           crosby.binary.Osmformat.PrimitiveBlock, Builder>
    2887         implements
     2784          crosby.binary.Osmformat.PrimitiveBlock, Builder> implements
    28882785        // @@protoc_insertion_point(builder_implements:OSMPBF.PrimitiveBlock)
    28892786        crosby.binary.Osmformat.PrimitiveBlockOrBuilder {
    28902787      // Construct using crosby.binary.Osmformat.PrimitiveBlock.newBuilder()
    28912788      private Builder() {
    2892         maybeForceBuilderInitialization();
    2893       }
    2894 
    2895       private void maybeForceBuilderInitialization() {
    2896       }
    2897       private static Builder create() {
    2898         return new Builder();
    2899       }
    2900 
    2901       @Override
    2902         public Builder clear() {
    2903         super.clear();
    2904         stringtable_ = crosby.binary.Osmformat.StringTable.getDefaultInstance();
    2905         bitField0_ = (bitField0_ & ~0x00000001);
    2906         primitivegroup_ = java.util.Collections.emptyList();
    2907         bitField0_ = (bitField0_ & ~0x00000002);
    2908         granularity_ = 100;
    2909         bitField0_ = (bitField0_ & ~0x00000004);
    2910         latOffset_ = 0L;
    2911         bitField0_ = (bitField0_ & ~0x00000008);
    2912         lonOffset_ = 0L;
    2913         bitField0_ = (bitField0_ & ~0x00000010);
    2914         dateGranularity_ = 1000;
    2915         bitField0_ = (bitField0_ & ~0x00000020);
    2916         return this;
    2917       }
    2918 
    2919       @Override
    2920         public Builder clone() {
    2921         return create().mergeFrom(buildPartial());
    2922       }
    2923 
    2924       @Override
    2925         public crosby.binary.Osmformat.PrimitiveBlock getDefaultInstanceForType() {
    2926         return crosby.binary.Osmformat.PrimitiveBlock.getDefaultInstance();
    2927       }
    2928 
    2929       @Override
    2930         public crosby.binary.Osmformat.PrimitiveBlock build() {
    2931         crosby.binary.Osmformat.PrimitiveBlock result = buildPartial();
    2932         if (!result.isInitialized()) {
    2933           throw newUninitializedMessageException(result);
    2934         }
    2935         return result;
    2936       }
    2937 
    2938       @Override
    2939         public crosby.binary.Osmformat.PrimitiveBlock buildPartial() {
    2940         crosby.binary.Osmformat.PrimitiveBlock result = new crosby.binary.Osmformat.PrimitiveBlock(this);
    2941         int from_bitField0_ = bitField0_;
    2942         int to_bitField0_ = 0;
    2943         if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
    2944           to_bitField0_ |= 0x00000001;
    2945         }
    2946         result.stringtable_ = stringtable_;
    2947         if (((bitField0_ & 0x00000002) == 0x00000002)) {
    2948           primitivegroup_ = java.util.Collections.unmodifiableList(primitivegroup_);
    2949           bitField0_ = (bitField0_ & ~0x00000002);
    2950         }
    2951         result.primitivegroup_ = primitivegroup_;
    2952         if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
    2953           to_bitField0_ |= 0x00000002;
    2954         }
    2955         result.granularity_ = granularity_;
    2956         if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
    2957           to_bitField0_ |= 0x00000004;
    2958         }
    2959         result.latOffset_ = latOffset_;
    2960         if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
    2961           to_bitField0_ |= 0x00000008;
    2962         }
    2963         result.lonOffset_ = lonOffset_;
    2964         if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
    2965           to_bitField0_ |= 0x00000010;
    2966         }
    2967         result.dateGranularity_ = dateGranularity_;
    2968         result.bitField0_ = to_bitField0_;
    2969         return result;
    2970       }
    2971 
    2972       @Override
    2973         public Builder mergeFrom(crosby.binary.Osmformat.PrimitiveBlock other) {
    2974         if (other == crosby.binary.Osmformat.PrimitiveBlock.getDefaultInstance()) return this;
    2975         if (other.hasStringtable()) {
    2976           mergeStringtable(other.getStringtable());
    2977         }
    2978         if (!other.primitivegroup_.isEmpty()) {
    2979           if (primitivegroup_.isEmpty()) {
    2980             primitivegroup_ = other.primitivegroup_;
    2981             bitField0_ = (bitField0_ & ~0x00000002);
    2982           } else {
    2983             ensurePrimitivegroupIsMutable();
    2984             primitivegroup_.addAll(other.primitivegroup_);
    2985           }
    2986 
    2987         }
    2988         if (other.hasGranularity()) {
    2989           setGranularity(other.getGranularity());
    2990         }
    2991         if (other.hasLatOffset()) {
    2992           setLatOffset(other.getLatOffset());
    2993         }
    2994         if (other.hasLonOffset()) {
    2995           setLonOffset(other.getLonOffset());
    2996         }
    2997         if (other.hasDateGranularity()) {
    2998           setDateGranularity(other.getDateGranularity());
    2999         }
    3000         setUnknownFields(
    3001             getUnknownFields().concat(other.unknownFields));
    3002         return this;
    3003       }
    3004 
    3005       @Override
    3006         public final boolean isInitialized() {
    3007         if (!hasStringtable()) {
    3008 
    3009           return false;
    3010         }
    3011         for (int i = 0; i < getPrimitivegroupCount(); i++) {
    3012           if (!getPrimitivegroup(i).isInitialized()) {
    3013 
    3014             return false;
    3015           }
    3016         }
    3017         return true;
    3018       }
    3019 
    3020       @Override
    3021         public Builder mergeFrom(
    3022           com.google.protobuf.CodedInputStream input,
    3023           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    3024           throws java.io.IOException {
    3025         crosby.binary.Osmformat.PrimitiveBlock parsedMessage = null;
    3026         try {
    3027           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
    3028         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
    3029           parsedMessage = (crosby.binary.Osmformat.PrimitiveBlock) e.getUnfinishedMessage();
    3030           throw e;
    3031         } finally {
    3032           if (parsedMessage != null) {
    3033             mergeFrom(parsedMessage);
    3034           }
    3035         }
    3036         return this;
    3037       }
    3038       private int bitField0_;
    3039 
    3040       private crosby.binary.Osmformat.StringTable stringtable_ = crosby.binary.Osmformat.StringTable.getDefaultInstance();
     2789        super(DEFAULT_INSTANCE);
     2790      }
     2791
     2792
    30412793      /**
    30422794       * <code>required .OSMPBF.StringTable stringtable = 1;</code>
    30432795       */
    3044       @Override
    3045         public boolean hasStringtable() {
    3046         return ((bitField0_ & 0x00000001) == 0x00000001);
     2796      public boolean hasStringtable() {
     2797        return instance.hasStringtable();
    30472798      }
    30482799      /**
    30492800       * <code>required .OSMPBF.StringTable stringtable = 1;</code>
    30502801       */
    3051       @Override
    3052         public crosby.binary.Osmformat.StringTable getStringtable() {
    3053         return stringtable_;
     2802      public crosby.binary.Osmformat.StringTable getStringtable() {
     2803        return instance.getStringtable();
    30542804      }
    30552805      /**
     
    30572807       */
    30582808      public Builder setStringtable(crosby.binary.Osmformat.StringTable value) {
    3059         if (value == null) {
    3060           throw new NullPointerException();
    3061         }
    3062         stringtable_ = value;
    3063 
    3064         bitField0_ |= 0x00000001;
    3065         return this;
    3066       }
     2809        copyOnWrite();
     2810        instance.setStringtable(value);
     2811        return this;
     2812        }
    30672813      /**
    30682814       * <code>required .OSMPBF.StringTable stringtable = 1;</code>
     
    30702816      public Builder setStringtable(
    30712817          crosby.binary.Osmformat.StringTable.Builder builderForValue) {
    3072         stringtable_ = builderForValue.build();
    3073 
    3074         bitField0_ |= 0x00000001;
     2818        copyOnWrite();
     2819        instance.setStringtable(builderForValue);
    30752820        return this;
    30762821      }
     
    30792824       */
    30802825      public Builder mergeStringtable(crosby.binary.Osmformat.StringTable value) {
    3081         if (((bitField0_ & 0x00000001) == 0x00000001) &&
    3082             stringtable_ != crosby.binary.Osmformat.StringTable.getDefaultInstance()) {
    3083           stringtable_ =
    3084             crosby.binary.Osmformat.StringTable.newBuilder(stringtable_).mergeFrom(value).buildPartial();
    3085         } else {
    3086           stringtable_ = value;
    3087         }
    3088 
    3089         bitField0_ |= 0x00000001;
     2826        copyOnWrite();
     2827        instance.mergeStringtable(value);
    30902828        return this;
    30912829      }
     
    30932831       * <code>required .OSMPBF.StringTable stringtable = 1;</code>
    30942832       */
    3095       public Builder clearStringtable() {
    3096         stringtable_ = crosby.binary.Osmformat.StringTable.getDefaultInstance();
    3097 
    3098         bitField0_ = (bitField0_ & ~0x00000001);
    3099         return this;
    3100       }
    3101 
    3102       private java.util.List<crosby.binary.Osmformat.PrimitiveGroup> primitivegroup_ =
    3103         java.util.Collections.emptyList();
    3104       private void ensurePrimitivegroupIsMutable() {
    3105         if (!((bitField0_ & 0x00000002) == 0x00000002)) {
    3106           primitivegroup_ = new java.util.ArrayList<>(primitivegroup_);
    3107           bitField0_ |= 0x00000002;
    3108          }
     2833      public Builder clearStringtable() {  copyOnWrite();
     2834        instance.clearStringtable();
     2835        return this;
    31092836      }
    31102837
     
    31122839       * <code>repeated .OSMPBF.PrimitiveGroup primitivegroup = 2;</code>
    31132840       */
    3114       @Override
    3115         public java.util.List<crosby.binary.Osmformat.PrimitiveGroup> getPrimitivegroupList() {
    3116         return java.util.Collections.unmodifiableList(primitivegroup_);
     2841      public java.util.List<crosby.binary.Osmformat.PrimitiveGroup> getPrimitivegroupList() {
     2842        return java.util.Collections.unmodifiableList(
     2843            instance.getPrimitivegroupList());
    31172844      }
    31182845      /**
    31192846       * <code>repeated .OSMPBF.PrimitiveGroup primitivegroup = 2;</code>
    31202847       */
    3121       @Override
    3122         public int getPrimitivegroupCount() {
    3123         return primitivegroup_.size();
    3124       }
    3125       /**
     2848      public int getPrimitivegroupCount() {
     2849        return instance.getPrimitivegroupCount();
     2850      }/**
    31262851       * <code>repeated .OSMPBF.PrimitiveGroup primitivegroup = 2;</code>
    31272852       */
    3128       @Override
    3129         public crosby.binary.Osmformat.PrimitiveGroup getPrimitivegroup(int index) {
    3130         return primitivegroup_.get(index);
     2853      public crosby.binary.Osmformat.PrimitiveGroup getPrimitivegroup(int index) {
     2854        return instance.getPrimitivegroup(index);
    31312855      }
    31322856      /**
     
    31352859      public Builder setPrimitivegroup(
    31362860          int index, crosby.binary.Osmformat.PrimitiveGroup value) {
    3137         if (value == null) {
    3138           throw new NullPointerException();
    3139         }
    3140         ensurePrimitivegroupIsMutable();
    3141         primitivegroup_.set(index, value);
    3142 
     2861        copyOnWrite();
     2862        instance.setPrimitivegroup(index, value);
    31432863        return this;
    31442864      }
     
    31482868      public Builder setPrimitivegroup(
    31492869          int index, crosby.binary.Osmformat.PrimitiveGroup.Builder builderForValue) {
    3150         ensurePrimitivegroupIsMutable();
    3151         primitivegroup_.set(index, builderForValue.build());
    3152 
     2870        copyOnWrite();
     2871        instance.setPrimitivegroup(index, builderForValue);
    31532872        return this;
    31542873      }
     
    31572876       */
    31582877      public Builder addPrimitivegroup(crosby.binary.Osmformat.PrimitiveGroup value) {
    3159         if (value == null) {
    3160           throw new NullPointerException();
    3161         }
    3162         ensurePrimitivegroupIsMutable();
    3163         primitivegroup_.add(value);
    3164 
     2878        copyOnWrite();
     2879        instance.addPrimitivegroup(value);
    31652880        return this;
    31662881      }
     
    31702885      public Builder addPrimitivegroup(
    31712886          int index, crosby.binary.Osmformat.PrimitiveGroup value) {
    3172         if (value == null) {
    3173           throw new NullPointerException();
    3174         }
    3175         ensurePrimitivegroupIsMutable();
    3176         primitivegroup_.add(index, value);
    3177 
     2887        copyOnWrite();
     2888        instance.addPrimitivegroup(index, value);
    31782889        return this;
    31792890      }
     
    31832894      public Builder addPrimitivegroup(
    31842895          crosby.binary.Osmformat.PrimitiveGroup.Builder builderForValue) {
    3185         ensurePrimitivegroupIsMutable();
    3186         primitivegroup_.add(builderForValue.build());
    3187 
     2896        copyOnWrite();
     2897        instance.addPrimitivegroup(builderForValue);
    31882898        return this;
    31892899      }
     
    31932903      public Builder addPrimitivegroup(
    31942904          int index, crosby.binary.Osmformat.PrimitiveGroup.Builder builderForValue) {
    3195         ensurePrimitivegroupIsMutable();
    3196         primitivegroup_.add(index, builderForValue.build());
    3197 
     2905        copyOnWrite();
     2906        instance.addPrimitivegroup(index, builderForValue);
    31982907        return this;
    31992908      }
     
    32032912      public Builder addAllPrimitivegroup(
    32042913          java.lang.Iterable<? extends crosby.binary.Osmformat.PrimitiveGroup> values) {
    3205         ensurePrimitivegroupIsMutable();
    3206         com.google.protobuf.AbstractMessageLite.Builder.addAll(
    3207             values, primitivegroup_);
    3208 
     2914        copyOnWrite();
     2915        instance.addAllPrimitivegroup(values);
    32092916        return this;
    32102917      }
     
    32132920       */
    32142921      public Builder clearPrimitivegroup() {
    3215         primitivegroup_ = java.util.Collections.emptyList();
    3216         bitField0_ = (bitField0_ & ~0x00000002);
    3217 
     2922        copyOnWrite();
     2923        instance.clearPrimitivegroup();
    32182924        return this;
    32192925      }
     
    32222928       */
    32232929      public Builder removePrimitivegroup(int index) {
    3224         ensurePrimitivegroupIsMutable();
    3225         primitivegroup_.remove(index);
    3226 
    3227         return this;
    3228       }
    3229 
    3230       private int granularity_ = 100;
    3231       /**
     2930        copyOnWrite();
     2931        instance.removePrimitivegroup(index);
     2932        return this;
     2933      }
     2934
     2935      /**
     2936       * <pre>
     2937       * Granularity, units of nanodegrees, used to store coordinates in this block
     2938       * </pre>
     2939       *
    32322940       * <code>optional int32 granularity = 17 [default = 100];</code>
    3233        *
     2941       */
     2942      public boolean hasGranularity() {
     2943        return instance.hasGranularity();
     2944      }
     2945      /**
    32342946       * <pre>
    32352947       * Granularity, units of nanodegrees, used to store coordinates in this block
    32362948       * </pre>
    3237        */
    3238       @Override
    3239         public boolean hasGranularity() {
    3240         return ((bitField0_ & 0x00000004) == 0x00000004);
    3241       }
    3242       /**
     2949       *
    32432950       * <code>optional int32 granularity = 17 [default = 100];</code>
    3244        *
     2951       */
     2952      public int getGranularity() {
     2953        return instance.getGranularity();
     2954      }
     2955      /**
    32452956       * <pre>
    32462957       * Granularity, units of nanodegrees, used to store coordinates in this block
    32472958       * </pre>
    3248        */
    3249       @Override
    3250         public int getGranularity() {
    3251         return granularity_;
    3252       }
    3253       /**
     2959       *
    32542960       * <code>optional int32 granularity = 17 [default = 100];</code>
    3255        *
     2961       */
     2962      public Builder setGranularity(int value) {
     2963        copyOnWrite();
     2964        instance.setGranularity(value);
     2965        return this;
     2966      }
     2967      /**
    32562968       * <pre>
    32572969       * Granularity, units of nanodegrees, used to store coordinates in this block
    32582970       * </pre>
    3259        */
    3260       public Builder setGranularity(int value) {
    3261         bitField0_ |= 0x00000004;
    3262         granularity_ = value;
    3263 
    3264         return this;
    3265       }
    3266       /**
     2971       *
    32672972       * <code>optional int32 granularity = 17 [default = 100];</code>
    3268        *
    3269        * <pre>
    3270        * Granularity, units of nanodegrees, used to store coordinates in this block
    3271        * </pre>
    32722973       */
    32732974      public Builder clearGranularity() {
    3274         bitField0_ = (bitField0_ & ~0x00000004);
    3275         granularity_ = 100;
    3276 
    3277         return this;
    3278       }
    3279 
    3280       private long latOffset_ ;
    3281       /**
     2975        copyOnWrite();
     2976        instance.clearGranularity();
     2977        return this;
     2978      }
     2979
     2980      /**
     2981       * <pre>
     2982       * Offset value between the output coordinates coordinates and the granularity grid in unites of nanodegrees.
     2983       * </pre>
     2984       *
    32822985       * <code>optional int64 lat_offset = 19 [default = 0];</code>
    3283        *
     2986       */
     2987      public boolean hasLatOffset() {
     2988        return instance.hasLatOffset();
     2989      }
     2990      /**
    32842991       * <pre>
    32852992       * Offset value between the output coordinates coordinates and the granularity grid in unites of nanodegrees.
    32862993       * </pre>
    3287        */
    3288       @Override
    3289         public boolean hasLatOffset() {
    3290         return ((bitField0_ & 0x00000008) == 0x00000008);
    3291       }
    3292       /**
     2994       *
    32932995       * <code>optional int64 lat_offset = 19 [default = 0];</code>
    3294        *
     2996       */
     2997      public long getLatOffset() {
     2998        return instance.getLatOffset();
     2999      }
     3000      /**
    32953001       * <pre>
    32963002       * Offset value between the output coordinates coordinates and the granularity grid in unites of nanodegrees.
    32973003       * </pre>
    3298        */
    3299       @Override
    3300         public long getLatOffset() {
    3301         return latOffset_;
    3302       }
    3303       /**
     3004       *
    33043005       * <code>optional int64 lat_offset = 19 [default = 0];</code>
    3305        *
     3006       */
     3007      public Builder setLatOffset(long value) {
     3008        copyOnWrite();
     3009        instance.setLatOffset(value);
     3010        return this;
     3011      }
     3012      /**
    33063013       * <pre>
    33073014       * Offset value between the output coordinates coordinates and the granularity grid in unites of nanodegrees.
    33083015       * </pre>
    3309        */
    3310       public Builder setLatOffset(long value) {
    3311         bitField0_ |= 0x00000008;
    3312         latOffset_ = value;
    3313 
    3314         return this;
    3315       }
    3316       /**
     3016       *
    33173017       * <code>optional int64 lat_offset = 19 [default = 0];</code>
    3318        *
    3319        * <pre>
    3320        * Offset value between the output coordinates coordinates and the granularity grid in unites of nanodegrees.
    3321        * </pre>
    33223018       */
    33233019      public Builder clearLatOffset() {
    3324         bitField0_ = (bitField0_ & ~0x00000008);
    3325         latOffset_ = 0L;
    3326 
    3327         return this;
    3328       }
    3329 
    3330       private long lonOffset_ ;
     3020        copyOnWrite();
     3021        instance.clearLatOffset();
     3022        return this;
     3023      }
     3024
    33313025      /**
    33323026       * <code>optional int64 lon_offset = 20 [default = 0];</code>
    33333027       */
    3334       @Override
    3335         public boolean hasLonOffset() {
    3336         return ((bitField0_ & 0x00000010) == 0x00000010);
     3028      public boolean hasLonOffset() {
     3029        return instance.hasLonOffset();
    33373030      }
    33383031      /**
    33393032       * <code>optional int64 lon_offset = 20 [default = 0];</code>
    33403033       */
    3341       @Override
    3342         public long getLonOffset() {
    3343         return lonOffset_;
     3034      public long getLonOffset() {
     3035        return instance.getLonOffset();
    33443036      }
    33453037      /**
     
    33473039       */
    33483040      public Builder setLonOffset(long value) {
    3349         bitField0_ |= 0x00000010;
    3350         lonOffset_ = value;
    3351 
     3041        copyOnWrite();
     3042        instance.setLonOffset(value);
    33523043        return this;
    33533044      }
     
    33563047       */
    33573048      public Builder clearLonOffset() {
    3358         bitField0_ = (bitField0_ & ~0x00000010);
    3359         lonOffset_ = 0L;
    3360 
    3361         return this;
    3362       }
    3363 
    3364       private int dateGranularity_ = 1000;
    3365       /**
     3049        copyOnWrite();
     3050        instance.clearLonOffset();
     3051        return this;
     3052      }
     3053
     3054      /**
     3055       * <pre>
     3056       * Granularity of dates, normally represented in units of milliseconds since the 1970 epoch.
     3057       * </pre>
     3058       *
    33663059       * <code>optional int32 date_granularity = 18 [default = 1000];</code>
    3367        *
     3060       */
     3061      public boolean hasDateGranularity() {
     3062        return instance.hasDateGranularity();
     3063      }
     3064      /**
    33683065       * <pre>
    33693066       * Granularity of dates, normally represented in units of milliseconds since the 1970 epoch.
    33703067       * </pre>
    3371        */
    3372       @Override
    3373         public boolean hasDateGranularity() {
    3374         return ((bitField0_ & 0x00000020) == 0x00000020);
    3375       }
    3376       /**
     3068       *
    33773069       * <code>optional int32 date_granularity = 18 [default = 1000];</code>
    3378        *
     3070       */
     3071      public int getDateGranularity() {
     3072        return instance.getDateGranularity();
     3073      }
     3074      /**
    33793075       * <pre>
    33803076       * Granularity of dates, normally represented in units of milliseconds since the 1970 epoch.
    33813077       * </pre>
    3382        */
    3383       @Override
    3384         public int getDateGranularity() {
    3385         return dateGranularity_;
    3386       }
    3387       /**
     3078       *
    33883079       * <code>optional int32 date_granularity = 18 [default = 1000];</code>
    3389        *
     3080       */
     3081      public Builder setDateGranularity(int value) {
     3082        copyOnWrite();
     3083        instance.setDateGranularity(value);
     3084        return this;
     3085      }
     3086      /**
    33903087       * <pre>
    33913088       * Granularity of dates, normally represented in units of milliseconds since the 1970 epoch.
    33923089       * </pre>
    3393        */
    3394       public Builder setDateGranularity(int value) {
    3395         bitField0_ |= 0x00000020;
    3396         dateGranularity_ = value;
    3397 
    3398         return this;
    3399       }
    3400       /**
     3090       *
    34013091       * <code>optional int32 date_granularity = 18 [default = 1000];</code>
    3402        *
    3403        * <pre>
    3404        * Granularity of dates, normally represented in units of milliseconds since the 1970 epoch.
    3405        * </pre>
    34063092       */
    34073093      public Builder clearDateGranularity() {
    3408         bitField0_ = (bitField0_ & ~0x00000020);
    3409         dateGranularity_ = 1000;
    3410 
     3094        copyOnWrite();
     3095        instance.clearDateGranularity();
    34113096        return this;
    34123097      }
     
    34143099      // @@protoc_insertion_point(builder_scope:OSMPBF.PrimitiveBlock)
    34153100    }
    3416 
     3101    private byte memoizedIsInitialized = -1;
     3102    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
     3103    protected final java.lang.Object dynamicMethod(
     3104        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
     3105        java.lang.Object arg0, java.lang.Object arg1) {
     3106      switch (method) {
     3107        case NEW_MUTABLE_INSTANCE: {
     3108          return new crosby.binary.Osmformat.PrimitiveBlock();
     3109        }
     3110        case IS_INITIALIZED: {
     3111          byte isInitialized = memoizedIsInitialized;
     3112          if (isInitialized == 1) return DEFAULT_INSTANCE;
     3113          if (isInitialized == 0) return null;
     3114
     3115          boolean shouldMemoize = ((Boolean) arg0).booleanValue();
     3116          if (!hasStringtable()) {
     3117            if (shouldMemoize) {
     3118              memoizedIsInitialized = 0;
     3119            }
     3120            return null;
     3121          }
     3122          for (int i = 0; i < getPrimitivegroupCount(); i++) {
     3123            if (!getPrimitivegroup(i).isInitialized()) {
     3124              if (shouldMemoize) {
     3125                memoizedIsInitialized = 0;
     3126              }
     3127              return null;
     3128            }
     3129          }
     3130          if (shouldMemoize) memoizedIsInitialized = 1;
     3131          return DEFAULT_INSTANCE;
     3132
     3133        }
     3134        case MAKE_IMMUTABLE: {
     3135          primitivegroup_.makeImmutable();
     3136          return null;
     3137        }
     3138        case NEW_BUILDER: {
     3139          return new Builder();
     3140        }
     3141        case VISIT: {
     3142          Visitor visitor = (Visitor) arg0;
     3143          crosby.binary.Osmformat.PrimitiveBlock other = (crosby.binary.Osmformat.PrimitiveBlock) arg1;
     3144          stringtable_ = visitor.visitMessage(stringtable_, other.stringtable_);
     3145          primitivegroup_= visitor.visitList(primitivegroup_, other.primitivegroup_);
     3146          granularity_ = visitor.visitInt(
     3147              hasGranularity(), granularity_,
     3148              other.hasGranularity(), other.granularity_);
     3149          latOffset_ = visitor.visitLong(
     3150              hasLatOffset(), latOffset_,
     3151              other.hasLatOffset(), other.latOffset_);
     3152          lonOffset_ = visitor.visitLong(
     3153              hasLonOffset(), lonOffset_,
     3154              other.hasLonOffset(), other.lonOffset_);
     3155          dateGranularity_ = visitor.visitInt(
     3156              hasDateGranularity(), dateGranularity_,
     3157              other.hasDateGranularity(), other.dateGranularity_);
     3158          if (visitor == com.google.protobuf.GeneratedMessageLite.MergeFromVisitor
     3159              .INSTANCE) {
     3160            bitField0_ |= other.bitField0_;
     3161          }
     3162          return this;
     3163        }
     3164        case MERGE_FROM_STREAM: {
     3165          com.google.protobuf.CodedInputStream input =
     3166              (com.google.protobuf.CodedInputStream) arg0;
     3167          com.google.protobuf.ExtensionRegistryLite extensionRegistry =
     3168              (com.google.protobuf.ExtensionRegistryLite) arg1;
     3169          try {
     3170            boolean done = false;
     3171            while (!done) {
     3172              int tag = input.readTag();
     3173              switch (tag) {
     3174                case 0:
     3175                  done = true;
     3176                  break;
     3177                default: {
     3178                  if (!parseUnknownField(tag, input)) {
     3179                    done = true;
     3180                  }
     3181                  break;
     3182                }
     3183                case 10: {
     3184                  crosby.binary.Osmformat.StringTable.Builder subBuilder = null;
     3185                  if (((bitField0_ & 0x00000001) == 0x00000001)) {
     3186                    subBuilder = stringtable_.toBuilder();
     3187                  }
     3188                  stringtable_ = input.readMessage(crosby.binary.Osmformat.StringTable.parser(), extensionRegistry);
     3189                  if (subBuilder != null) {
     3190                    subBuilder.mergeFrom(stringtable_);
     3191                    stringtable_ = subBuilder.buildPartial();
     3192                  }
     3193                  bitField0_ |= 0x00000001;
     3194                  break;
     3195                }
     3196                case 18: {
     3197                  if (!primitivegroup_.isModifiable()) {
     3198                    primitivegroup_ =
     3199                        com.google.protobuf.GeneratedMessageLite.mutableCopy(primitivegroup_);
     3200                  }
     3201                  primitivegroup_.add(
     3202                      input.readMessage(crosby.binary.Osmformat.PrimitiveGroup.parser(), extensionRegistry));
     3203                  break;
     3204                }
     3205                case 136: {
     3206                  bitField0_ |= 0x00000002;
     3207                  granularity_ = input.readInt32();
     3208                  break;
     3209                }
     3210                case 144: {
     3211                  bitField0_ |= 0x00000010;
     3212                  dateGranularity_ = input.readInt32();
     3213                  break;
     3214                }
     3215                case 152: {
     3216                  bitField0_ |= 0x00000004;
     3217                  latOffset_ = input.readInt64();
     3218                  break;
     3219                }
     3220                case 160: {
     3221                  bitField0_ |= 0x00000008;
     3222                  lonOffset_ = input.readInt64();
     3223                  break;
     3224                }
     3225              }
     3226            }
     3227          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
     3228            throw new RuntimeException(e.setUnfinishedMessage(this));
     3229          } catch (java.io.IOException e) {
     3230            throw new RuntimeException(
     3231                new com.google.protobuf.InvalidProtocolBufferException(
     3232                    e.getMessage()).setUnfinishedMessage(this));
     3233          } finally {
     3234          }
     3235        }
     3236        // fall through
     3237        case GET_DEFAULT_INSTANCE: {
     3238          return DEFAULT_INSTANCE;
     3239        }
     3240        case GET_PARSER: {
     3241          if (PARSER == null) {    synchronized (crosby.binary.Osmformat.PrimitiveBlock.class) {
     3242              if (PARSER == null) {
     3243                PARSER = new DefaultInstanceBasedParser(DEFAULT_INSTANCE);
     3244              }
     3245            }
     3246          }
     3247          return PARSER;
     3248        }
     3249      }
     3250      throw new UnsupportedOperationException();
     3251    }
     3252
     3253
     3254    // @@protoc_insertion_point(class_scope:OSMPBF.PrimitiveBlock)
     3255    private static final crosby.binary.Osmformat.PrimitiveBlock DEFAULT_INSTANCE;
    34173256    static {
    3418       defaultInstance = new PrimitiveBlock(true);
    3419       defaultInstance.initFields();
    3420     }
    3421 
    3422     // @@protoc_insertion_point(class_scope:OSMPBF.PrimitiveBlock)
     3257      DEFAULT_INSTANCE = new PrimitiveBlock();
     3258      DEFAULT_INSTANCE.makeImmutable();
     3259    }
     3260
     3261    public static crosby.binary.Osmformat.PrimitiveBlock getDefaultInstance() {
     3262      return DEFAULT_INSTANCE;
     3263    }
     3264
     3265    private static volatile com.google.protobuf.Parser<PrimitiveBlock> PARSER;
     3266
     3267    public static com.google.protobuf.Parser<PrimitiveBlock> parser() {
     3268      return DEFAULT_INSTANCE.getParserForType();
     3269    }
    34233270  }
    34243271
     
    34303277     * <code>repeated .OSMPBF.Node nodes = 1;</code>
    34313278     */
    3432     java.util.List<crosby.binary.Osmformat.Node>
     3279    java.util.List<crosby.binary.Osmformat.Node> 
    34333280        getNodesList();
    34343281    /**
     
    34533300     * <code>repeated .OSMPBF.Way ways = 3;</code>
    34543301     */
    3455     java.util.List<crosby.binary.Osmformat.Way>
     3302    java.util.List<crosby.binary.Osmformat.Way> 
    34563303        getWaysList();
    34573304    /**
     
    34673314     * <code>repeated .OSMPBF.Relation relations = 4;</code>
    34683315     */
    3469     java.util.List<crosby.binary.Osmformat.Relation>
     3316    java.util.List<crosby.binary.Osmformat.Relation> 
    34703317        getRelationsList();
    34713318    /**
     
    34813328     * <code>repeated .OSMPBF.ChangeSet changesets = 5;</code>
    34823329     */
    3483     java.util.List<crosby.binary.Osmformat.ChangeSet>
     3330    java.util.List<crosby.binary.Osmformat.ChangeSet> 
    34843331        getChangesetsList();
    34853332    /**
     
    34933340  }
    34943341  /**
    3495    * Protobuf type {@code OSMPBF.PrimitiveGroup}
    3496    *
    34973342   * <pre>
    34983343   * Group of OSMPrimitives. All primitives in a group must be the same type.
    34993344   * </pre>
     3345   *
     3346   * Protobuf type {@code OSMPBF.PrimitiveGroup}
    35003347   */
    3501   public static final class PrimitiveGroup extends
    3502       com.google.protobuf.GeneratedMessageLite implements
     3348  public  static final class PrimitiveGroup extends
     3349      com.google.protobuf.GeneratedMessageLite<
     3350          PrimitiveGroup, PrimitiveGroup.Builder> implements
    35033351      // @@protoc_insertion_point(message_implements:OSMPBF.PrimitiveGroup)
    35043352      PrimitiveGroupOrBuilder {
    3505     // Use PrimitiveGroup.newBuilder() to construct.
    3506     private PrimitiveGroup(com.google.protobuf.GeneratedMessageLite.Builder builder) {
    3507       super(builder);
    3508       this.unknownFields = builder.getUnknownFields();
    3509     }
    3510     private PrimitiveGroup(boolean noInit) { this.unknownFields = com.google.protobuf.ByteString.EMPTY;}
    3511 
    3512     private static final PrimitiveGroup defaultInstance;
    3513     public static PrimitiveGroup getDefaultInstance() {
    3514       return defaultInstance;
    3515     }
    3516 
    3517     @Override
    3518         public PrimitiveGroup getDefaultInstanceForType() {
    3519       return defaultInstance;
    3520     }
    3521 
    3522     private final com.google.protobuf.ByteString unknownFields;
    3523     private PrimitiveGroup(
    3524         com.google.protobuf.CodedInputStream input,
    3525         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    3526         throws com.google.protobuf.InvalidProtocolBufferException {
    3527       initFields();
    3528       int mutable_bitField0_ = 0;
    3529       com.google.protobuf.ByteString.Output unknownFieldsOutput =
    3530           com.google.protobuf.ByteString.newOutput();
    3531       com.google.protobuf.CodedOutputStream unknownFieldsCodedOutput =
    3532           com.google.protobuf.CodedOutputStream.newInstance(
    3533               unknownFieldsOutput);
    3534       try {
    3535         boolean done = false;
    3536         while (!done) {
    3537           int tag = input.readTag();
    3538           switch (tag) {
    3539             case 0:
    3540               done = true;
    3541               break;
    3542             default: {
    3543               if (!parseUnknownField(input, unknownFieldsCodedOutput,
    3544                                      extensionRegistry, tag)) {
    3545                 done = true;
    3546               }
    3547               break;
    3548             }
    3549             case 10: {
    3550               if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
    3551                 nodes_ = new java.util.ArrayList<>();
    3552                 mutable_bitField0_ |= 0x00000001;
    3553               }
    3554               nodes_.add(input.readMessage(crosby.binary.Osmformat.Node.PARSER, extensionRegistry));
    3555               break;
    3556             }
    3557             case 18: {
    3558               crosby.binary.Osmformat.DenseNodes.Builder subBuilder = null;
    3559               if (((bitField0_ & 0x00000001) == 0x00000001)) {
    3560                 subBuilder = dense_.toBuilder();
    3561               }
    3562               dense_ = input.readMessage(crosby.binary.Osmformat.DenseNodes.PARSER, extensionRegistry);
    3563               if (subBuilder != null) {
    3564                 subBuilder.mergeFrom(dense_);
    3565                 dense_ = subBuilder.buildPartial();
    3566               }
    3567               bitField0_ |= 0x00000001;
    3568               break;
    3569             }
    3570             case 26: {
    3571               if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
    3572                 ways_ = new java.util.ArrayList<>();
    3573                 mutable_bitField0_ |= 0x00000004;
    3574               }
    3575               ways_.add(input.readMessage(crosby.binary.Osmformat.Way.PARSER, extensionRegistry));
    3576               break;
    3577             }
    3578             case 34: {
    3579               if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
    3580                 relations_ = new java.util.ArrayList<>();
    3581                 mutable_bitField0_ |= 0x00000008;
    3582               }
    3583               relations_.add(input.readMessage(crosby.binary.Osmformat.Relation.PARSER, extensionRegistry));
    3584               break;
    3585             }
    3586             case 42: {
    3587               if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
    3588                 changesets_ = new java.util.ArrayList<>();
    3589                 mutable_bitField0_ |= 0x00000010;
    3590               }
    3591               changesets_.add(input.readMessage(crosby.binary.Osmformat.ChangeSet.PARSER, extensionRegistry));
    3592               break;
    3593             }
    3594           }
    3595         }
    3596       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
    3597         throw e.setUnfinishedMessage(this);
    3598       } catch (java.io.IOException e) {
    3599         throw new com.google.protobuf.InvalidProtocolBufferException(
    3600             e.getMessage()).setUnfinishedMessage(this);
    3601       } finally {
    3602         if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
    3603           nodes_ = java.util.Collections.unmodifiableList(nodes_);
    3604         }
    3605         if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
    3606           ways_ = java.util.Collections.unmodifiableList(ways_);
    3607         }
    3608         if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
    3609           relations_ = java.util.Collections.unmodifiableList(relations_);
    3610         }
    3611         if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
    3612           changesets_ = java.util.Collections.unmodifiableList(changesets_);
    3613         }
    3614         try {
    3615           unknownFieldsCodedOutput.flush();
    3616         } catch (java.io.IOException e) {
    3617         // Should not happen
    3618         } finally {
    3619           unknownFields = unknownFieldsOutput.toByteString();
    3620         }
    3621         makeExtensionsImmutable();
    3622       }
    3623     }
    3624     public static com.google.protobuf.Parser<PrimitiveGroup> PARSER =
    3625         new com.google.protobuf.AbstractParser<PrimitiveGroup>() {
    3626       @Override
    3627         public PrimitiveGroup parsePartialFrom(
    3628           com.google.protobuf.CodedInputStream input,
    3629           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    3630           throws com.google.protobuf.InvalidProtocolBufferException {
    3631         return new PrimitiveGroup(input, extensionRegistry);
    3632       }
    3633     };
    3634 
    3635     @java.lang.Override
    3636     public com.google.protobuf.Parser<PrimitiveGroup> getParserForType() {
    3637       return PARSER;
    3638     }
    3639 
     3353    private PrimitiveGroup() {
     3354      nodes_ = emptyProtobufList();
     3355      ways_ = emptyProtobufList();
     3356      relations_ = emptyProtobufList();
     3357      changesets_ = emptyProtobufList();
     3358    }
    36403359    private int bitField0_;
    36413360    public static final int NODES_FIELD_NUMBER = 1;
    3642     private java.util.List<crosby.binary.Osmformat.Node> nodes_;
     3361    private com.google.protobuf.Internal.ProtobufList<crosby.binary.Osmformat.Node> nodes_;
    36433362    /**
    36443363     * <code>repeated .OSMPBF.Node nodes = 1;</code>
    36453364     */
    3646     @Override
    3647         public java.util.List<crosby.binary.Osmformat.Node> getNodesList() {
     3365    public java.util.List<crosby.binary.Osmformat.Node> getNodesList() {
    36483366      return nodes_;
    36493367    }
     
    36513369     * <code>repeated .OSMPBF.Node nodes = 1;</code>
    36523370     */
    3653     public java.util.List<? extends crosby.binary.Osmformat.NodeOrBuilder>
     3371    public java.util.List<? extends crosby.binary.Osmformat.NodeOrBuilder> 
    36543372        getNodesOrBuilderList() {
    36553373      return nodes_;
     
    36583376     * <code>repeated .OSMPBF.Node nodes = 1;</code>
    36593377     */
    3660     @Override
    3661         public int getNodesCount() {
     3378    public int getNodesCount() {
    36623379      return nodes_.size();
    36633380    }
     
    36653382     * <code>repeated .OSMPBF.Node nodes = 1;</code>
    36663383     */
    3667     @Override
    3668         public crosby.binary.Osmformat.Node getNodes(int index) {
     3384    public crosby.binary.Osmformat.Node getNodes(int index) {
    36693385      return nodes_.get(index);
    36703386    }
     
    36763392      return nodes_.get(index);
    36773393    }
     3394    private void ensureNodesIsMutable() {
     3395      if (!nodes_.isModifiable()) {
     3396        nodes_ =
     3397            com.google.protobuf.GeneratedMessageLite.mutableCopy(nodes_);
     3398       }
     3399    }
     3400
     3401    /**
     3402     * <code>repeated .OSMPBF.Node nodes = 1;</code>
     3403     */
     3404    private void setNodes(
     3405        int index, crosby.binary.Osmformat.Node value) {
     3406      if (value == null) {
     3407        throw new NullPointerException();
     3408      }
     3409      ensureNodesIsMutable();
     3410      nodes_.set(index, value);
     3411    }
     3412    /**
     3413     * <code>repeated .OSMPBF.Node nodes = 1;</code>
     3414     */
     3415    private void setNodes(
     3416        int index, crosby.binary.Osmformat.Node.Builder builderForValue) {
     3417      ensureNodesIsMutable();
     3418      nodes_.set(index, builderForValue.build());
     3419    }
     3420    /**
     3421     * <code>repeated .OSMPBF.Node nodes = 1;</code>
     3422     */
     3423    private void addNodes(crosby.binary.Osmformat.Node value) {
     3424      if (value == null) {
     3425        throw new NullPointerException();
     3426      }
     3427      ensureNodesIsMutable();
     3428      nodes_.add(value);
     3429    }
     3430    /**
     3431     * <code>repeated .OSMPBF.Node nodes = 1;</code>
     3432     */
     3433    private void addNodes(
     3434        int index, crosby.binary.Osmformat.Node value) {
     3435      if (value == null) {
     3436        throw new NullPointerException();
     3437      }
     3438      ensureNodesIsMutable();
     3439      nodes_.add(index, value);
     3440    }
     3441    /**
     3442     * <code>repeated .OSMPBF.Node nodes = 1;</code>
     3443     */
     3444    private void addNodes(
     3445        crosby.binary.Osmformat.Node.Builder builderForValue) {
     3446      ensureNodesIsMutable();
     3447      nodes_.add(builderForValue.build());
     3448    }
     3449    /**
     3450     * <code>repeated .OSMPBF.Node nodes = 1;</code>
     3451     */
     3452    private void addNodes(
     3453        int index, crosby.binary.Osmformat.Node.Builder builderForValue) {
     3454      ensureNodesIsMutable();
     3455      nodes_.add(index, builderForValue.build());
     3456    }
     3457    /**
     3458     * <code>repeated .OSMPBF.Node nodes = 1;</code>
     3459     */
     3460    private void addAllNodes(
     3461        java.lang.Iterable<? extends crosby.binary.Osmformat.Node> values) {
     3462      ensureNodesIsMutable();
     3463      com.google.protobuf.AbstractMessageLite.addAll(
     3464          values, nodes_);
     3465    }
     3466    /**
     3467     * <code>repeated .OSMPBF.Node nodes = 1;</code>
     3468     */
     3469    private void clearNodes() {
     3470      nodes_ = emptyProtobufList();
     3471    }
     3472    /**
     3473     * <code>repeated .OSMPBF.Node nodes = 1;</code>
     3474     */
     3475    private void removeNodes(int index) {
     3476      ensureNodesIsMutable();
     3477      nodes_.remove(index);
     3478    }
    36783479
    36793480    public static final int DENSE_FIELD_NUMBER = 2;
     
    36823483     * <code>optional .OSMPBF.DenseNodes dense = 2;</code>
    36833484     */
    3684     @Override
    3685         public boolean hasDense() {
     3485    public boolean hasDense() {
    36863486      return ((bitField0_ & 0x00000001) == 0x00000001);
    36873487    }
     
    36893489     * <code>optional .OSMPBF.DenseNodes dense = 2;</code>
    36903490     */
    3691     @Override
    3692         public crosby.binary.Osmformat.DenseNodes getDense() {
    3693       return dense_;
     3491    public crosby.binary.Osmformat.DenseNodes getDense() {
     3492      return dense_ == null ? crosby.binary.Osmformat.DenseNodes.getDefaultInstance() : dense_;
     3493    }
     3494    /**
     3495     * <code>optional .OSMPBF.DenseNodes dense = 2;</code>
     3496     */
     3497    private void setDense(crosby.binary.Osmformat.DenseNodes value) {
     3498      if (value == null) {
     3499        throw new NullPointerException();
     3500      }
     3501      dense_ = value;
     3502      bitField0_ |= 0x00000001;
     3503      }
     3504    /**
     3505     * <code>optional .OSMPBF.DenseNodes dense = 2;</code>
     3506     */
     3507    private void setDense(
     3508        crosby.binary.Osmformat.DenseNodes.Builder builderForValue) {
     3509      dense_ = builderForValue.build();
     3510      bitField0_ |= 0x00000001;
     3511    }
     3512    /**
     3513     * <code>optional .OSMPBF.DenseNodes dense = 2;</code>
     3514     */
     3515    private void mergeDense(crosby.binary.Osmformat.DenseNodes value) {
     3516      if (dense_ != null &&
     3517          dense_ != crosby.binary.Osmformat.DenseNodes.getDefaultInstance()) {
     3518        dense_ =
     3519          crosby.binary.Osmformat.DenseNodes.newBuilder(dense_).mergeFrom(value).buildPartial();
     3520      } else {
     3521        dense_ = value;
     3522      }
     3523      bitField0_ |= 0x00000001;
     3524    }
     3525    /**
     3526     * <code>optional .OSMPBF.DenseNodes dense = 2;</code>
     3527     */
     3528    private void clearDense() {  dense_ = null;
     3529      bitField0_ = (bitField0_ & ~0x00000001);
    36943530    }
    36953531
    36963532    public static final int WAYS_FIELD_NUMBER = 3;
    3697     private java.util.List<crosby.binary.Osmformat.Way> ways_;
     3533    private com.google.protobuf.Internal.ProtobufList<crosby.binary.Osmformat.Way> ways_;
    36983534    /**
    36993535     * <code>repeated .OSMPBF.Way ways = 3;</code>
    37003536     */
    3701     @Override
    3702         public java.util.List<crosby.binary.Osmformat.Way> getWaysList() {
     3537    public java.util.List<crosby.binary.Osmformat.Way> getWaysList() {
    37033538      return ways_;
    37043539    }
     
    37063541     * <code>repeated .OSMPBF.Way ways = 3;</code>
    37073542     */
    3708     public java.util.List<? extends crosby.binary.Osmformat.WayOrBuilder>
     3543    public java.util.List<? extends crosby.binary.Osmformat.WayOrBuilder> 
    37093544        getWaysOrBuilderList() {
    37103545      return ways_;
     
    37133548     * <code>repeated .OSMPBF.Way ways = 3;</code>
    37143549     */
    3715     @Override
    3716         public int getWaysCount() {
     3550    public int getWaysCount() {
    37173551      return ways_.size();
    37183552    }
     
    37203554     * <code>repeated .OSMPBF.Way ways = 3;</code>
    37213555     */
    3722     @Override
    3723         public crosby.binary.Osmformat.Way getWays(int index) {
     3556    public crosby.binary.Osmformat.Way getWays(int index) {
    37243557      return ways_.get(index);
    37253558    }
     
    37313564      return ways_.get(index);
    37323565    }
     3566    private void ensureWaysIsMutable() {
     3567      if (!ways_.isModifiable()) {
     3568        ways_ =
     3569            com.google.protobuf.GeneratedMessageLite.mutableCopy(ways_);
     3570       }
     3571    }
     3572
     3573    /**
     3574     * <code>repeated .OSMPBF.Way ways = 3;</code>
     3575     */
     3576    private void setWays(
     3577        int index, crosby.binary.Osmformat.Way value) {
     3578      if (value == null) {
     3579        throw new NullPointerException();
     3580      }
     3581      ensureWaysIsMutable();
     3582      ways_.set(index, value);
     3583    }
     3584    /**
     3585     * <code>repeated .OSMPBF.Way ways = 3;</code>
     3586     */
     3587    private void setWays(
     3588        int index, crosby.binary.Osmformat.Way.Builder builderForValue) {
     3589      ensureWaysIsMutable();
     3590      ways_.set(index, builderForValue.build());
     3591    }
     3592    /**
     3593     * <code>repeated .OSMPBF.Way ways = 3;</code>
     3594     */
     3595    private void addWays(crosby.binary.Osmformat.Way value) {
     3596      if (value == null) {
     3597        throw new NullPointerException();
     3598      }
     3599      ensureWaysIsMutable();
     3600      ways_.add(value);
     3601    }
     3602    /**
     3603     * <code>repeated .OSMPBF.Way ways = 3;</code>
     3604     */
     3605    private void addWays(
     3606        int index, crosby.binary.Osmformat.Way value) {
     3607      if (value == null) {
     3608        throw new NullPointerException();
     3609      }
     3610      ensureWaysIsMutable();
     3611      ways_.add(index, value);
     3612    }
     3613    /**
     3614     * <code>repeated .OSMPBF.Way ways = 3;</code>
     3615     */
     3616    private void addWays(
     3617        crosby.binary.Osmformat.Way.Builder builderForValue) {
     3618      ensureWaysIsMutable();
     3619      ways_.add(builderForValue.build());
     3620    }
     3621    /**
     3622     * <code>repeated .OSMPBF.Way ways = 3;</code>
     3623     */
     3624    private void addWays(
     3625        int index, crosby.binary.Osmformat.Way.Builder builderForValue) {
     3626      ensureWaysIsMutable();
     3627      ways_.add(index, builderForValue.build());
     3628    }
     3629    /**
     3630     * <code>repeated .OSMPBF.Way ways = 3;</code>
     3631     */
     3632    private void addAllWays(
     3633        java.lang.Iterable<? extends crosby.binary.Osmformat.Way> values) {
     3634      ensureWaysIsMutable();
     3635      com.google.protobuf.AbstractMessageLite.addAll(
     3636          values, ways_);
     3637    }
     3638    /**
     3639     * <code>repeated .OSMPBF.Way ways = 3;</code>
     3640     */
     3641    private void clearWays() {
     3642      ways_ = emptyProtobufList();
     3643    }
     3644    /**
     3645     * <code>repeated .OSMPBF.Way ways = 3;</code>
     3646     */
     3647    private void removeWays(int index) {
     3648      ensureWaysIsMutable();
     3649      ways_.remove(index);
     3650    }
    37333651
    37343652    public static final int RELATIONS_FIELD_NUMBER = 4;
    3735     private java.util.List<crosby.binary.Osmformat.Relation> relations_;
     3653    private com.google.protobuf.Internal.ProtobufList<crosby.binary.Osmformat.Relation> relations_;
    37363654    /**
    37373655     * <code>repeated .OSMPBF.Relation relations = 4;</code>
    37383656     */
    3739     @Override
    3740         public java.util.List<crosby.binary.Osmformat.Relation> getRelationsList() {
     3657    public java.util.List<crosby.binary.Osmformat.Relation> getRelationsList() {
    37413658      return relations_;
    37423659    }
     
    37443661     * <code>repeated .OSMPBF.Relation relations = 4;</code>
    37453662     */
    3746     public java.util.List<? extends crosby.binary.Osmformat.RelationOrBuilder>
     3663    public java.util.List<? extends crosby.binary.Osmformat.RelationOrBuilder> 
    37473664        getRelationsOrBuilderList() {
    37483665      return relations_;
     
    37513668     * <code>repeated .OSMPBF.Relation relations = 4;</code>
    37523669     */
    3753     @Override
    3754         public int getRelationsCount() {
     3670    public int getRelationsCount() {
    37553671      return relations_.size();
    37563672    }
     
    37583674     * <code>repeated .OSMPBF.Relation relations = 4;</code>
    37593675     */
    3760     @Override
    3761         public crosby.binary.Osmformat.Relation getRelations(int index) {
     3676    public crosby.binary.Osmformat.Relation getRelations(int index) {
    37623677      return relations_.get(index);
    37633678    }
     
    37693684      return relations_.get(index);
    37703685    }
     3686    private void ensureRelationsIsMutable() {
     3687      if (!relations_.isModifiable()) {
     3688        relations_ =
     3689            com.google.protobuf.GeneratedMessageLite.mutableCopy(relations_);
     3690       }
     3691    }
     3692
     3693    /**
     3694     * <code>repeated .OSMPBF.Relation relations = 4;</code>
     3695     */
     3696    private void setRelations(
     3697        int index, crosby.binary.Osmformat.Relation value) {
     3698      if (value == null) {
     3699        throw new NullPointerException();
     3700      }
     3701      ensureRelationsIsMutable();
     3702      relations_.set(index, value);
     3703    }
     3704    /**
     3705     * <code>repeated .OSMPBF.Relation relations = 4;</code>
     3706     */
     3707    private void setRelations(
     3708        int index, crosby.binary.Osmformat.Relation.Builder builderForValue) {
     3709      ensureRelationsIsMutable();
     3710      relations_.set(index, builderForValue.build());
     3711    }
     3712    /**
     3713     * <code>repeated .OSMPBF.Relation relations = 4;</code>
     3714     */
     3715    private void addRelations(crosby.binary.Osmformat.Relation value) {
     3716      if (value == null) {
     3717        throw new NullPointerException();
     3718      }
     3719      ensureRelationsIsMutable();
     3720      relations_.add(value);
     3721    }
     3722    /**
     3723     * <code>repeated .OSMPBF.Relation relations = 4;</code>
     3724     */
     3725    private void addRelations(
     3726        int index, crosby.binary.Osmformat.Relation value) {
     3727      if (value == null) {
     3728        throw new NullPointerException();
     3729      }
     3730      ensureRelationsIsMutable();
     3731      relations_.add(index, value);
     3732    }
     3733    /**
     3734     * <code>repeated .OSMPBF.Relation relations = 4;</code>
     3735     */
     3736    private void addRelations(
     3737        crosby.binary.Osmformat.Relation.Builder builderForValue) {
     3738      ensureRelationsIsMutable();
     3739      relations_.add(builderForValue.build());
     3740    }
     3741    /**
     3742     * <code>repeated .OSMPBF.Relation relations = 4;</code>
     3743     */
     3744    private void addRelations(
     3745        int index, crosby.binary.Osmformat.Relation.Builder builderForValue) {
     3746      ensureRelationsIsMutable();
     3747      relations_.add(index, builderForValue.build());
     3748    }
     3749    /**
     3750     * <code>repeated .OSMPBF.Relation relations = 4;</code>
     3751     */
     3752    private void addAllRelations(
     3753        java.lang.Iterable<? extends crosby.binary.Osmformat.Relation> values) {
     3754      ensureRelationsIsMutable();
     3755      com.google.protobuf.AbstractMessageLite.addAll(
     3756          values, relations_);
     3757    }
     3758    /**
     3759     * <code>repeated .OSMPBF.Relation relations = 4;</code>
     3760     */
     3761    private void clearRelations() {
     3762      relations_ = emptyProtobufList();
     3763    }
     3764    /**
     3765     * <code>repeated .OSMPBF.Relation relations = 4;</code>
     3766     */
     3767    private void removeRelations(int index) {
     3768      ensureRelationsIsMutable();
     3769      relations_.remove(index);
     3770    }
    37713771
    37723772    public static final int CHANGESETS_FIELD_NUMBER = 5;
    3773     private java.util.List<crosby.binary.Osmformat.ChangeSet> changesets_;
     3773    private com.google.protobuf.Internal.ProtobufList<crosby.binary.Osmformat.ChangeSet> changesets_;
    37743774    /**
    37753775     * <code>repeated .OSMPBF.ChangeSet changesets = 5;</code>
    37763776     */
    3777     @Override
    3778         public java.util.List<crosby.binary.Osmformat.ChangeSet> getChangesetsList() {
     3777    public java.util.List<crosby.binary.Osmformat.ChangeSet> getChangesetsList() {
    37793778      return changesets_;
    37803779    }
     
    37823781     * <code>repeated .OSMPBF.ChangeSet changesets = 5;</code>
    37833782     */
    3784     public java.util.List<? extends crosby.binary.Osmformat.ChangeSetOrBuilder>
     3783    public java.util.List<? extends crosby.binary.Osmformat.ChangeSetOrBuilder> 
    37853784        getChangesetsOrBuilderList() {
    37863785      return changesets_;
     
    37893788     * <code>repeated .OSMPBF.ChangeSet changesets = 5;</code>
    37903789     */
    3791     @Override
    3792         public int getChangesetsCount() {
     3790    public int getChangesetsCount() {
    37933791      return changesets_.size();
    37943792    }
     
    37963794     * <code>repeated .OSMPBF.ChangeSet changesets = 5;</code>
    37973795     */
    3798     @Override
    3799         public crosby.binary.Osmformat.ChangeSet getChangesets(int index) {
     3796    public crosby.binary.Osmformat.ChangeSet getChangesets(int index) {
    38003797      return changesets_.get(index);
    38013798    }
     
    38073804      return changesets_.get(index);
    38083805    }
    3809 
    3810     private void initFields() {
    3811       nodes_ = java.util.Collections.emptyList();
    3812       dense_ = crosby.binary.Osmformat.DenseNodes.getDefaultInstance();
    3813       ways_ = java.util.Collections.emptyList();
    3814       relations_ = java.util.Collections.emptyList();
    3815       changesets_ = java.util.Collections.emptyList();
    3816     }
    3817     private byte memoizedIsInitialized = -1;
    3818     @Override
    3819         public final boolean isInitialized() {
    3820       byte isInitialized = memoizedIsInitialized;
    3821       if (isInitialized == 1) return true;
    3822       if (isInitialized == 0) return false;
    3823 
    3824       for (int i = 0; i < getNodesCount(); i++) {
    3825         if (!getNodes(i).isInitialized()) {
    3826           memoizedIsInitialized = 0;
    3827           return false;
    3828         }
    3829       }
    3830       for (int i = 0; i < getWaysCount(); i++) {
    3831         if (!getWays(i).isInitialized()) {
    3832           memoizedIsInitialized = 0;
    3833           return false;
    3834         }
    3835       }
    3836       for (int i = 0; i < getRelationsCount(); i++) {
    3837         if (!getRelations(i).isInitialized()) {
    3838           memoizedIsInitialized = 0;
    3839           return false;
    3840         }
    3841       }
    3842       for (int i = 0; i < getChangesetsCount(); i++) {
    3843         if (!getChangesets(i).isInitialized()) {
    3844           memoizedIsInitialized = 0;
    3845           return false;
    3846         }
    3847       }
    3848       memoizedIsInitialized = 1;
    3849       return true;
    3850     }
    3851 
    3852     @Override
    3853         public void writeTo(com.google.protobuf.CodedOutputStream output)
     3806    private void ensureChangesetsIsMutable() {
     3807      if (!changesets_.isModifiable()) {
     3808        changesets_ =
     3809            com.google.protobuf.GeneratedMessageLite.mutableCopy(changesets_);
     3810       }
     3811    }
     3812
     3813    /**
     3814     * <code>repeated .OSMPBF.ChangeSet changesets = 5;</code>
     3815     */
     3816    private void setChangesets(
     3817        int index, crosby.binary.Osmformat.ChangeSet value) {
     3818      if (value == null) {
     3819        throw new NullPointerException();
     3820      }
     3821      ensureChangesetsIsMutable();
     3822      changesets_.set(index, value);
     3823    }
     3824    /**
     3825     * <code>repeated .OSMPBF.ChangeSet changesets = 5;</code>
     3826     */
     3827    private void setChangesets(
     3828        int index, crosby.binary.Osmformat.ChangeSet.Builder builderForValue) {
     3829      ensureChangesetsIsMutable();
     3830      changesets_.set(index, builderForValue.build());
     3831    }
     3832    /**
     3833     * <code>repeated .OSMPBF.ChangeSet changesets = 5;</code>
     3834     */
     3835    private void addChangesets(crosby.binary.Osmformat.ChangeSet value) {
     3836      if (value == null) {
     3837        throw new NullPointerException();
     3838      }
     3839      ensureChangesetsIsMutable();
     3840      changesets_.add(value);
     3841    }
     3842    /**
     3843     * <code>repeated .OSMPBF.ChangeSet changesets = 5;</code>
     3844     */
     3845    private void addChangesets(
     3846        int index, crosby.binary.Osmformat.ChangeSet value) {
     3847      if (value == null) {
     3848        throw new NullPointerException();
     3849      }
     3850      ensureChangesetsIsMutable();
     3851      changesets_.add(index, value);
     3852    }
     3853    /**
     3854     * <code>repeated .OSMPBF.ChangeSet changesets = 5;</code>
     3855     */
     3856    private void addChangesets(
     3857        crosby.binary.Osmformat.ChangeSet.Builder builderForValue) {
     3858      ensureChangesetsIsMutable();
     3859      changesets_.add(builderForValue.build());
     3860    }
     3861    /**
     3862     * <code>repeated .OSMPBF.ChangeSet changesets = 5;</code>
     3863     */
     3864    private void addChangesets(
     3865        int index, crosby.binary.Osmformat.ChangeSet.Builder builderForValue) {
     3866      ensureChangesetsIsMutable();
     3867      changesets_.add(index, builderForValue.build());
     3868    }
     3869    /**
     3870     * <code>repeated .OSMPBF.ChangeSet changesets = 5;</code>
     3871     */
     3872    private void addAllChangesets(
     3873        java.lang.Iterable<? extends crosby.binary.Osmformat.ChangeSet> values) {
     3874      ensureChangesetsIsMutable();
     3875      com.google.protobuf.AbstractMessageLite.addAll(
     3876          values, changesets_);
     3877    }
     3878    /**
     3879     * <code>repeated .OSMPBF.ChangeSet changesets = 5;</code>
     3880     */
     3881    private void clearChangesets() {
     3882      changesets_ = emptyProtobufList();
     3883    }
     3884    /**
     3885     * <code>repeated .OSMPBF.ChangeSet changesets = 5;</code>
     3886     */
     3887    private void removeChangesets(int index) {
     3888      ensureChangesetsIsMutable();
     3889      changesets_.remove(index);
     3890    }
     3891
     3892    public void writeTo(com.google.protobuf.CodedOutputStream output)
    38543893                        throws java.io.IOException {
    3855       getSerializedSize();
    38563894      for (int i = 0; i < nodes_.size(); i++) {
    38573895        output.writeMessage(1, nodes_.get(i));
    38583896      }
    38593897      if (((bitField0_ & 0x00000001) == 0x00000001)) {
    3860         output.writeMessage(2, dense_);
     3898        output.writeMessage(2, getDense());
    38613899      }
    38623900      for (int i = 0; i < ways_.size(); i++) {
     
    38693907        output.writeMessage(5, changesets_.get(i));
    38703908      }
    3871       output.writeRawBytes(unknownFields);
    3872     }
    3873 
    3874     private int memoizedSerializedSize = -1;
    3875     @Override
    3876         public int getSerializedSize() {
     3909      unknownFields.writeTo(output);
     3910    }
     3911
     3912    public int getSerializedSize() {
    38773913      int size = memoizedSerializedSize;
    38783914      if (size != -1) return size;
     
    38853921      if (((bitField0_ & 0x00000001) == 0x00000001)) {
    38863922        size += com.google.protobuf.CodedOutputStream
    3887           .computeMessageSize(2, dense_);
     3923          .computeMessageSize(2, getDense());
    38883924      }
    38893925      for (int i = 0; i < ways_.size(); i++) {
     
    38993935          .computeMessageSize(5, changesets_.get(i));
    39003936      }
    3901       size += unknownFields.size();
     3937      size += unknownFields.getSerializedSize();
    39023938      memoizedSerializedSize = size;
    39033939      return size;
    39043940    }
    39053941
    3906     private static final long serialVersionUID = 0L;
    3907     @java.lang.Override
    3908     protected java.lang.Object writeReplace()
    3909         throws java.io.ObjectStreamException {
    3910       return super.writeReplace();
    3911     }
    3912 
     3942    public static crosby.binary.Osmformat.PrimitiveGroup parseFrom(
     3943        java.nio.ByteBuffer data)
     3944        throws com.google.protobuf.InvalidProtocolBufferException {
     3945      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     3946          DEFAULT_INSTANCE, data);
     3947    }
     3948    public static crosby.binary.Osmformat.PrimitiveGroup parseFrom(
     3949        java.nio.ByteBuffer data,
     3950        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     3951        throws com.google.protobuf.InvalidProtocolBufferException {
     3952      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     3953          DEFAULT_INSTANCE, data, extensionRegistry);
     3954    }
    39133955    public static crosby.binary.Osmformat.PrimitiveGroup parseFrom(
    39143956        com.google.protobuf.ByteString data)
    39153957        throws com.google.protobuf.InvalidProtocolBufferException {
    3916       return PARSER.parseFrom(data);
     3958      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     3959          DEFAULT_INSTANCE, data);
    39173960    }
    39183961    public static crosby.binary.Osmformat.PrimitiveGroup parseFrom(
     
    39203963        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    39213964        throws com.google.protobuf.InvalidProtocolBufferException {
    3922       return PARSER.parseFrom(data, extensionRegistry);
     3965      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     3966          DEFAULT_INSTANCE, data, extensionRegistry);
    39233967    }
    39243968    public static crosby.binary.Osmformat.PrimitiveGroup parseFrom(byte[] data)
    39253969        throws com.google.protobuf.InvalidProtocolBufferException {
    3926       return PARSER.parseFrom(data);
     3970      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     3971          DEFAULT_INSTANCE, data);
    39273972    }
    39283973    public static crosby.binary.Osmformat.PrimitiveGroup parseFrom(
     
    39303975        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    39313976        throws com.google.protobuf.InvalidProtocolBufferException {
    3932       return PARSER.parseFrom(data, extensionRegistry);
     3977      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     3978          DEFAULT_INSTANCE, data, extensionRegistry);
    39333979    }
    39343980    public static crosby.binary.Osmformat.PrimitiveGroup parseFrom(java.io.InputStream input)
    39353981        throws java.io.IOException {
    3936       return PARSER.parseFrom(input);
     3982      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     3983          DEFAULT_INSTANCE, input);
    39373984    }
    39383985    public static crosby.binary.Osmformat.PrimitiveGroup parseFrom(
     
    39403987        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    39413988        throws java.io.IOException {
    3942       return PARSER.parseFrom(input, extensionRegistry);
     3989      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     3990          DEFAULT_INSTANCE, input, extensionRegistry);
    39433991    }
    39443992    public static crosby.binary.Osmformat.PrimitiveGroup parseDelimitedFrom(java.io.InputStream input)
    39453993        throws java.io.IOException {
    3946       return PARSER.parseDelimitedFrom(input);
     3994      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    39473995    }
    39483996    public static crosby.binary.Osmformat.PrimitiveGroup parseDelimitedFrom(
     
    39503998        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    39513999        throws java.io.IOException {
    3952       return PARSER.parseDelimitedFrom(input, extensionRegistry);
     4000      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    39534001    }
    39544002    public static crosby.binary.Osmformat.PrimitiveGroup parseFrom(
    39554003        com.google.protobuf.CodedInputStream input)
    39564004        throws java.io.IOException {
    3957       return PARSER.parseFrom(input);
     4005      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     4006          DEFAULT_INSTANCE, input);
    39584007    }
    39594008    public static crosby.binary.Osmformat.PrimitiveGroup parseFrom(
     
    39614010        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    39624011        throws java.io.IOException {
    3963       return PARSER.parseFrom(input, extensionRegistry);
    3964     }
    3965 
    3966     public static Builder newBuilder() { return Builder.create(); }
    3967     @Override
    3968         public Builder newBuilderForType() { return newBuilder(); }
     4012      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     4013          DEFAULT_INSTANCE, input, extensionRegistry);
     4014    }
     4015
     4016    public static Builder newBuilder() {
     4017      return DEFAULT_INSTANCE.toBuilder();
     4018    }
    39694019    public static Builder newBuilder(crosby.binary.Osmformat.PrimitiveGroup prototype) {
    3970       return newBuilder().mergeFrom(prototype);
    3971     }
    3972     @Override
    3973         public Builder toBuilder() { return newBuilder(this); }
    3974 
    3975     /**
     4020      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     4021    }
     4022
     4023    /**
     4024     * <pre>
     4025     * Group of OSMPrimitives. All primitives in a group must be the same type.
     4026     * </pre>
     4027     *
    39764028     * Protobuf type {@code OSMPBF.PrimitiveGroup}
    3977      *
    3978      * <pre>
    3979      * Group of OSMPrimitives. All primitives in a group must be the same type.
    3980      * </pre>
    39814029     */
    39824030    public static final class Builder extends
    39834031        com.google.protobuf.GeneratedMessageLite.Builder<
    3984           crosby.binary.Osmformat.PrimitiveGroup, Builder>
    3985         implements
     4032          crosby.binary.Osmformat.PrimitiveGroup, Builder> implements
    39864033        // @@protoc_insertion_point(builder_implements:OSMPBF.PrimitiveGroup)
    39874034        crosby.binary.Osmformat.PrimitiveGroupOrBuilder {
    39884035      // Construct using crosby.binary.Osmformat.PrimitiveGroup.newBuilder()
    39894036      private Builder() {
    3990         maybeForceBuilderInitialization();
    3991       }
    3992 
    3993       private void maybeForceBuilderInitialization() {
    3994       }
    3995       private static Builder create() {
    3996         return new Builder();
    3997       }
    3998 
    3999       @Override
    4000         public Builder clear() {
    4001         super.clear();
    4002         nodes_ = java.util.Collections.emptyList();
    4003         bitField0_ = (bitField0_ & ~0x00000001);
    4004         dense_ = crosby.binary.Osmformat.DenseNodes.getDefaultInstance();
    4005         bitField0_ = (bitField0_ & ~0x00000002);
    4006         ways_ = java.util.Collections.emptyList();
    4007         bitField0_ = (bitField0_ & ~0x00000004);
    4008         relations_ = java.util.Collections.emptyList();
    4009         bitField0_ = (bitField0_ & ~0x00000008);
    4010         changesets_ = java.util.Collections.emptyList();
    4011         bitField0_ = (bitField0_ & ~0x00000010);
    4012         return this;
    4013       }
    4014 
    4015       @Override
    4016         public Builder clone() {
    4017         return create().mergeFrom(buildPartial());
    4018       }
    4019 
    4020       @Override
    4021         public crosby.binary.Osmformat.PrimitiveGroup getDefaultInstanceForType() {
    4022         return crosby.binary.Osmformat.PrimitiveGroup.getDefaultInstance();
    4023       }
    4024 
    4025       @Override
    4026         public crosby.binary.Osmformat.PrimitiveGroup build() {
    4027         crosby.binary.Osmformat.PrimitiveGroup result = buildPartial();
    4028         if (!result.isInitialized()) {
    4029           throw newUninitializedMessageException(result);
    4030         }
    4031         return result;
    4032       }
    4033 
    4034       @Override
    4035         public crosby.binary.Osmformat.PrimitiveGroup buildPartial() {
    4036         crosby.binary.Osmformat.PrimitiveGroup result = new crosby.binary.Osmformat.PrimitiveGroup(this);
    4037         int from_bitField0_ = bitField0_;
    4038         int to_bitField0_ = 0;
    4039         if (((bitField0_ & 0x00000001) == 0x00000001)) {
    4040           nodes_ = java.util.Collections.unmodifiableList(nodes_);
    4041           bitField0_ = (bitField0_ & ~0x00000001);
    4042         }
    4043         result.nodes_ = nodes_;
    4044         if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
    4045           to_bitField0_ |= 0x00000001;
    4046         }
    4047         result.dense_ = dense_;
    4048         if (((bitField0_ & 0x00000004) == 0x00000004)) {
    4049           ways_ = java.util.Collections.unmodifiableList(ways_);
    4050           bitField0_ = (bitField0_ & ~0x00000004);
    4051         }
    4052         result.ways_ = ways_;
    4053         if (((bitField0_ & 0x00000008) == 0x00000008)) {
    4054           relations_ = java.util.Collections.unmodifiableList(relations_);
    4055           bitField0_ = (bitField0_ & ~0x00000008);
    4056         }
    4057         result.relations_ = relations_;
    4058         if (((bitField0_ & 0x00000010) == 0x00000010)) {
    4059           changesets_ = java.util.Collections.unmodifiableList(changesets_);
    4060           bitField0_ = (bitField0_ & ~0x00000010);
    4061         }
    4062         result.changesets_ = changesets_;
    4063         result.bitField0_ = to_bitField0_;
    4064         return result;
    4065       }
    4066 
    4067       @Override
    4068         public Builder mergeFrom(crosby.binary.Osmformat.PrimitiveGroup other) {
    4069         if (other == crosby.binary.Osmformat.PrimitiveGroup.getDefaultInstance()) return this;
    4070         if (!other.nodes_.isEmpty()) {
    4071           if (nodes_.isEmpty()) {
    4072             nodes_ = other.nodes_;
    4073             bitField0_ = (bitField0_ & ~0x00000001);
    4074           } else {
    4075             ensureNodesIsMutable();
    4076             nodes_.addAll(other.nodes_);
    4077           }
    4078 
    4079         }
    4080         if (other.hasDense()) {
    4081           mergeDense(other.getDense());
    4082         }
    4083         if (!other.ways_.isEmpty()) {
    4084           if (ways_.isEmpty()) {
    4085             ways_ = other.ways_;
    4086             bitField0_ = (bitField0_ & ~0x00000004);
    4087           } else {
    4088             ensureWaysIsMutable();
    4089             ways_.addAll(other.ways_);
    4090           }
    4091 
    4092         }
    4093         if (!other.relations_.isEmpty()) {
    4094           if (relations_.isEmpty()) {
    4095             relations_ = other.relations_;
    4096             bitField0_ = (bitField0_ & ~0x00000008);
    4097           } else {
    4098             ensureRelationsIsMutable();
    4099             relations_.addAll(other.relations_);
    4100           }
    4101 
    4102         }
    4103         if (!other.changesets_.isEmpty()) {
    4104           if (changesets_.isEmpty()) {
    4105             changesets_ = other.changesets_;
    4106             bitField0_ = (bitField0_ & ~0x00000010);
    4107           } else {
    4108             ensureChangesetsIsMutable();
    4109             changesets_.addAll(other.changesets_);
    4110           }
    4111 
    4112         }
    4113         setUnknownFields(
    4114             getUnknownFields().concat(other.unknownFields));
    4115         return this;
    4116       }
    4117 
    4118       @Override
    4119         public final boolean isInitialized() {
    4120         for (int i = 0; i < getNodesCount(); i++) {
    4121           if (!getNodes(i).isInitialized()) {
    4122 
    4123             return false;
    4124           }
    4125         }
    4126         for (int i = 0; i < getWaysCount(); i++) {
    4127           if (!getWays(i).isInitialized()) {
    4128 
    4129             return false;
    4130           }
    4131         }
    4132         for (int i = 0; i < getRelationsCount(); i++) {
    4133           if (!getRelations(i).isInitialized()) {
    4134 
    4135             return false;
    4136           }
    4137         }
    4138         for (int i = 0; i < getChangesetsCount(); i++) {
    4139           if (!getChangesets(i).isInitialized()) {
    4140 
    4141             return false;
    4142           }
    4143         }
    4144         return true;
    4145       }
    4146 
    4147       @Override
    4148         public Builder mergeFrom(
    4149           com.google.protobuf.CodedInputStream input,
    4150           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    4151           throws java.io.IOException {
    4152         crosby.binary.Osmformat.PrimitiveGroup parsedMessage = null;
    4153         try {
    4154           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
    4155         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
    4156           parsedMessage = (crosby.binary.Osmformat.PrimitiveGroup) e.getUnfinishedMessage();
    4157           throw e;
    4158         } finally {
    4159           if (parsedMessage != null) {
    4160             mergeFrom(parsedMessage);
    4161           }
    4162         }
    4163         return this;
    4164       }
    4165       private int bitField0_;
    4166 
    4167       private java.util.List<crosby.binary.Osmformat.Node> nodes_ =
    4168         java.util.Collections.emptyList();
    4169       private void ensureNodesIsMutable() {
    4170         if (!((bitField0_ & 0x00000001) == 0x00000001)) {
    4171           nodes_ = new java.util.ArrayList<>(nodes_);
    4172           bitField0_ |= 0x00000001;
    4173          }
    4174       }
     4037        super(DEFAULT_INSTANCE);
     4038      }
     4039
    41754040
    41764041      /**
    41774042       * <code>repeated .OSMPBF.Node nodes = 1;</code>
    41784043       */
    4179       @Override
    4180         public java.util.List<crosby.binary.Osmformat.Node> getNodesList() {
    4181         return java.util.Collections.unmodifiableList(nodes_);
     4044      public java.util.List<crosby.binary.Osmformat.Node> getNodesList() {
     4045        return java.util.Collections.unmodifiableList(
     4046            instance.getNodesList());
    41824047      }
    41834048      /**
    41844049       * <code>repeated .OSMPBF.Node nodes = 1;</code>
    41854050       */
    4186       @Override
    4187         public int getNodesCount() {
    4188         return nodes_.size();
    4189       }
    4190       /**
     4051      public int getNodesCount() {
     4052        return instance.getNodesCount();
     4053      }/**
    41914054       * <code>repeated .OSMPBF.Node nodes = 1;</code>
    41924055       */
    4193       @Override
    4194         public crosby.binary.Osmformat.Node getNodes(int index) {
    4195         return nodes_.get(index);
     4056      public crosby.binary.Osmformat.Node getNodes(int index) {
     4057        return instance.getNodes(index);
    41964058      }
    41974059      /**
     
    42004062      public Builder setNodes(
    42014063          int index, crosby.binary.Osmformat.Node value) {
    4202         if (value == null) {
    4203           throw new NullPointerException();
    4204         }
    4205         ensureNodesIsMutable();
    4206         nodes_.set(index, value);
    4207 
     4064        copyOnWrite();
     4065        instance.setNodes(index, value);
    42084066        return this;
    42094067      }
     
    42134071      public Builder setNodes(
    42144072          int index, crosby.binary.Osmformat.Node.Builder builderForValue) {
    4215         ensureNodesIsMutable();
    4216         nodes_.set(index, builderForValue.build());
    4217 
     4073        copyOnWrite();
     4074        instance.setNodes(index, builderForValue);
    42184075        return this;
    42194076      }
     
    42224079       */
    42234080      public Builder addNodes(crosby.binary.Osmformat.Node value) {
    4224         if (value == null) {
    4225           throw new NullPointerException();
    4226         }
    4227         ensureNodesIsMutable();
    4228         nodes_.add(value);
    4229 
     4081        copyOnWrite();
     4082        instance.addNodes(value);
    42304083        return this;
    42314084      }
     
    42354088      public Builder addNodes(
    42364089          int index, crosby.binary.Osmformat.Node value) {
    4237         if (value == null) {
    4238           throw new NullPointerException();
    4239         }
    4240         ensureNodesIsMutable();
    4241         nodes_.add(index, value);
    4242 
     4090        copyOnWrite();
     4091        instance.addNodes(index, value);
    42434092        return this;
    42444093      }
     
    42484097      public Builder addNodes(
    42494098          crosby.binary.Osmformat.Node.Builder builderForValue) {
    4250         ensureNodesIsMutable();
    4251         nodes_.add(builderForValue.build());
    4252 
     4099        copyOnWrite();
     4100        instance.addNodes(builderForValue);
    42534101        return this;
    42544102      }
     
    42584106      public Builder addNodes(
    42594107          int index, crosby.binary.Osmformat.Node.Builder builderForValue) {
    4260         ensureNodesIsMutable();
    4261         nodes_.add(index, builderForValue.build());
    4262 
     4108        copyOnWrite();
     4109        instance.addNodes(index, builderForValue);
    42634110        return this;
    42644111      }
     
    42684115      public Builder addAllNodes(
    42694116          java.lang.Iterable<? extends crosby.binary.Osmformat.Node> values) {
    4270         ensureNodesIsMutable();
    4271         com.google.protobuf.AbstractMessageLite.Builder.addAll(
    4272             values, nodes_);
    4273 
     4117        copyOnWrite();
     4118        instance.addAllNodes(values);
    42744119        return this;
    42754120      }
     
    42784123       */
    42794124      public Builder clearNodes() {
    4280         nodes_ = java.util.Collections.emptyList();
    4281         bitField0_ = (bitField0_ & ~0x00000001);
    4282 
     4125        copyOnWrite();
     4126        instance.clearNodes();
    42834127        return this;
    42844128      }
     
    42874131       */
    42884132      public Builder removeNodes(int index) {
    4289         ensureNodesIsMutable();
    4290         nodes_.remove(index);
    4291 
    4292         return this;
    4293       }
    4294 
    4295       private crosby.binary.Osmformat.DenseNodes dense_ = crosby.binary.Osmformat.DenseNodes.getDefaultInstance();
     4133        copyOnWrite();
     4134        instance.removeNodes(index);
     4135        return this;
     4136      }
     4137
    42964138      /**
    42974139       * <code>optional .OSMPBF.DenseNodes dense = 2;</code>
    42984140       */
    4299       @Override
    4300         public boolean hasDense() {
    4301         return ((bitField0_ & 0x00000002) == 0x00000002);
     4141      public boolean hasDense() {
     4142        return instance.hasDense();
    43024143      }
    43034144      /**
    43044145       * <code>optional .OSMPBF.DenseNodes dense = 2;</code>
    43054146       */
    4306       @Override
    4307         public crosby.binary.Osmformat.DenseNodes getDense() {
    4308         return dense_;
     4147      public crosby.binary.Osmformat.DenseNodes getDense() {
     4148        return instance.getDense();
    43094149      }
    43104150      /**
     
    43124152       */
    43134153      public Builder setDense(crosby.binary.Osmformat.DenseNodes value) {
    4314         if (value == null) {
    4315           throw new NullPointerException();
    4316         }
    4317         dense_ = value;
    4318 
    4319         bitField0_ |= 0x00000002;
    4320         return this;
    4321       }
     4154        copyOnWrite();
     4155        instance.setDense(value);
     4156        return this;
     4157        }
    43224158      /**
    43234159       * <code>optional .OSMPBF.DenseNodes dense = 2;</code>
     
    43254161      public Builder setDense(
    43264162          crosby.binary.Osmformat.DenseNodes.Builder builderForValue) {
    4327         dense_ = builderForValue.build();
    4328 
    4329         bitField0_ |= 0x00000002;
     4163        copyOnWrite();
     4164        instance.setDense(builderForValue);
    43304165        return this;
    43314166      }
     
    43344169       */
    43354170      public Builder mergeDense(crosby.binary.Osmformat.DenseNodes value) {
    4336         if (((bitField0_ & 0x00000002) == 0x00000002) &&
    4337             dense_ != crosby.binary.Osmformat.DenseNodes.getDefaultInstance()) {
    4338           dense_ =
    4339             crosby.binary.Osmformat.DenseNodes.newBuilder(dense_).mergeFrom(value).buildPartial();
    4340         } else {
    4341           dense_ = value;
    4342         }
    4343 
    4344         bitField0_ |= 0x00000002;
     4171        copyOnWrite();
     4172        instance.mergeDense(value);
    43454173        return this;
    43464174      }
     
    43484176       * <code>optional .OSMPBF.DenseNodes dense = 2;</code>
    43494177       */
    4350       public Builder clearDense() {
    4351         dense_ = crosby.binary.Osmformat.DenseNodes.getDefaultInstance();
    4352 
    4353         bitField0_ = (bitField0_ & ~0x00000002);
    4354         return this;
    4355       }
    4356 
    4357       private java.util.List<crosby.binary.Osmformat.Way> ways_ =
    4358         java.util.Collections.emptyList();
    4359       private void ensureWaysIsMutable() {
    4360         if (!((bitField0_ & 0x00000004) == 0x00000004)) {
    4361           ways_ = new java.util.ArrayList<>(ways_);
    4362           bitField0_ |= 0x00000004;
    4363          }
     4178      public Builder clearDense() {  copyOnWrite();
     4179        instance.clearDense();
     4180        return this;
    43644181      }
    43654182
     
    43674184       * <code>repeated .OSMPBF.Way ways = 3;</code>
    43684185       */
    4369       @Override
    4370         public java.util.List<crosby.binary.Osmformat.Way> getWaysList() {
    4371         return java.util.Collections.unmodifiableList(ways_);
     4186      public java.util.List<crosby.binary.Osmformat.Way> getWaysList() {
     4187        return java.util.Collections.unmodifiableList(
     4188            instance.getWaysList());
    43724189      }
    43734190      /**
    43744191       * <code>repeated .OSMPBF.Way ways = 3;</code>
    43754192       */
    4376       @Override
    4377         public int getWaysCount() {
    4378         return ways_.size();
    4379       }
    4380       /**
     4193      public int getWaysCount() {
     4194        return instance.getWaysCount();
     4195      }/**
    43814196       * <code>repeated .OSMPBF.Way ways = 3;</code>
    43824197       */
    4383       @Override
    4384         public crosby.binary.Osmformat.Way getWays(int index) {
    4385         return ways_.get(index);
     4198      public crosby.binary.Osmformat.Way getWays(int index) {
     4199        return instance.getWays(index);
    43864200      }
    43874201      /**
     
    43904204      public Builder setWays(
    43914205          int index, crosby.binary.Osmformat.Way value) {
    4392         if (value == null) {
    4393           throw new NullPointerException();
    4394         }
    4395         ensureWaysIsMutable();
    4396         ways_.set(index, value);
    4397 
     4206        copyOnWrite();
     4207        instance.setWays(index, value);
    43984208        return this;
    43994209      }
     
    44034213      public Builder setWays(
    44044214          int index, crosby.binary.Osmformat.Way.Builder builderForValue) {
    4405         ensureWaysIsMutable();
    4406         ways_.set(index, builderForValue.build());
    4407 
     4215        copyOnWrite();
     4216        instance.setWays(index, builderForValue);
    44084217        return this;
    44094218      }
     
    44124221       */
    44134222      public Builder addWays(crosby.binary.Osmformat.Way value) {
    4414         if (value == null) {
    4415           throw new NullPointerException();
    4416         }
    4417         ensureWaysIsMutable();
    4418         ways_.add(value);
    4419 
     4223        copyOnWrite();
     4224        instance.addWays(value);
    44204225        return this;
    44214226      }
     
    44254230      public Builder addWays(
    44264231          int index, crosby.binary.Osmformat.Way value) {
    4427         if (value == null) {
    4428           throw new NullPointerException();
    4429         }
    4430         ensureWaysIsMutable();
    4431         ways_.add(index, value);
    4432 
     4232        copyOnWrite();
     4233        instance.addWays(index, value);
    44334234        return this;
    44344235      }
     
    44384239      public Builder addWays(
    44394240          crosby.binary.Osmformat.Way.Builder builderForValue) {
    4440         ensureWaysIsMutable();
    4441         ways_.add(builderForValue.build());
    4442 
     4241        copyOnWrite();
     4242        instance.addWays(builderForValue);
    44434243        return this;
    44444244      }
     
    44484248      public Builder addWays(
    44494249          int index, crosby.binary.Osmformat.Way.Builder builderForValue) {
    4450         ensureWaysIsMutable();
    4451         ways_.add(index, builderForValue.build());
    4452 
     4250        copyOnWrite();
     4251        instance.addWays(index, builderForValue);
    44534252        return this;
    44544253      }
     
    44584257      public Builder addAllWays(
    44594258          java.lang.Iterable<? extends crosby.binary.Osmformat.Way> values) {
    4460         ensureWaysIsMutable();
    4461         com.google.protobuf.AbstractMessageLite.Builder.addAll(
    4462             values, ways_);
    4463 
     4259        copyOnWrite();
     4260        instance.addAllWays(values);
    44644261        return this;
    44654262      }
     
    44684265       */
    44694266      public Builder clearWays() {
    4470         ways_ = java.util.Collections.emptyList();
    4471         bitField0_ = (bitField0_ & ~0x00000004);
    4472 
     4267        copyOnWrite();
     4268        instance.clearWays();
    44734269        return this;
    44744270      }
     
    44774273       */
    44784274      public Builder removeWays(int index) {
    4479         ensureWaysIsMutable();
    4480         ways_.remove(index);
    4481 
    4482         return this;
    4483       }
    4484 
    4485       private java.util.List<crosby.binary.Osmformat.Relation> relations_ =
    4486         java.util.Collections.emptyList();
    4487       private void ensureRelationsIsMutable() {
    4488         if (!((bitField0_ & 0x00000008) == 0x00000008)) {
    4489           relations_ = new java.util.ArrayList<>(relations_);
    4490           bitField0_ |= 0x00000008;
    4491          }
     4275        copyOnWrite();
     4276        instance.removeWays(index);
     4277        return this;
    44924278      }
    44934279
     
    44954281       * <code>repeated .OSMPBF.Relation relations = 4;</code>
    44964282       */
    4497       @Override
    4498         public java.util.List<crosby.binary.Osmformat.Relation> getRelationsList() {
    4499         return java.util.Collections.unmodifiableList(relations_);
     4283      public java.util.List<crosby.binary.Osmformat.Relation> getRelationsList() {
     4284        return java.util.Collections.unmodifiableList(
     4285            instance.getRelationsList());
    45004286      }
    45014287      /**
    45024288       * <code>repeated .OSMPBF.Relation relations = 4;</code>
    45034289       */
    4504       @Override
    4505         public int getRelationsCount() {
    4506         return relations_.size();
    4507       }
    4508       /**
     4290      public int getRelationsCount() {
     4291        return instance.getRelationsCount();
     4292      }/**
    45094293       * <code>repeated .OSMPBF.Relation relations = 4;</code>
    45104294       */
    4511       @Override
    4512         public crosby.binary.Osmformat.Relation getRelations(int index) {
    4513         return relations_.get(index);
     4295      public crosby.binary.Osmformat.Relation getRelations(int index) {
     4296        return instance.getRelations(index);
    45144297      }
    45154298      /**
     
    45184301      public Builder setRelations(
    45194302          int index, crosby.binary.Osmformat.Relation value) {
    4520         if (value == null) {
    4521           throw new NullPointerException();
    4522         }
    4523         ensureRelationsIsMutable();
    4524         relations_.set(index, value);
    4525 
     4303        copyOnWrite();
     4304        instance.setRelations(index, value);
    45264305        return this;
    45274306      }
     
    45314310      public Builder setRelations(
    45324311          int index, crosby.binary.Osmformat.Relation.Builder builderForValue) {
    4533         ensureRelationsIsMutable();
    4534         relations_.set(index, builderForValue.build());
    4535 
     4312        copyOnWrite();
     4313        instance.setRelations(index, builderForValue);
    45364314        return this;
    45374315      }
     
    45404318       */
    45414319      public Builder addRelations(crosby.binary.Osmformat.Relation value) {
    4542         if (value == null) {
    4543           throw new NullPointerException();
    4544         }
    4545         ensureRelationsIsMutable();
    4546         relations_.add(value);
    4547 
     4320        copyOnWrite();
     4321        instance.addRelations(value);
    45484322        return this;
    45494323      }
     
    45534327      public Builder addRelations(
    45544328          int index, crosby.binary.Osmformat.Relation value) {
    4555         if (value == null) {
    4556           throw new NullPointerException();
    4557         }
    4558         ensureRelationsIsMutable();
    4559         relations_.add(index, value);
    4560 
     4329        copyOnWrite();
     4330        instance.addRelations(index, value);
    45614331        return this;
    45624332      }
     
    45664336      public Builder addRelations(
    45674337          crosby.binary.Osmformat.Relation.Builder builderForValue) {
    4568         ensureRelationsIsMutable();
    4569         relations_.add(builderForValue.build());
    4570 
     4338        copyOnWrite();
     4339        instance.addRelations(builderForValue);
    45714340        return this;
    45724341      }
     
    45764345      public Builder addRelations(
    45774346          int index, crosby.binary.Osmformat.Relation.Builder builderForValue) {
    4578         ensureRelationsIsMutable();
    4579         relations_.add(index, builderForValue.build());
    4580 
     4347        copyOnWrite();
     4348        instance.addRelations(index, builderForValue);
    45814349        return this;
    45824350      }
     
    45864354      public Builder addAllRelations(
    45874355          java.lang.Iterable<? extends crosby.binary.Osmformat.Relation> values) {
    4588         ensureRelationsIsMutable();
    4589         com.google.protobuf.AbstractMessageLite.Builder.addAll(
    4590             values, relations_);
    4591 
     4356        copyOnWrite();
     4357        instance.addAllRelations(values);
    45924358        return this;
    45934359      }
     
    45964362       */
    45974363      public Builder clearRelations() {
    4598         relations_ = java.util.Collections.emptyList();
    4599         bitField0_ = (bitField0_ & ~0x00000008);
    4600 
     4364        copyOnWrite();
     4365        instance.clearRelations();
    46014366        return this;
    46024367      }
     
    46054370       */
    46064371      public Builder removeRelations(int index) {
    4607         ensureRelationsIsMutable();
    4608         relations_.remove(index);
    4609 
    4610         return this;
    4611       }
    4612 
    4613       private java.util.List<crosby.binary.Osmformat.ChangeSet> changesets_ =
    4614         java.util.Collections.emptyList();
    4615       private void ensureChangesetsIsMutable() {
    4616         if (!((bitField0_ & 0x00000010) == 0x00000010)) {
    4617           changesets_ = new java.util.ArrayList<>(changesets_);
    4618           bitField0_ |= 0x00000010;
    4619          }
     4372        copyOnWrite();
     4373        instance.removeRelations(index);
     4374        return this;
    46204375      }
    46214376
     
    46234378       * <code>repeated .OSMPBF.ChangeSet changesets = 5;</code>
    46244379       */
    4625       @Override
    4626         public java.util.List<crosby.binary.Osmformat.ChangeSet> getChangesetsList() {
    4627         return java.util.Collections.unmodifiableList(changesets_);
     4380      public java.util.List<crosby.binary.Osmformat.ChangeSet> getChangesetsList() {
     4381        return java.util.Collections.unmodifiableList(
     4382            instance.getChangesetsList());
    46284383      }
    46294384      /**
    46304385       * <code>repeated .OSMPBF.ChangeSet changesets = 5;</code>
    46314386       */
    4632       @Override
    4633         public int getChangesetsCount() {
    4634         return changesets_.size();
    4635       }
    4636       /**
     4387      public int getChangesetsCount() {
     4388        return instance.getChangesetsCount();
     4389      }/**
    46374390       * <code>repeated .OSMPBF.ChangeSet changesets = 5;</code>
    46384391       */
    4639       @Override
    4640         public crosby.binary.Osmformat.ChangeSet getChangesets(int index) {
    4641         return changesets_.get(index);
     4392      public crosby.binary.Osmformat.ChangeSet getChangesets(int index) {
     4393        return instance.getChangesets(index);
    46424394      }
    46434395      /**
     
    46464398      public Builder setChangesets(
    46474399          int index, crosby.binary.Osmformat.ChangeSet value) {
    4648         if (value == null) {
    4649           throw new NullPointerException();
    4650         }
    4651         ensureChangesetsIsMutable();
    4652         changesets_.set(index, value);
    4653 
     4400        copyOnWrite();
     4401        instance.setChangesets(index, value);
    46544402        return this;
    46554403      }
     
    46594407      public Builder setChangesets(
    46604408          int index, crosby.binary.Osmformat.ChangeSet.Builder builderForValue) {
    4661         ensureChangesetsIsMutable();
    4662         changesets_.set(index, builderForValue.build());
    4663 
     4409        copyOnWrite();
     4410        instance.setChangesets(index, builderForValue);
    46644411        return this;
    46654412      }
     
    46684415       */
    46694416      public Builder addChangesets(crosby.binary.Osmformat.ChangeSet value) {
    4670         if (value == null) {
    4671           throw new NullPointerException();
    4672         }
    4673         ensureChangesetsIsMutable();
    4674         changesets_.add(value);
    4675 
     4417        copyOnWrite();
     4418        instance.addChangesets(value);
    46764419        return this;
    46774420      }
     
    46814424      public Builder addChangesets(
    46824425          int index, crosby.binary.Osmformat.ChangeSet value) {
    4683         if (value == null) {
    4684           throw new NullPointerException();
    4685         }
    4686         ensureChangesetsIsMutable();
    4687         changesets_.add(index, value);
    4688 
     4426        copyOnWrite();
     4427        instance.addChangesets(index, value);
    46894428        return this;
    46904429      }
     
    46944433      public Builder addChangesets(
    46954434          crosby.binary.Osmformat.ChangeSet.Builder builderForValue) {
    4696         ensureChangesetsIsMutable();
    4697         changesets_.add(builderForValue.build());
    4698 
     4435        copyOnWrite();
     4436        instance.addChangesets(builderForValue);
    46994437        return this;
    47004438      }
     
    47044442      public Builder addChangesets(
    47054443          int index, crosby.binary.Osmformat.ChangeSet.Builder builderForValue) {
    4706         ensureChangesetsIsMutable();
    4707         changesets_.add(index, builderForValue.build());
    4708 
     4444        copyOnWrite();
     4445        instance.addChangesets(index, builderForValue);
    47094446        return this;
    47104447      }
     
    47144451      public Builder addAllChangesets(
    47154452          java.lang.Iterable<? extends crosby.binary.Osmformat.ChangeSet> values) {
    4716         ensureChangesetsIsMutable();
    4717         com.google.protobuf.AbstractMessageLite.Builder.addAll(
    4718             values, changesets_);
    4719 
     4453        copyOnWrite();
     4454        instance.addAllChangesets(values);
    47204455        return this;
    47214456      }
     
    47244459       */
    47254460      public Builder clearChangesets() {
    4726         changesets_ = java.util.Collections.emptyList();
    4727         bitField0_ = (bitField0_ & ~0x00000010);
    4728 
     4461        copyOnWrite();
     4462        instance.clearChangesets();
    47294463        return this;
    47304464      }
     
    47334467       */
    47344468      public Builder removeChangesets(int index) {
    4735         ensureChangesetsIsMutable();
    4736         changesets_.remove(index);
    4737 
     4469        copyOnWrite();
     4470        instance.removeChangesets(index);
    47384471        return this;
    47394472      }
     
    47414474      // @@protoc_insertion_point(builder_scope:OSMPBF.PrimitiveGroup)
    47424475    }
    4743 
     4476    private byte memoizedIsInitialized = -1;
     4477    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
     4478    protected final java.lang.Object dynamicMethod(
     4479        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
     4480        java.lang.Object arg0, java.lang.Object arg1) {
     4481      switch (method) {
     4482        case NEW_MUTABLE_INSTANCE: {
     4483          return new crosby.binary.Osmformat.PrimitiveGroup();
     4484        }
     4485        case IS_INITIALIZED: {
     4486          byte isInitialized = memoizedIsInitialized;
     4487          if (isInitialized == 1) return DEFAULT_INSTANCE;
     4488          if (isInitialized == 0) return null;
     4489
     4490          boolean shouldMemoize = ((Boolean) arg0).booleanValue();
     4491          for (int i = 0; i < getNodesCount(); i++) {
     4492            if (!getNodes(i).isInitialized()) {
     4493              if (shouldMemoize) {
     4494                memoizedIsInitialized = 0;
     4495              }
     4496              return null;
     4497            }
     4498          }
     4499          for (int i = 0; i < getWaysCount(); i++) {
     4500            if (!getWays(i).isInitialized()) {
     4501              if (shouldMemoize) {
     4502                memoizedIsInitialized = 0;
     4503              }
     4504              return null;
     4505            }
     4506          }
     4507          for (int i = 0; i < getRelationsCount(); i++) {
     4508            if (!getRelations(i).isInitialized()) {
     4509              if (shouldMemoize) {
     4510                memoizedIsInitialized = 0;
     4511              }
     4512              return null;
     4513            }
     4514          }
     4515          for (int i = 0; i < getChangesetsCount(); i++) {
     4516            if (!getChangesets(i).isInitialized()) {
     4517              if (shouldMemoize) {
     4518                memoizedIsInitialized = 0;
     4519              }
     4520              return null;
     4521            }
     4522          }
     4523          if (shouldMemoize) memoizedIsInitialized = 1;
     4524          return DEFAULT_INSTANCE;
     4525
     4526        }
     4527        case MAKE_IMMUTABLE: {
     4528          nodes_.makeImmutable();
     4529          ways_.makeImmutable();
     4530          relations_.makeImmutable();
     4531          changesets_.makeImmutable();
     4532          return null;
     4533        }
     4534        case NEW_BUILDER: {
     4535          return new Builder();
     4536        }
     4537        case VISIT: {
     4538          Visitor visitor = (Visitor) arg0;
     4539          crosby.binary.Osmformat.PrimitiveGroup other = (crosby.binary.Osmformat.PrimitiveGroup) arg1;
     4540          nodes_= visitor.visitList(nodes_, other.nodes_);
     4541          dense_ = visitor.visitMessage(dense_, other.dense_);
     4542          ways_= visitor.visitList(ways_, other.ways_);
     4543          relations_= visitor.visitList(relations_, other.relations_);
     4544          changesets_= visitor.visitList(changesets_, other.changesets_);
     4545          if (visitor == com.google.protobuf.GeneratedMessageLite.MergeFromVisitor
     4546              .INSTANCE) {
     4547            bitField0_ |= other.bitField0_;
     4548          }
     4549          return this;
     4550        }
     4551        case MERGE_FROM_STREAM: {
     4552          com.google.protobuf.CodedInputStream input =
     4553              (com.google.protobuf.CodedInputStream) arg0;
     4554          com.google.protobuf.ExtensionRegistryLite extensionRegistry =
     4555              (com.google.protobuf.ExtensionRegistryLite) arg1;
     4556          try {
     4557            boolean done = false;
     4558            while (!done) {
     4559              int tag = input.readTag();
     4560              switch (tag) {
     4561                case 0:
     4562                  done = true;
     4563                  break;
     4564                default: {
     4565                  if (!parseUnknownField(tag, input)) {
     4566                    done = true;
     4567                  }
     4568                  break;
     4569                }
     4570                case 10: {
     4571                  if (!nodes_.isModifiable()) {
     4572                    nodes_ =
     4573                        com.google.protobuf.GeneratedMessageLite.mutableCopy(nodes_);
     4574                  }
     4575                  nodes_.add(
     4576                      input.readMessage(crosby.binary.Osmformat.Node.parser(), extensionRegistry));
     4577                  break;
     4578                }
     4579                case 18: {
     4580                  crosby.binary.Osmformat.DenseNodes.Builder subBuilder = null;
     4581                  if (((bitField0_ & 0x00000001) == 0x00000001)) {
     4582                    subBuilder = dense_.toBuilder();
     4583                  }
     4584                  dense_ = input.readMessage(crosby.binary.Osmformat.DenseNodes.parser(), extensionRegistry);
     4585                  if (subBuilder != null) {
     4586                    subBuilder.mergeFrom(dense_);
     4587                    dense_ = subBuilder.buildPartial();
     4588                  }
     4589                  bitField0_ |= 0x00000001;
     4590                  break;
     4591                }
     4592                case 26: {
     4593                  if (!ways_.isModifiable()) {
     4594                    ways_ =
     4595                        com.google.protobuf.GeneratedMessageLite.mutableCopy(ways_);
     4596                  }
     4597                  ways_.add(
     4598                      input.readMessage(crosby.binary.Osmformat.Way.parser(), extensionRegistry));
     4599                  break;
     4600                }
     4601                case 34: {
     4602                  if (!relations_.isModifiable()) {
     4603                    relations_ =
     4604                        com.google.protobuf.GeneratedMessageLite.mutableCopy(relations_);
     4605                  }
     4606                  relations_.add(
     4607                      input.readMessage(crosby.binary.Osmformat.Relation.parser(), extensionRegistry));
     4608                  break;
     4609                }
     4610                case 42: {
     4611                  if (!changesets_.isModifiable()) {
     4612                    changesets_ =
     4613                        com.google.protobuf.GeneratedMessageLite.mutableCopy(changesets_);
     4614                  }
     4615                  changesets_.add(
     4616                      input.readMessage(crosby.binary.Osmformat.ChangeSet.parser(), extensionRegistry));
     4617                  break;
     4618                }
     4619              }
     4620            }
     4621          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
     4622            throw new RuntimeException(e.setUnfinishedMessage(this));
     4623          } catch (java.io.IOException e) {
     4624            throw new RuntimeException(
     4625                new com.google.protobuf.InvalidProtocolBufferException(
     4626                    e.getMessage()).setUnfinishedMessage(this));
     4627          } finally {
     4628          }
     4629        }
     4630        // fall through
     4631        case GET_DEFAULT_INSTANCE: {
     4632          return DEFAULT_INSTANCE;
     4633        }
     4634        case GET_PARSER: {
     4635          if (PARSER == null) {    synchronized (crosby.binary.Osmformat.PrimitiveGroup.class) {
     4636              if (PARSER == null) {
     4637                PARSER = new DefaultInstanceBasedParser(DEFAULT_INSTANCE);
     4638              }
     4639            }
     4640          }
     4641          return PARSER;
     4642        }
     4643      }
     4644      throw new UnsupportedOperationException();
     4645    }
     4646
     4647
     4648    // @@protoc_insertion_point(class_scope:OSMPBF.PrimitiveGroup)
     4649    private static final crosby.binary.Osmformat.PrimitiveGroup DEFAULT_INSTANCE;
    47444650    static {
    4745       defaultInstance = new PrimitiveGroup(true);
    4746       defaultInstance.initFields();
    4747     }
    4748 
    4749     // @@protoc_insertion_point(class_scope:OSMPBF.PrimitiveGroup)
     4651      DEFAULT_INSTANCE = new PrimitiveGroup();
     4652      DEFAULT_INSTANCE.makeImmutable();
     4653    }
     4654
     4655    public static crosby.binary.Osmformat.PrimitiveGroup getDefaultInstance() {
     4656      return DEFAULT_INSTANCE;
     4657    }
     4658
     4659    private static volatile com.google.protobuf.Parser<PrimitiveGroup> PARSER;
     4660
     4661    public static com.google.protobuf.Parser<PrimitiveGroup> parser() {
     4662      return DEFAULT_INSTANCE.getParserForType();
     4663    }
    47504664  }
    47514665
     
    47684682  }
    47694683  /**
    4770    * Protobuf type {@code OSMPBF.StringTable}
    4771    *
    47724684   * <pre>
    47734685   ** String table, contains the common strings in each block.
     
    47754687   *index in the table is ALWAYS blank and unused.
    47764688   * </pre>
     4689   *
     4690   * Protobuf type {@code OSMPBF.StringTable}
    47774691   */
    4778   public static final class StringTable extends
    4779       com.google.protobuf.GeneratedMessageLite implements
     4692  public  static final class StringTable extends
     4693      com.google.protobuf.GeneratedMessageLite<
     4694          StringTable, StringTable.Builder> implements
    47804695      // @@protoc_insertion_point(message_implements:OSMPBF.StringTable)
    47814696      StringTableOrBuilder {
    4782     // Use StringTable.newBuilder() to construct.
    4783     private StringTable(com.google.protobuf.GeneratedMessageLite.Builder builder) {
    4784       super(builder);
    4785       this.unknownFields = builder.getUnknownFields();
    4786     }
    4787     private StringTable(boolean noInit) { this.unknownFields = com.google.protobuf.ByteString.EMPTY;}
    4788 
    4789     private static final StringTable defaultInstance;
    4790     public static StringTable getDefaultInstance() {
    4791       return defaultInstance;
    4792     }
    4793 
    4794     @Override
    4795         public StringTable getDefaultInstanceForType() {
    4796       return defaultInstance;
    4797     }
    4798 
    4799     private final com.google.protobuf.ByteString unknownFields;
    4800     private StringTable(
    4801         com.google.protobuf.CodedInputStream input,
    4802         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    4803         throws com.google.protobuf.InvalidProtocolBufferException {
    4804       initFields();
    4805       int mutable_bitField0_ = 0;
    4806       com.google.protobuf.ByteString.Output unknownFieldsOutput =
    4807           com.google.protobuf.ByteString.newOutput();
    4808       com.google.protobuf.CodedOutputStream unknownFieldsCodedOutput =
    4809           com.google.protobuf.CodedOutputStream.newInstance(
    4810               unknownFieldsOutput);
    4811       try {
    4812         boolean done = false;
    4813         while (!done) {
    4814           int tag = input.readTag();
    4815           switch (tag) {
    4816             case 0:
    4817               done = true;
    4818               break;
    4819             default: {
    4820               if (!parseUnknownField(input, unknownFieldsCodedOutput,
    4821                                      extensionRegistry, tag)) {
    4822                 done = true;
    4823               }
    4824               break;
    4825             }
    4826             case 10: {
    4827               if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
    4828                 s_ = new java.util.ArrayList<>();
    4829                 mutable_bitField0_ |= 0x00000001;
    4830               }
    4831               s_.add(input.readBytes());
    4832               break;
    4833             }
    4834           }
    4835         }
    4836       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
    4837         throw e.setUnfinishedMessage(this);
    4838       } catch (java.io.IOException e) {
    4839         throw new com.google.protobuf.InvalidProtocolBufferException(
    4840             e.getMessage()).setUnfinishedMessage(this);
    4841       } finally {
    4842         if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
    4843           s_ = java.util.Collections.unmodifiableList(s_);
    4844         }
    4845         try {
    4846           unknownFieldsCodedOutput.flush();
    4847         } catch (java.io.IOException e) {
    4848         // Should not happen
    4849         } finally {
    4850           unknownFields = unknownFieldsOutput.toByteString();
    4851         }
    4852         makeExtensionsImmutable();
    4853       }
    4854     }
    4855     public static com.google.protobuf.Parser<StringTable> PARSER =
    4856         new com.google.protobuf.AbstractParser<StringTable>() {
    4857       @Override
    4858         public StringTable parsePartialFrom(
    4859           com.google.protobuf.CodedInputStream input,
    4860           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    4861           throws com.google.protobuf.InvalidProtocolBufferException {
    4862         return new StringTable(input, extensionRegistry);
    4863       }
    4864     };
    4865 
    4866     @java.lang.Override
    4867     public com.google.protobuf.Parser<StringTable> getParserForType() {
    4868       return PARSER;
    4869     }
    4870 
     4697    private StringTable() {
     4698      s_ = emptyProtobufList();
     4699    }
    48714700    public static final int S_FIELD_NUMBER = 1;
    4872     private java.util.List<com.google.protobuf.ByteString> s_;
     4701    private com.google.protobuf.Internal.ProtobufList<com.google.protobuf.ByteString> s_;
    48734702    /**
    48744703     * <code>repeated bytes s = 1;</code>
    48754704     */
    4876     @Override
    4877         public java.util.List<com.google.protobuf.ByteString>
     4705    public java.util.List<com.google.protobuf.ByteString>
    48784706        getSList() {
    48794707      return s_;
     
    48824710     * <code>repeated bytes s = 1;</code>
    48834711     */
    4884     @Override
    4885         public int getSCount() {
     4712    public int getSCount() {
    48864713      return s_.size();
    48874714    }
     
    48894716     * <code>repeated bytes s = 1;</code>
    48904717     */
    4891     @Override
    4892         public com.google.protobuf.ByteString getS(int index) {
     4718    public com.google.protobuf.ByteString getS(int index) {
    48934719      return s_.get(index);
    48944720    }
    4895 
    4896     private void initFields() {
    4897       s_ = java.util.Collections.emptyList();
    4898     }
    4899     private byte memoizedIsInitialized = -1;
    4900     @Override
    4901         public final boolean isInitialized() {
    4902       byte isInitialized = memoizedIsInitialized;
    4903       if (isInitialized == 1) return true;
    4904       if (isInitialized == 0) return false;
    4905 
    4906       memoizedIsInitialized = 1;
    4907       return true;
    4908     }
    4909 
    4910     @Override
    4911         public void writeTo(com.google.protobuf.CodedOutputStream output)
     4721    private void ensureSIsMutable() {
     4722      if (!s_.isModifiable()) {
     4723        s_ =
     4724            com.google.protobuf.GeneratedMessageLite.mutableCopy(s_);
     4725       }
     4726    }
     4727    /**
     4728     * <code>repeated bytes s = 1;</code>
     4729     */
     4730    private void setS(
     4731        int index, com.google.protobuf.ByteString value) {
     4732      if (value == null) {
     4733    throw new NullPointerException();
     4734  }
     4735  ensureSIsMutable();
     4736      s_.set(index, value);
     4737    }
     4738    /**
     4739     * <code>repeated bytes s = 1;</code>
     4740     */
     4741    private void addS(com.google.protobuf.ByteString value) {
     4742      if (value == null) {
     4743    throw new NullPointerException();
     4744  }
     4745  ensureSIsMutable();
     4746      s_.add(value);
     4747    }
     4748    /**
     4749     * <code>repeated bytes s = 1;</code>
     4750     */
     4751    private void addAllS(
     4752        java.lang.Iterable<? extends com.google.protobuf.ByteString> values) {
     4753      ensureSIsMutable();
     4754      com.google.protobuf.AbstractMessageLite.addAll(
     4755          values, s_);
     4756    }
     4757    /**
     4758     * <code>repeated bytes s = 1;</code>
     4759     */
     4760    private void clearS() {
     4761      s_ = emptyProtobufList();
     4762    }
     4763
     4764    public void writeTo(com.google.protobuf.CodedOutputStream output)
    49124765                        throws java.io.IOException {
    4913       getSerializedSize();
    49144766      for (int i = 0; i < s_.size(); i++) {
    49154767        output.writeBytes(1, s_.get(i));
    49164768      }
    4917       output.writeRawBytes(unknownFields);
    4918     }
    4919 
    4920     private int memoizedSerializedSize = -1;
    4921     @Override
    4922         public int getSerializedSize() {
     4769      unknownFields.writeTo(output);
     4770    }
     4771
     4772    public int getSerializedSize() {
    49234773      int size = memoizedSerializedSize;
    49244774      if (size != -1) return size;
     
    49344784        size += 1 * getSList().size();
    49354785      }
    4936       size += unknownFields.size();
     4786      size += unknownFields.getSerializedSize();
    49374787      memoizedSerializedSize = size;
    49384788      return size;
    49394789    }
    49404790
    4941     private static final long serialVersionUID = 0L;
    4942     @java.lang.Override
    4943     protected java.lang.Object writeReplace()
    4944         throws java.io.ObjectStreamException {
    4945       return super.writeReplace();
    4946     }
    4947 
     4791    public static crosby.binary.Osmformat.StringTable parseFrom(
     4792        java.nio.ByteBuffer data)
     4793        throws com.google.protobuf.InvalidProtocolBufferException {
     4794      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     4795          DEFAULT_INSTANCE, data);
     4796    }
     4797    public static crosby.binary.Osmformat.StringTable parseFrom(
     4798        java.nio.ByteBuffer data,
     4799        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     4800        throws com.google.protobuf.InvalidProtocolBufferException {
     4801      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     4802          DEFAULT_INSTANCE, data, extensionRegistry);
     4803    }
    49484804    public static crosby.binary.Osmformat.StringTable parseFrom(
    49494805        com.google.protobuf.ByteString data)
    49504806        throws com.google.protobuf.InvalidProtocolBufferException {
    4951       return PARSER.parseFrom(data);
     4807      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     4808          DEFAULT_INSTANCE, data);
    49524809    }
    49534810    public static crosby.binary.Osmformat.StringTable parseFrom(
     
    49554812        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    49564813        throws com.google.protobuf.InvalidProtocolBufferException {
    4957       return PARSER.parseFrom(data, extensionRegistry);
     4814      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     4815          DEFAULT_INSTANCE, data, extensionRegistry);
    49584816    }
    49594817    public static crosby.binary.Osmformat.StringTable parseFrom(byte[] data)
    49604818        throws com.google.protobuf.InvalidProtocolBufferException {
    4961       return PARSER.parseFrom(data);
     4819      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     4820          DEFAULT_INSTANCE, data);
    49624821    }
    49634822    public static crosby.binary.Osmformat.StringTable parseFrom(
     
    49654824        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    49664825        throws com.google.protobuf.InvalidProtocolBufferException {
    4967       return PARSER.parseFrom(data, extensionRegistry);
     4826      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     4827          DEFAULT_INSTANCE, data, extensionRegistry);
    49684828    }
    49694829    public static crosby.binary.Osmformat.StringTable parseFrom(java.io.InputStream input)
    49704830        throws java.io.IOException {
    4971       return PARSER.parseFrom(input);
     4831      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     4832          DEFAULT_INSTANCE, input);
    49724833    }
    49734834    public static crosby.binary.Osmformat.StringTable parseFrom(
     
    49754836        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    49764837        throws java.io.IOException {
    4977       return PARSER.parseFrom(input, extensionRegistry);
     4838      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     4839          DEFAULT_INSTANCE, input, extensionRegistry);
    49784840    }
    49794841    public static crosby.binary.Osmformat.StringTable parseDelimitedFrom(java.io.InputStream input)
    49804842        throws java.io.IOException {
    4981       return PARSER.parseDelimitedFrom(input);
     4843      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    49824844    }
    49834845    public static crosby.binary.Osmformat.StringTable parseDelimitedFrom(
     
    49854847        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    49864848        throws java.io.IOException {
    4987       return PARSER.parseDelimitedFrom(input, extensionRegistry);
     4849      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    49884850    }
    49894851    public static crosby.binary.Osmformat.StringTable parseFrom(
    49904852        com.google.protobuf.CodedInputStream input)
    49914853        throws java.io.IOException {
    4992       return PARSER.parseFrom(input);
     4854      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     4855          DEFAULT_INSTANCE, input);
    49934856    }
    49944857    public static crosby.binary.Osmformat.StringTable parseFrom(
     
    49964859        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    49974860        throws java.io.IOException {
    4998       return PARSER.parseFrom(input, extensionRegistry);
    4999     }
    5000 
    5001     public static Builder newBuilder() { return Builder.create(); }
    5002     @Override
    5003         public Builder newBuilderForType() { return newBuilder(); }
     4861      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     4862          DEFAULT_INSTANCE, input, extensionRegistry);
     4863    }
     4864
     4865    public static Builder newBuilder() {
     4866      return DEFAULT_INSTANCE.toBuilder();
     4867    }
    50044868    public static Builder newBuilder(crosby.binary.Osmformat.StringTable prototype) {
    5005       return newBuilder().mergeFrom(prototype);
    5006     }
    5007     @Override
    5008         public Builder toBuilder() { return newBuilder(this); }
    5009 
    5010     /**
    5011      * Protobuf type {@code OSMPBF.StringTable}
    5012      *
     4869      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     4870    }
     4871
     4872    /**
    50134873     * <pre>
    50144874     ** String table, contains the common strings in each block.
     
    50164876     *index in the table is ALWAYS blank and unused.
    50174877     * </pre>
     4878     *
     4879     * Protobuf type {@code OSMPBF.StringTable}
    50184880     */
    50194881    public static final class Builder extends
    50204882        com.google.protobuf.GeneratedMessageLite.Builder<
    5021           crosby.binary.Osmformat.StringTable, Builder>
    5022         implements
     4883          crosby.binary.Osmformat.StringTable, Builder> implements
    50234884        // @@protoc_insertion_point(builder_implements:OSMPBF.StringTable)
    50244885        crosby.binary.Osmformat.StringTableOrBuilder {
    50254886      // Construct using crosby.binary.Osmformat.StringTable.newBuilder()
    50264887      private Builder() {
    5027         maybeForceBuilderInitialization();
    5028       }
    5029 
    5030       private void maybeForceBuilderInitialization() {
    5031       }
    5032       private static Builder create() {
    5033         return new Builder();
    5034       }
    5035 
    5036       @Override
    5037         public Builder clear() {
    5038         super.clear();
    5039         s_ = java.util.Collections.emptyList();
    5040         bitField0_ = (bitField0_ & ~0x00000001);
    5041         return this;
    5042       }
    5043 
    5044       @Override
    5045         public Builder clone() {
    5046         return create().mergeFrom(buildPartial());
    5047       }
    5048 
    5049       @Override
    5050         public crosby.binary.Osmformat.StringTable getDefaultInstanceForType() {
    5051         return crosby.binary.Osmformat.StringTable.getDefaultInstance();
    5052       }
    5053 
    5054       @Override
    5055         public crosby.binary.Osmformat.StringTable build() {
    5056         crosby.binary.Osmformat.StringTable result = buildPartial();
    5057         if (!result.isInitialized()) {
    5058           throw newUninitializedMessageException(result);
    5059         }
    5060         return result;
    5061       }
    5062 
    5063       @Override
    5064         public crosby.binary.Osmformat.StringTable buildPartial() {
    5065         crosby.binary.Osmformat.StringTable result = new crosby.binary.Osmformat.StringTable(this);
    5066         int from_bitField0_ = bitField0_;
    5067         if (((bitField0_ & 0x00000001) == 0x00000001)) {
    5068           s_ = java.util.Collections.unmodifiableList(s_);
    5069           bitField0_ = (bitField0_ & ~0x00000001);
    5070         }
    5071         result.s_ = s_;
    5072         return result;
    5073       }
    5074 
    5075       @Override
    5076         public Builder mergeFrom(crosby.binary.Osmformat.StringTable other) {
    5077         if (other == crosby.binary.Osmformat.StringTable.getDefaultInstance()) return this;
    5078         if (!other.s_.isEmpty()) {
    5079           if (s_.isEmpty()) {
    5080             s_ = other.s_;
    5081             bitField0_ = (bitField0_ & ~0x00000001);
    5082           } else {
    5083             ensureSIsMutable();
    5084             s_.addAll(other.s_);
    5085           }
    5086 
    5087         }
    5088         setUnknownFields(
    5089             getUnknownFields().concat(other.unknownFields));
    5090         return this;
    5091       }
    5092 
    5093       @Override
    5094         public final boolean isInitialized() {
    5095         return true;
    5096       }
    5097 
    5098       @Override
    5099         public Builder mergeFrom(
    5100           com.google.protobuf.CodedInputStream input,
    5101           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    5102           throws java.io.IOException {
    5103         crosby.binary.Osmformat.StringTable parsedMessage = null;
    5104         try {
    5105           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
    5106         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
    5107           parsedMessage = (crosby.binary.Osmformat.StringTable) e.getUnfinishedMessage();
    5108           throw e;
    5109         } finally {
    5110           if (parsedMessage != null) {
    5111             mergeFrom(parsedMessage);
    5112           }
    5113         }
    5114         return this;
    5115       }
    5116       private int bitField0_;
    5117 
    5118       private java.util.List<com.google.protobuf.ByteString> s_ = java.util.Collections.emptyList();
    5119       private void ensureSIsMutable() {
    5120         if (!((bitField0_ & 0x00000001) == 0x00000001)) {
    5121           s_ = new java.util.ArrayList<>(s_);
    5122           bitField0_ |= 0x00000001;
    5123          }
    5124       }
     4888        super(DEFAULT_INSTANCE);
     4889      }
     4890
     4891
    51254892      /**
    51264893       * <code>repeated bytes s = 1;</code>
    51274894       */
    5128       @Override
    5129         public java.util.List<com.google.protobuf.ByteString>
     4895      public java.util.List<com.google.protobuf.ByteString>
    51304896          getSList() {
    5131         return java.util.Collections.unmodifiableList(s_);
     4897        return java.util.Collections.unmodifiableList(
     4898            instance.getSList());
    51324899      }
    51334900      /**
    51344901       * <code>repeated bytes s = 1;</code>
    51354902       */
    5136       @Override
    5137         public int getSCount() {
    5138         return s_.size();
     4903      public int getSCount() {
     4904        return instance.getSCount();
    51394905      }
    51404906      /**
    51414907       * <code>repeated bytes s = 1;</code>
    51424908       */
    5143       @Override
    5144         public com.google.protobuf.ByteString getS(int index) {
    5145         return s_.get(index);
     4909      public com.google.protobuf.ByteString getS(int index) {
     4910        return instance.getS(index);
    51464911      }
    51474912      /**
     
    51504915      public Builder setS(
    51514916          int index, com.google.protobuf.ByteString value) {
    5152         if (value == null) {
    5153     throw new NullPointerException();
    5154   }
    5155   ensureSIsMutable();
    5156         s_.set(index, value);
    5157 
     4917        copyOnWrite();
     4918        instance.setS(index, value);
    51584919        return this;
    51594920      }
     
    51624923       */
    51634924      public Builder addS(com.google.protobuf.ByteString value) {
    5164         if (value == null) {
    5165     throw new NullPointerException();
    5166   }
    5167   ensureSIsMutable();
    5168         s_.add(value);
    5169 
     4925        copyOnWrite();
     4926        instance.addS(value);
    51704927        return this;
    51714928      }
     
    51754932      public Builder addAllS(
    51764933          java.lang.Iterable<? extends com.google.protobuf.ByteString> values) {
    5177         ensureSIsMutable();
    5178         com.google.protobuf.AbstractMessageLite.Builder.addAll(
    5179             values, s_);
    5180 
     4934        copyOnWrite();
     4935        instance.addAllS(values);
    51814936        return this;
    51824937      }
     
    51854940       */
    51864941      public Builder clearS() {
    5187         s_ = java.util.Collections.emptyList();
    5188         bitField0_ = (bitField0_ & ~0x00000001);
    5189 
     4942        copyOnWrite();
     4943        instance.clearS();
    51904944        return this;
    51914945      }
     
    51934947      // @@protoc_insertion_point(builder_scope:OSMPBF.StringTable)
    51944948    }
    5195 
     4949    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
     4950    protected final java.lang.Object dynamicMethod(
     4951        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
     4952        java.lang.Object arg0, java.lang.Object arg1) {
     4953      switch (method) {
     4954        case NEW_MUTABLE_INSTANCE: {
     4955          return new crosby.binary.Osmformat.StringTable();
     4956        }
     4957        case IS_INITIALIZED: {
     4958          return DEFAULT_INSTANCE;
     4959        }
     4960        case MAKE_IMMUTABLE: {
     4961          s_.makeImmutable();
     4962          return null;
     4963        }
     4964        case NEW_BUILDER: {
     4965          return new Builder();
     4966        }
     4967        case VISIT: {
     4968          Visitor visitor = (Visitor) arg0;
     4969          crosby.binary.Osmformat.StringTable other = (crosby.binary.Osmformat.StringTable) arg1;
     4970          s_= visitor.visitList(s_, other.s_);
     4971          if (visitor == com.google.protobuf.GeneratedMessageLite.MergeFromVisitor
     4972              .INSTANCE) {
     4973          }
     4974          return this;
     4975        }
     4976        case MERGE_FROM_STREAM: {
     4977          com.google.protobuf.CodedInputStream input =
     4978              (com.google.protobuf.CodedInputStream) arg0;
     4979          com.google.protobuf.ExtensionRegistryLite extensionRegistry =
     4980              (com.google.protobuf.ExtensionRegistryLite) arg1;
     4981          try {
     4982            boolean done = false;
     4983            while (!done) {
     4984              int tag = input.readTag();
     4985              switch (tag) {
     4986                case 0:
     4987                  done = true;
     4988                  break;
     4989                default: {
     4990                  if (!parseUnknownField(tag, input)) {
     4991                    done = true;
     4992                  }
     4993                  break;
     4994                }
     4995                case 10: {
     4996                  if (!s_.isModifiable()) {
     4997                    s_ =
     4998                        com.google.protobuf.GeneratedMessageLite.mutableCopy(s_);
     4999                  }
     5000                  s_.add(input.readBytes());
     5001                  break;
     5002                }
     5003              }
     5004            }
     5005          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
     5006            throw new RuntimeException(e.setUnfinishedMessage(this));
     5007          } catch (java.io.IOException e) {
     5008            throw new RuntimeException(
     5009                new com.google.protobuf.InvalidProtocolBufferException(
     5010                    e.getMessage()).setUnfinishedMessage(this));
     5011          } finally {
     5012          }
     5013        }
     5014        // fall through
     5015        case GET_DEFAULT_INSTANCE: {
     5016          return DEFAULT_INSTANCE;
     5017        }
     5018        case GET_PARSER: {
     5019          if (PARSER == null) {    synchronized (crosby.binary.Osmformat.StringTable.class) {
     5020              if (PARSER == null) {
     5021                PARSER = new DefaultInstanceBasedParser(DEFAULT_INSTANCE);
     5022              }
     5023            }
     5024          }
     5025          return PARSER;
     5026        }
     5027      }
     5028      throw new UnsupportedOperationException();
     5029    }
     5030
     5031
     5032    // @@protoc_insertion_point(class_scope:OSMPBF.StringTable)
     5033    private static final crosby.binary.Osmformat.StringTable DEFAULT_INSTANCE;
    51965034    static {
    5197       defaultInstance = new StringTable(true);
    5198       defaultInstance.initFields();
    5199     }
    5200 
    5201     // @@protoc_insertion_point(class_scope:OSMPBF.StringTable)
     5035      DEFAULT_INSTANCE = new StringTable();
     5036      DEFAULT_INSTANCE.makeImmutable();
     5037    }
     5038
     5039    public static crosby.binary.Osmformat.StringTable getDefaultInstance() {
     5040      return DEFAULT_INSTANCE;
     5041    }
     5042
     5043    private static volatile com.google.protobuf.Parser<StringTable> PARSER;
     5044
     5045    public static com.google.protobuf.Parser<StringTable> parser() {
     5046      return DEFAULT_INSTANCE.getParserForType();
     5047    }
    52025048  }
    52035049
     
    52435089
    52445090    /**
     5091     * <pre>
     5092     * String IDs
     5093     * </pre>
     5094     *
    52455095     * <code>optional uint32 user_sid = 5;</code>
    5246      *
     5096     */
     5097    boolean hasUserSid();
     5098    /**
    52475099     * <pre>
    52485100     * String IDs
    52495101     * </pre>
    5250      */
    5251     boolean hasUserSid();
    5252     /**
     5102     *
    52535103     * <code>optional uint32 user_sid = 5;</code>
    5254      *
    5255      * <pre>
    5256      * String IDs
    5257      * </pre>
    52585104     */
    52595105    int getUserSid();
    52605106
    52615107    /**
    5262      * <code>optional bool visible = 6;</code>
    5263      *
    52645108     * <pre>
    52655109     * The visible flag is used to store history information. It indicates that
     
    52725116     * set.
    52735117     * </pre>
     5118     *
     5119     * <code>optional bool visible = 6;</code>
    52745120     */
    52755121    boolean hasVisible();
    52765122    /**
    5277      * <code>optional bool visible = 6;</code>
    5278      *
    52795123     * <pre>
    52805124     * The visible flag is used to store history information. It indicates that
     
    52875131     * set.
    52885132     * </pre>
     5133     *
     5134     * <code>optional bool visible = 6;</code>
    52895135     */
    52905136    boolean getVisible();
    52915137  }
    52925138  /**
     5139   * <pre>
     5140   * Optional metadata that may be included into each primitive.
     5141   * </pre>
     5142   *
    52935143   * Protobuf type {@code OSMPBF.Info}
    5294    *
    5295    * <pre>
    5296    * Optional metadata that may be included into each primitive.
    5297    * </pre>
    52985144   */
    5299   public static final class Info extends
    5300       com.google.protobuf.GeneratedMessageLite implements
     5145  public  static final class Info extends
     5146      com.google.protobuf.GeneratedMessageLite<
     5147          Info, Info.Builder> implements
    53015148      // @@protoc_insertion_point(message_implements:OSMPBF.Info)
    53025149      InfoOrBuilder {
    5303     // Use Info.newBuilder() to construct.
    5304     private Info(com.google.protobuf.GeneratedMessageLite.Builder builder) {
    5305       super(builder);
    5306       this.unknownFields = builder.getUnknownFields();
    5307     }
    5308     private Info(boolean noInit) { this.unknownFields = com.google.protobuf.ByteString.EMPTY;}
    5309 
    5310     private static final Info defaultInstance;
    5311     public static Info getDefaultInstance() {
    5312       return defaultInstance;
    5313     }
    5314 
    5315     @Override
    5316         public Info getDefaultInstanceForType() {
    5317       return defaultInstance;
    5318     }
    5319 
    5320     private final com.google.protobuf.ByteString unknownFields;
    5321     private Info(
    5322         com.google.protobuf.CodedInputStream input,
    5323         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    5324         throws com.google.protobuf.InvalidProtocolBufferException {
    5325       initFields();
    5326       int mutable_bitField0_ = 0;
    5327       com.google.protobuf.ByteString.Output unknownFieldsOutput =
    5328           com.google.protobuf.ByteString.newOutput();
    5329       com.google.protobuf.CodedOutputStream unknownFieldsCodedOutput =
    5330           com.google.protobuf.CodedOutputStream.newInstance(
    5331               unknownFieldsOutput);
    5332       try {
    5333         boolean done = false;
    5334         while (!done) {
    5335           int tag = input.readTag();
    5336           switch (tag) {
    5337             case 0:
    5338               done = true;
    5339               break;
    5340             default: {
    5341               if (!parseUnknownField(input, unknownFieldsCodedOutput,
    5342                                      extensionRegistry, tag)) {
    5343                 done = true;
    5344               }
    5345               break;
    5346             }
    5347             case 8: {
    5348               bitField0_ |= 0x00000001;
    5349               version_ = input.readInt32();
    5350               break;
    5351             }
    5352             case 16: {
    5353               bitField0_ |= 0x00000002;
    5354               timestamp_ = input.readInt64();
    5355               break;
    5356             }
    5357             case 24: {
    5358               bitField0_ |= 0x00000004;
    5359               changeset_ = input.readInt64();
    5360               break;
    5361             }
    5362             case 32: {
    5363               bitField0_ |= 0x00000008;
    5364               uid_ = input.readInt32();
    5365               break;
    5366             }
    5367             case 40: {
    5368               bitField0_ |= 0x00000010;
    5369               userSid_ = input.readUInt32();
    5370               break;
    5371             }
    5372             case 48: {
    5373               bitField0_ |= 0x00000020;
    5374               visible_ = input.readBool();
    5375               break;
    5376             }
    5377           }
    5378         }
    5379       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
    5380         throw e.setUnfinishedMessage(this);
    5381       } catch (java.io.IOException e) {
    5382         throw new com.google.protobuf.InvalidProtocolBufferException(
    5383             e.getMessage()).setUnfinishedMessage(this);
    5384       } finally {
    5385         try {
    5386           unknownFieldsCodedOutput.flush();
    5387         } catch (java.io.IOException e) {
    5388         // Should not happen
    5389         } finally {
    5390           unknownFields = unknownFieldsOutput.toByteString();
    5391         }
    5392         makeExtensionsImmutable();
    5393       }
    5394     }
    5395     public static com.google.protobuf.Parser<Info> PARSER =
    5396         new com.google.protobuf.AbstractParser<Info>() {
    5397       @Override
    5398         public Info parsePartialFrom(
    5399           com.google.protobuf.CodedInputStream input,
    5400           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    5401           throws com.google.protobuf.InvalidProtocolBufferException {
    5402         return new Info(input, extensionRegistry);
    5403       }
    5404     };
    5405 
    5406     @java.lang.Override
    5407     public com.google.protobuf.Parser<Info> getParserForType() {
    5408       return PARSER;
    5409     }
    5410 
     5150    private Info() {
     5151      version_ = -1;
     5152    }
    54115153    private int bitField0_;
    54125154    public static final int VERSION_FIELD_NUMBER = 1;
     
    54155157     * <code>optional int32 version = 1 [default = -1];</code>
    54165158     */
    5417     @Override
    5418         public boolean hasVersion() {
     5159    public boolean hasVersion() {
    54195160      return ((bitField0_ & 0x00000001) == 0x00000001);
    54205161    }
     
    54225163     * <code>optional int32 version = 1 [default = -1];</code>
    54235164     */
    5424     @Override
    5425         public int getVersion() {
     5165    public int getVersion() {
    54265166      return version_;
     5167    }
     5168    /**
     5169     * <code>optional int32 version = 1 [default = -1];</code>
     5170     */
     5171    private void setVersion(int value) {
     5172      bitField0_ |= 0x00000001;
     5173      version_ = value;
     5174    }
     5175    /**
     5176     * <code>optional int32 version = 1 [default = -1];</code>
     5177     */
     5178    private void clearVersion() {
     5179      bitField0_ = (bitField0_ & ~0x00000001);
     5180      version_ = -1;
    54275181    }
    54285182
     
    54325186     * <code>optional int64 timestamp = 2;</code>
    54335187     */
    5434     @Override
    5435         public boolean hasTimestamp() {
     5188    public boolean hasTimestamp() {
    54365189      return ((bitField0_ & 0x00000002) == 0x00000002);
    54375190    }
     
    54395192     * <code>optional int64 timestamp = 2;</code>
    54405193     */
    5441     @Override
    5442         public long getTimestamp() {
     5194    public long getTimestamp() {
    54435195      return timestamp_;
     5196    }
     5197    /**
     5198     * <code>optional int64 timestamp = 2;</code>
     5199     */
     5200    private void setTimestamp(long value) {
     5201      bitField0_ |= 0x00000002;
     5202      timestamp_ = value;
     5203    }
     5204    /**
     5205     * <code>optional int64 timestamp = 2;</code>
     5206     */
     5207    private void clearTimestamp() {
     5208      bitField0_ = (bitField0_ & ~0x00000002);
     5209      timestamp_ = 0L;
    54445210    }
    54455211
     
    54495215     * <code>optional int64 changeset = 3;</code>
    54505216     */
    5451     @Override
    5452         public boolean hasChangeset() {
     5217    public boolean hasChangeset() {
    54535218      return ((bitField0_ & 0x00000004) == 0x00000004);
    54545219    }
     
    54565221     * <code>optional int64 changeset = 3;</code>
    54575222     */
    5458     @Override
    5459         public long getChangeset() {
     5223    public long getChangeset() {
    54605224      return changeset_;
     5225    }
     5226    /**
     5227     * <code>optional int64 changeset = 3;</code>
     5228     */
     5229    private void setChangeset(long value) {
     5230      bitField0_ |= 0x00000004;
     5231      changeset_ = value;
     5232    }
     5233    /**
     5234     * <code>optional int64 changeset = 3;</code>
     5235     */
     5236    private void clearChangeset() {
     5237      bitField0_ = (bitField0_ & ~0x00000004);
     5238      changeset_ = 0L;
    54615239    }
    54625240
     
    54665244     * <code>optional int32 uid = 4;</code>
    54675245     */
    5468     @Override
    5469         public boolean hasUid() {
     5246    public boolean hasUid() {
    54705247      return ((bitField0_ & 0x00000008) == 0x00000008);
    54715248    }
     
    54735250     * <code>optional int32 uid = 4;</code>
    54745251     */
    5475     @Override
    5476         public int getUid() {
     5252    public int getUid() {
    54775253      return uid_;
     5254    }
     5255    /**
     5256     * <code>optional int32 uid = 4;</code>
     5257     */
     5258    private void setUid(int value) {
     5259      bitField0_ |= 0x00000008;
     5260      uid_ = value;
     5261    }
     5262    /**
     5263     * <code>optional int32 uid = 4;</code>
     5264     */
     5265    private void clearUid() {
     5266      bitField0_ = (bitField0_ & ~0x00000008);
     5267      uid_ = 0;
    54785268    }
    54795269
     
    54815271    private int userSid_;
    54825272    /**
     5273     * <pre>
     5274     * String IDs
     5275     * </pre>
     5276     *
    54835277     * <code>optional uint32 user_sid = 5;</code>
    5484      *
     5278     */
     5279    public boolean hasUserSid() {
     5280      return ((bitField0_ & 0x00000010) == 0x00000010);
     5281    }
     5282    /**
    54855283     * <pre>
    54865284     * String IDs
    54875285     * </pre>
    5488      */
    5489     @Override
    5490         public boolean hasUserSid() {
    5491       return ((bitField0_ & 0x00000010) == 0x00000010);
    5492     }
    5493     /**
     5286     *
    54945287     * <code>optional uint32 user_sid = 5;</code>
    5495      *
     5288     */
     5289    public int getUserSid() {
     5290      return userSid_;
     5291    }
     5292    /**
    54965293     * <pre>
    54975294     * String IDs
    54985295     * </pre>
    5499      */
    5500     @Override
    5501         public int getUserSid() {
    5502       return userSid_;
     5296     *
     5297     * <code>optional uint32 user_sid = 5;</code>
     5298     */
     5299    private void setUserSid(int value) {
     5300      bitField0_ |= 0x00000010;
     5301      userSid_ = value;
     5302    }
     5303    /**
     5304     * <pre>
     5305     * String IDs
     5306     * </pre>
     5307     *
     5308     * <code>optional uint32 user_sid = 5;</code>
     5309     */
     5310    private void clearUserSid() {
     5311      bitField0_ = (bitField0_ & ~0x00000010);
     5312      userSid_ = 0;
    55035313    }
    55045314
     
    55065316    private boolean visible_;
    55075317    /**
    5508      * <code>optional bool visible = 6;</code>
    5509      *
    55105318     * <pre>
    55115319     * The visible flag is used to store history information. It indicates that
     
    55185326     * set.
    55195327     * </pre>
    5520      */
    5521     @Override
    5522         public boolean hasVisible() {
     5328     *
     5329     * <code>optional bool visible = 6;</code>
     5330     */
     5331    public boolean hasVisible() {
    55235332      return ((bitField0_ & 0x00000020) == 0x00000020);
    55245333    }
    55255334    /**
    5526      * <code>optional bool visible = 6;</code>
    5527      *
    55285335     * <pre>
    55295336     * The visible flag is used to store history information. It indicates that
     
    55365343     * set.
    55375344     * </pre>
    5538      */
    5539     @Override
    5540         public boolean getVisible() {
     5345     *
     5346     * <code>optional bool visible = 6;</code>
     5347     */
     5348    public boolean getVisible() {
    55415349      return visible_;
    55425350    }
    5543 
    5544     private void initFields() {
    5545       version_ = -1;
    5546       timestamp_ = 0L;
    5547       changeset_ = 0L;
    5548       uid_ = 0;
    5549       userSid_ = 0;
     5351    /**
     5352     * <pre>
     5353     * The visible flag is used to store history information. It indicates that
     5354     * the current object version has been created by a delete operation on the
     5355     * OSM API.
     5356     * When a writer sets this flag, it MUST add a required_features tag with
     5357     * value "HistoricalInformation" to the HeaderBlock.
     5358     * If this flag is not available for some object it MUST be assumed to be
     5359     * true if the file has the required_features tag "HistoricalInformation"
     5360     * set.
     5361     * </pre>
     5362     *
     5363     * <code>optional bool visible = 6;</code>
     5364     */
     5365    private void setVisible(boolean value) {
     5366      bitField0_ |= 0x00000020;
     5367      visible_ = value;
     5368    }
     5369    /**
     5370     * <pre>
     5371     * The visible flag is used to store history information. It indicates that
     5372     * the current object version has been created by a delete operation on the
     5373     * OSM API.
     5374     * When a writer sets this flag, it MUST add a required_features tag with
     5375     * value "HistoricalInformation" to the HeaderBlock.
     5376     * If this flag is not available for some object it MUST be assumed to be
     5377     * true if the file has the required_features tag "HistoricalInformation"
     5378     * set.
     5379     * </pre>
     5380     *
     5381     * <code>optional bool visible = 6;</code>
     5382     */
     5383    private void clearVisible() {
     5384      bitField0_ = (bitField0_ & ~0x00000020);
    55505385      visible_ = false;
    55515386    }
    5552     private byte memoizedIsInitialized = -1;
    5553     @Override
    5554         public final boolean isInitialized() {
    5555       byte isInitialized = memoizedIsInitialized;
    5556       if (isInitialized == 1) return true;
    5557       if (isInitialized == 0) return false;
    5558 
    5559       memoizedIsInitialized = 1;
    5560       return true;
    5561     }
    5562 
    5563     @Override
    5564         public void writeTo(com.google.protobuf.CodedOutputStream output)
     5387
     5388    public void writeTo(com.google.protobuf.CodedOutputStream output)
    55655389                        throws java.io.IOException {
    5566       getSerializedSize();
    55675390      if (((bitField0_ & 0x00000001) == 0x00000001)) {
    55685391        output.writeInt32(1, version_);
     
    55835406        output.writeBool(6, visible_);
    55845407      }
    5585       output.writeRawBytes(unknownFields);
    5586     }
    5587 
    5588     private int memoizedSerializedSize = -1;
    5589     @Override
    5590         public int getSerializedSize() {
     5408      unknownFields.writeTo(output);
     5409    }
     5410
     5411    public int getSerializedSize() {
    55915412      int size = memoizedSerializedSize;
    55925413      if (size != -1) return size;
     
    56175438          .computeBoolSize(6, visible_);
    56185439      }
    5619       size += unknownFields.size();
     5440      size += unknownFields.getSerializedSize();
    56205441      memoizedSerializedSize = size;
    56215442      return size;
    56225443    }
    56235444
    5624     private static final long serialVersionUID = 0L;
    5625     @java.lang.Override
    5626     protected java.lang.Object writeReplace()
    5627         throws java.io.ObjectStreamException {
    5628       return super.writeReplace();
    5629     }
    5630 
     5445    public static crosby.binary.Osmformat.Info parseFrom(
     5446        java.nio.ByteBuffer data)
     5447        throws com.google.protobuf.InvalidProtocolBufferException {
     5448      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     5449          DEFAULT_INSTANCE, data);
     5450    }
     5451    public static crosby.binary.Osmformat.Info parseFrom(
     5452        java.nio.ByteBuffer data,
     5453        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     5454        throws com.google.protobuf.InvalidProtocolBufferException {
     5455      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     5456          DEFAULT_INSTANCE, data, extensionRegistry);
     5457    }
    56315458    public static crosby.binary.Osmformat.Info parseFrom(
    56325459        com.google.protobuf.ByteString data)
    56335460        throws com.google.protobuf.InvalidProtocolBufferException {
    5634       return PARSER.parseFrom(data);
     5461      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     5462          DEFAULT_INSTANCE, data);
    56355463    }
    56365464    public static crosby.binary.Osmformat.Info parseFrom(
     
    56385466        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    56395467        throws com.google.protobuf.InvalidProtocolBufferException {
    5640       return PARSER.parseFrom(data, extensionRegistry);
     5468      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     5469          DEFAULT_INSTANCE, data, extensionRegistry);
    56415470    }
    56425471    public static crosby.binary.Osmformat.Info parseFrom(byte[] data)
    56435472        throws com.google.protobuf.InvalidProtocolBufferException {
    5644       return PARSER.parseFrom(data);
     5473      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     5474          DEFAULT_INSTANCE, data);
    56455475    }
    56465476    public static crosby.binary.Osmformat.Info parseFrom(
     
    56485478        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    56495479        throws com.google.protobuf.InvalidProtocolBufferException {
    5650       return PARSER.parseFrom(data, extensionRegistry);
     5480      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     5481          DEFAULT_INSTANCE, data, extensionRegistry);
    56515482    }
    56525483    public static crosby.binary.Osmformat.Info parseFrom(java.io.InputStream input)
    56535484        throws java.io.IOException {
    5654       return PARSER.parseFrom(input);
     5485      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     5486          DEFAULT_INSTANCE, input);
    56555487    }
    56565488    public static crosby.binary.Osmformat.Info parseFrom(
     
    56585490        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    56595491        throws java.io.IOException {
    5660       return PARSER.parseFrom(input, extensionRegistry);
     5492      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     5493          DEFAULT_INSTANCE, input, extensionRegistry);
    56615494    }
    56625495    public static crosby.binary.Osmformat.Info parseDelimitedFrom(java.io.InputStream input)
    56635496        throws java.io.IOException {
    5664       return PARSER.parseDelimitedFrom(input);
     5497      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    56655498    }
    56665499    public static crosby.binary.Osmformat.Info parseDelimitedFrom(
     
    56685501        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    56695502        throws java.io.IOException {
    5670       return PARSER.parseDelimitedFrom(input, extensionRegistry);
     5503      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    56715504    }
    56725505    public static crosby.binary.Osmformat.Info parseFrom(
    56735506        com.google.protobuf.CodedInputStream input)
    56745507        throws java.io.IOException {
    5675       return PARSER.parseFrom(input);
     5508      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     5509          DEFAULT_INSTANCE, input);
    56765510    }
    56775511    public static crosby.binary.Osmformat.Info parseFrom(
     
    56795513        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    56805514        throws java.io.IOException {
    5681       return PARSER.parseFrom(input, extensionRegistry);
    5682     }
    5683 
    5684     public static Builder newBuilder() { return Builder.create(); }
    5685     @Override
    5686         public Builder newBuilderForType() { return newBuilder(); }
     5515      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     5516          DEFAULT_INSTANCE, input, extensionRegistry);
     5517    }
     5518
     5519    public static Builder newBuilder() {
     5520      return DEFAULT_INSTANCE.toBuilder();
     5521    }
    56875522    public static Builder newBuilder(crosby.binary.Osmformat.Info prototype) {
    5688       return newBuilder().mergeFrom(prototype);
    5689     }
    5690     @Override
    5691         public Builder toBuilder() { return newBuilder(this); }
    5692 
    5693     /**
     5523      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     5524    }
     5525
     5526    /**
     5527     * <pre>
     5528     * Optional metadata that may be included into each primitive.
     5529     * </pre>
     5530     *
    56945531     * Protobuf type {@code OSMPBF.Info}
    5695      *
    5696      * <pre>
    5697      * Optional metadata that may be included into each primitive.
    5698      * </pre>
    56995532     */
    57005533    public static final class Builder extends
    57015534        com.google.protobuf.GeneratedMessageLite.Builder<
    5702           crosby.binary.Osmformat.Info, Builder>
    5703         implements
     5535          crosby.binary.Osmformat.Info, Builder> implements
    57045536        // @@protoc_insertion_point(builder_implements:OSMPBF.Info)
    57055537        crosby.binary.Osmformat.InfoOrBuilder {
    57065538      // Construct using crosby.binary.Osmformat.Info.newBuilder()
    57075539      private Builder() {
    5708         maybeForceBuilderInitialization();
    5709       }
    5710 
    5711       private void maybeForceBuilderInitialization() {
    5712       }
    5713       private static Builder create() {
    5714         return new Builder();
    5715       }
    5716 
    5717       @Override
    5718         public Builder clear() {
    5719         super.clear();
    5720         version_ = -1;
    5721         bitField0_ = (bitField0_ & ~0x00000001);
    5722         timestamp_ = 0L;
    5723         bitField0_ = (bitField0_ & ~0x00000002);
    5724         changeset_ = 0L;
    5725         bitField0_ = (bitField0_ & ~0x00000004);
    5726         uid_ = 0;
    5727         bitField0_ = (bitField0_ & ~0x00000008);
    5728         userSid_ = 0;
    5729         bitField0_ = (bitField0_ & ~0x00000010);
    5730         visible_ = false;
    5731         bitField0_ = (bitField0_ & ~0x00000020);
    5732         return this;
    5733       }
    5734 
    5735       @Override
    5736         public Builder clone() {
    5737         return create().mergeFrom(buildPartial());
    5738       }
    5739 
    5740       @Override
    5741         public crosby.binary.Osmformat.Info getDefaultInstanceForType() {
    5742         return crosby.binary.Osmformat.Info.getDefaultInstance();
    5743       }
    5744 
    5745       @Override
    5746         public crosby.binary.Osmformat.Info build() {
    5747         crosby.binary.Osmformat.Info result = buildPartial();
    5748         if (!result.isInitialized()) {
    5749           throw newUninitializedMessageException(result);
    5750         }
    5751         return result;
    5752       }
    5753 
    5754       @Override
    5755         public crosby.binary.Osmformat.Info buildPartial() {
    5756         crosby.binary.Osmformat.Info result = new crosby.binary.Osmformat.Info(this);
    5757         int from_bitField0_ = bitField0_;
    5758         int to_bitField0_ = 0;
    5759         if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
    5760           to_bitField0_ |= 0x00000001;
    5761         }
    5762         result.version_ = version_;
    5763         if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
    5764           to_bitField0_ |= 0x00000002;
    5765         }
    5766         result.timestamp_ = timestamp_;
    5767         if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
    5768           to_bitField0_ |= 0x00000004;
    5769         }
    5770         result.changeset_ = changeset_;
    5771         if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
    5772           to_bitField0_ |= 0x00000008;
    5773         }
    5774         result.uid_ = uid_;
    5775         if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
    5776           to_bitField0_ |= 0x00000010;
    5777         }
    5778         result.userSid_ = userSid_;
    5779         if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
    5780           to_bitField0_ |= 0x00000020;
    5781         }
    5782         result.visible_ = visible_;
    5783         result.bitField0_ = to_bitField0_;
    5784         return result;
    5785       }
    5786 
    5787       @Override
    5788         public Builder mergeFrom(crosby.binary.Osmformat.Info other) {
    5789         if (other == crosby.binary.Osmformat.Info.getDefaultInstance()) return this;
    5790         if (other.hasVersion()) {
    5791           setVersion(other.getVersion());
    5792         }
    5793         if (other.hasTimestamp()) {
    5794           setTimestamp(other.getTimestamp());
    5795         }
    5796         if (other.hasChangeset()) {
    5797           setChangeset(other.getChangeset());
    5798         }
    5799         if (other.hasUid()) {
    5800           setUid(other.getUid());
    5801         }
    5802         if (other.hasUserSid()) {
    5803           setUserSid(other.getUserSid());
    5804         }
    5805         if (other.hasVisible()) {
    5806           setVisible(other.getVisible());
    5807         }
    5808         setUnknownFields(
    5809             getUnknownFields().concat(other.unknownFields));
    5810         return this;
    5811       }
    5812 
    5813       @Override
    5814         public final boolean isInitialized() {
    5815         return true;
    5816       }
    5817 
    5818       @Override
    5819         public Builder mergeFrom(
    5820           com.google.protobuf.CodedInputStream input,
    5821           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    5822           throws java.io.IOException {
    5823         crosby.binary.Osmformat.Info parsedMessage = null;
    5824         try {
    5825           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
    5826         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
    5827           parsedMessage = (crosby.binary.Osmformat.Info) e.getUnfinishedMessage();
    5828           throw e;
    5829         } finally {
    5830           if (parsedMessage != null) {
    5831             mergeFrom(parsedMessage);
    5832           }
    5833         }
    5834         return this;
    5835       }
    5836       private int bitField0_;
    5837 
    5838       private int version_ = -1;
     5540        super(DEFAULT_INSTANCE);
     5541      }
     5542
     5543
    58395544      /**
    58405545       * <code>optional int32 version = 1 [default = -1];</code>
    58415546       */
    5842       @Override
    5843         public boolean hasVersion() {
    5844         return ((bitField0_ & 0x00000001) == 0x00000001);
     5547      public boolean hasVersion() {
     5548        return instance.hasVersion();
    58455549      }
    58465550      /**
    58475551       * <code>optional int32 version = 1 [default = -1];</code>
    58485552       */
    5849       @Override
    5850         public int getVersion() {
    5851         return version_;
     5553      public int getVersion() {
     5554        return instance.getVersion();
    58525555      }
    58535556      /**
     
    58555558       */
    58565559      public Builder setVersion(int value) {
    5857         bitField0_ |= 0x00000001;
    5858         version_ = value;
    5859 
     5560        copyOnWrite();
     5561        instance.setVersion(value);
    58605562        return this;
    58615563      }
     
    58645566       */
    58655567      public Builder clearVersion() {
    5866         bitField0_ = (bitField0_ & ~0x00000001);
    5867         version_ = -1;
    5868 
    5869         return this;
    5870       }
    5871 
    5872       private long timestamp_ ;
     5568        copyOnWrite();
     5569        instance.clearVersion();
     5570        return this;
     5571      }
     5572
    58735573      /**
    58745574       * <code>optional int64 timestamp = 2;</code>
    58755575       */
    5876       @Override
    5877         public boolean hasTimestamp() {
    5878         return ((bitField0_ & 0x00000002) == 0x00000002);
     5576      public boolean hasTimestamp() {
     5577        return instance.hasTimestamp();
    58795578      }
    58805579      /**
    58815580       * <code>optional int64 timestamp = 2;</code>
    58825581       */
    5883       @Override
    5884         public long getTimestamp() {
    5885         return timestamp_;
     5582      public long getTimestamp() {
     5583        return instance.getTimestamp();
    58865584      }
    58875585      /**
     
    58895587       */
    58905588      public Builder setTimestamp(long value) {
    5891         bitField0_ |= 0x00000002;
    5892         timestamp_ = value;
    5893 
     5589        copyOnWrite();
     5590        instance.setTimestamp(value);
    58945591        return this;
    58955592      }
     
    58985595       */
    58995596      public Builder clearTimestamp() {
    5900         bitField0_ = (bitField0_ & ~0x00000002);
    5901         timestamp_ = 0L;
    5902 
    5903         return this;
    5904       }
    5905 
    5906       private long changeset_ ;
     5597        copyOnWrite();
     5598        instance.clearTimestamp();
     5599        return this;
     5600      }
     5601
    59075602      /**
    59085603       * <code>optional int64 changeset = 3;</code>
    59095604       */
    5910       @Override
    5911         public boolean hasChangeset() {
    5912         return ((bitField0_ & 0x00000004) == 0x00000004);
     5605      public boolean hasChangeset() {
     5606        return instance.hasChangeset();
    59135607      }
    59145608      /**
    59155609       * <code>optional int64 changeset = 3;</code>
    59165610       */
    5917       @Override
    5918         public long getChangeset() {
    5919         return changeset_;
     5611      public long getChangeset() {
     5612        return instance.getChangeset();
    59205613      }
    59215614      /**
     
    59235616       */
    59245617      public Builder setChangeset(long value) {
    5925         bitField0_ |= 0x00000004;
    5926         changeset_ = value;
    5927 
     5618        copyOnWrite();
     5619        instance.setChangeset(value);
    59285620        return this;
    59295621      }
     
    59325624       */
    59335625      public Builder clearChangeset() {
    5934         bitField0_ = (bitField0_ & ~0x00000004);
    5935         changeset_ = 0L;
    5936 
    5937         return this;
    5938       }
    5939 
    5940       private int uid_ ;
     5626        copyOnWrite();
     5627        instance.clearChangeset();
     5628        return this;
     5629      }
     5630
    59415631      /**
    59425632       * <code>optional int32 uid = 4;</code>
    59435633       */
    5944       @Override
    5945         public boolean hasUid() {
    5946         return ((bitField0_ & 0x00000008) == 0x00000008);
     5634      public boolean hasUid() {
     5635        return instance.hasUid();
    59475636      }
    59485637      /**
    59495638       * <code>optional int32 uid = 4;</code>
    59505639       */
    5951       @Override
    5952         public int getUid() {
    5953         return uid_;
     5640      public int getUid() {
     5641        return instance.getUid();
    59545642      }
    59555643      /**
     
    59575645       */
    59585646      public Builder setUid(int value) {
    5959         bitField0_ |= 0x00000008;
    5960         uid_ = value;
    5961 
     5647        copyOnWrite();
     5648        instance.setUid(value);
    59625649        return this;
    59635650      }
     
    59665653       */
    59675654      public Builder clearUid() {
    5968         bitField0_ = (bitField0_ & ~0x00000008);
    5969         uid_ = 0;
    5970 
    5971         return this;
    5972       }
    5973 
    5974       private int userSid_ ;
    5975       /**
     5655        copyOnWrite();
     5656        instance.clearUid();
     5657        return this;
     5658      }
     5659
     5660      /**
     5661       * <pre>
     5662       * String IDs
     5663       * </pre>
     5664       *
    59765665       * <code>optional uint32 user_sid = 5;</code>
    5977        *
     5666       */
     5667      public boolean hasUserSid() {
     5668        return instance.hasUserSid();
     5669      }
     5670      /**
    59785671       * <pre>
    59795672       * String IDs
    59805673       * </pre>
    5981        */
    5982       @Override
    5983         public boolean hasUserSid() {
    5984         return ((bitField0_ & 0x00000010) == 0x00000010);
    5985       }
    5986       /**
     5674       *
    59875675       * <code>optional uint32 user_sid = 5;</code>
    5988        *
     5676       */
     5677      public int getUserSid() {
     5678        return instance.getUserSid();
     5679      }
     5680      /**
    59895681       * <pre>
    59905682       * String IDs
    59915683       * </pre>
    5992        */
    5993       @Override
    5994         public int getUserSid() {
    5995         return userSid_;
    5996       }
    5997       /**
     5684       *
    59985685       * <code>optional uint32 user_sid = 5;</code>
    5999        *
     5686       */
     5687      public Builder setUserSid(int value) {
     5688        copyOnWrite();
     5689        instance.setUserSid(value);
     5690        return this;
     5691      }
     5692      /**
    60005693       * <pre>
    60015694       * String IDs
    60025695       * </pre>
    6003        */
    6004       public Builder setUserSid(int value) {
    6005         bitField0_ |= 0x00000010;
    6006         userSid_ = value;
    6007 
    6008         return this;
    6009       }
    6010       /**
     5696       *
    60115697       * <code>optional uint32 user_sid = 5;</code>
    6012        *
    6013        * <pre>
    6014        * String IDs
    6015        * </pre>
    60165698       */
    60175699      public Builder clearUserSid() {
    6018         bitField0_ = (bitField0_ & ~0x00000010);
    6019         userSid_ = 0;
    6020 
    6021         return this;
    6022       }
    6023 
    6024       private boolean visible_ ;
    6025       /**
    6026        * <code>optional bool visible = 6;</code>
    6027        *
     5700        copyOnWrite();
     5701        instance.clearUserSid();
     5702        return this;
     5703      }
     5704
     5705      /**
    60285706       * <pre>
    60295707       * The visible flag is used to store history information. It indicates that
     
    60365714       * set.
    60375715       * </pre>
    6038        */
    6039       @Override
    6040         public boolean hasVisible() {
    6041         return ((bitField0_ & 0x00000020) == 0x00000020);
    6042       }
    6043       /**
     5716       *
    60445717       * <code>optional bool visible = 6;</code>
    6045        *
     5718       */
     5719      public boolean hasVisible() {
     5720        return instance.hasVisible();
     5721      }
     5722      /**
    60465723       * <pre>
    60475724       * The visible flag is used to store history information. It indicates that
     
    60545731       * set.
    60555732       * </pre>
    6056        */
    6057       @Override
    6058         public boolean getVisible() {
    6059         return visible_;
    6060       }
    6061       /**
     5733       *
    60625734       * <code>optional bool visible = 6;</code>
    6063        *
     5735       */
     5736      public boolean getVisible() {
     5737        return instance.getVisible();
     5738      }
     5739      /**
    60645740       * <pre>
    60655741       * The visible flag is used to store history information. It indicates that
     
    60725748       * set.
    60735749       * </pre>
     5750       *
     5751       * <code>optional bool visible = 6;</code>
    60745752       */
    60755753      public Builder setVisible(boolean value) {
    6076         bitField0_ |= 0x00000020;
    6077         visible_ = value;
    6078 
    6079         return this;
    6080       }
    6081       /**
    6082        * <code>optional bool visible = 6;</code>
    6083        *
     5754        copyOnWrite();
     5755        instance.setVisible(value);
     5756        return this;
     5757      }
     5758      /**
    60845759       * <pre>
    60855760       * The visible flag is used to store history information. It indicates that
     
    60925767       * set.
    60935768       * </pre>
     5769       *
     5770       * <code>optional bool visible = 6;</code>
    60945771       */
    60955772      public Builder clearVisible() {
    6096         bitField0_ = (bitField0_ & ~0x00000020);
    6097         visible_ = false;
    6098 
     5773        copyOnWrite();
     5774        instance.clearVisible();
    60995775        return this;
    61005776      }
     
    61025778      // @@protoc_insertion_point(builder_scope:OSMPBF.Info)
    61035779    }
    6104 
     5780    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
     5781    protected final java.lang.Object dynamicMethod(
     5782        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
     5783        java.lang.Object arg0, java.lang.Object arg1) {
     5784      switch (method) {
     5785        case NEW_MUTABLE_INSTANCE: {
     5786          return new crosby.binary.Osmformat.Info();
     5787        }
     5788        case IS_INITIALIZED: {
     5789          return DEFAULT_INSTANCE;
     5790        }
     5791        case MAKE_IMMUTABLE: {
     5792          return null;
     5793        }
     5794        case NEW_BUILDER: {
     5795          return new Builder();
     5796        }
     5797        case VISIT: {
     5798          Visitor visitor = (Visitor) arg0;
     5799          crosby.binary.Osmformat.Info other = (crosby.binary.Osmformat.Info) arg1;
     5800          version_ = visitor.visitInt(
     5801              hasVersion(), version_,
     5802              other.hasVersion(), other.version_);
     5803          timestamp_ = visitor.visitLong(
     5804              hasTimestamp(), timestamp_,
     5805              other.hasTimestamp(), other.timestamp_);
     5806          changeset_ = visitor.visitLong(
     5807              hasChangeset(), changeset_,
     5808              other.hasChangeset(), other.changeset_);
     5809          uid_ = visitor.visitInt(
     5810              hasUid(), uid_,
     5811              other.hasUid(), other.uid_);
     5812          userSid_ = visitor.visitInt(
     5813              hasUserSid(), userSid_,
     5814              other.hasUserSid(), other.userSid_);
     5815          visible_ = visitor.visitBoolean(
     5816              hasVisible(), visible_,
     5817              other.hasVisible(), other.visible_);
     5818          if (visitor == com.google.protobuf.GeneratedMessageLite.MergeFromVisitor
     5819              .INSTANCE) {
     5820            bitField0_ |= other.bitField0_;
     5821          }
     5822          return this;
     5823        }
     5824        case MERGE_FROM_STREAM: {
     5825          com.google.protobuf.CodedInputStream input =
     5826              (com.google.protobuf.CodedInputStream) arg0;
     5827          com.google.protobuf.ExtensionRegistryLite extensionRegistry =
     5828              (com.google.protobuf.ExtensionRegistryLite) arg1;
     5829          try {
     5830            boolean done = false;
     5831            while (!done) {
     5832              int tag = input.readTag();
     5833              switch (tag) {
     5834                case 0:
     5835                  done = true;
     5836                  break;
     5837                default: {
     5838                  if (!parseUnknownField(tag, input)) {
     5839                    done = true;
     5840                  }
     5841                  break;
     5842                }
     5843                case 8: {
     5844                  bitField0_ |= 0x00000001;
     5845                  version_ = input.readInt32();
     5846                  break;
     5847                }
     5848                case 16: {
     5849                  bitField0_ |= 0x00000002;
     5850                  timestamp_ = input.readInt64();
     5851                  break;
     5852                }
     5853                case 24: {
     5854                  bitField0_ |= 0x00000004;
     5855                  changeset_ = input.readInt64();
     5856                  break;
     5857                }
     5858                case 32: {
     5859                  bitField0_ |= 0x00000008;
     5860                  uid_ = input.readInt32();
     5861                  break;
     5862                }
     5863                case 40: {
     5864                  bitField0_ |= 0x00000010;
     5865                  userSid_ = input.readUInt32();
     5866                  break;
     5867                }
     5868                case 48: {
     5869                  bitField0_ |= 0x00000020;
     5870                  visible_ = input.readBool();
     5871                  break;
     5872                }
     5873              }
     5874            }
     5875          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
     5876            throw new RuntimeException(e.setUnfinishedMessage(this));
     5877          } catch (java.io.IOException e) {
     5878            throw new RuntimeException(
     5879                new com.google.protobuf.InvalidProtocolBufferException(
     5880                    e.getMessage()).setUnfinishedMessage(this));
     5881          } finally {
     5882          }
     5883        }
     5884        // fall through
     5885        case GET_DEFAULT_INSTANCE: {
     5886          return DEFAULT_INSTANCE;
     5887        }
     5888        case GET_PARSER: {
     5889          if (PARSER == null) {    synchronized (crosby.binary.Osmformat.Info.class) {
     5890              if (PARSER == null) {
     5891                PARSER = new DefaultInstanceBasedParser(DEFAULT_INSTANCE);
     5892              }
     5893            }
     5894          }
     5895          return PARSER;
     5896        }
     5897      }
     5898      throw new UnsupportedOperationException();
     5899    }
     5900
     5901
     5902    // @@protoc_insertion_point(class_scope:OSMPBF.Info)
     5903    private static final crosby.binary.Osmformat.Info DEFAULT_INSTANCE;
    61055904    static {
    6106       defaultInstance = new Info(true);
    6107       defaultInstance.initFields();
    6108     }
    6109 
    6110     // @@protoc_insertion_point(class_scope:OSMPBF.Info)
     5905      DEFAULT_INSTANCE = new Info();
     5906      DEFAULT_INSTANCE.makeImmutable();
     5907    }
     5908
     5909    public static crosby.binary.Osmformat.Info getDefaultInstance() {
     5910      return DEFAULT_INSTANCE;
     5911    }
     5912
     5913    private static volatile com.google.protobuf.Parser<Info> PARSER;
     5914
     5915    public static com.google.protobuf.Parser<Info> parser() {
     5916      return DEFAULT_INSTANCE.getParserForType();
     5917    }
    61115918  }
    61125919
     
    61295936
    61305937    /**
     5938     * <pre>
     5939     * DELTA coded
     5940     * </pre>
     5941     *
    61315942     * <code>repeated sint64 timestamp = 2 [packed = true];</code>
    6132      *
     5943     */
     5944    java.util.List<java.lang.Long> getTimestampList();
     5945    /**
    61335946     * <pre>
    61345947     * DELTA coded
    61355948     * </pre>
    6136      */
    6137     java.util.List<java.lang.Long> getTimestampList();
    6138     /**
     5949     *
    61395950     * <code>repeated sint64 timestamp = 2 [packed = true];</code>
    6140      *
     5951     */
     5952    int getTimestampCount();
     5953    /**
    61415954     * <pre>
    61425955     * DELTA coded
    61435956     * </pre>
    6144      */
    6145     int getTimestampCount();
    6146     /**
     5957     *
    61475958     * <code>repeated sint64 timestamp = 2 [packed = true];</code>
    6148      *
     5959     */
     5960    long getTimestamp(int index);
     5961
     5962    /**
    61495963     * <pre>
    61505964     * DELTA coded
    61515965     * </pre>
    6152      */
    6153     long getTimestamp(int index);
    6154 
    6155     /**
     5966     *
    61565967     * <code>repeated sint64 changeset = 3 [packed = true];</code>
    6157      *
     5968     */
     5969    java.util.List<java.lang.Long> getChangesetList();
     5970    /**
    61585971     * <pre>
    61595972     * DELTA coded
    61605973     * </pre>
    6161      */
    6162     java.util.List<java.lang.Long> getChangesetList();
    6163     /**
     5974     *
    61645975     * <code>repeated sint64 changeset = 3 [packed = true];</code>
    6165      *
     5976     */
     5977    int getChangesetCount();
     5978    /**
    61665979     * <pre>
    61675980     * DELTA coded
    61685981     * </pre>
    6169      */
    6170     int getChangesetCount();
    6171     /**
     5982     *
    61725983     * <code>repeated sint64 changeset = 3 [packed = true];</code>
    6173      *
     5984     */
     5985    long getChangeset(int index);
     5986
     5987    /**
    61745988     * <pre>
    61755989     * DELTA coded
    61765990     * </pre>
    6177      */
    6178     long getChangeset(int index);
    6179 
    6180     /**
     5991     *
    61815992     * <code>repeated sint32 uid = 4 [packed = true];</code>
    6182      *
     5993     */
     5994    java.util.List<java.lang.Integer> getUidList();
     5995    /**
    61835996     * <pre>
    61845997     * DELTA coded
    61855998     * </pre>
    6186      */
    6187     java.util.List<java.lang.Integer> getUidList();
    6188     /**
     5999     *
    61896000     * <code>repeated sint32 uid = 4 [packed = true];</code>
    6190      *
     6001     */
     6002    int getUidCount();
     6003    /**
    61916004     * <pre>
    61926005     * DELTA coded
    61936006     * </pre>
    6194      */
    6195     int getUidCount();
    6196     /**
     6007     *
    61976008     * <code>repeated sint32 uid = 4 [packed = true];</code>
    6198      *
    6199      * <pre>
    6200      * DELTA coded
    6201      * </pre>
    62026009     */
    62036010    int getUid(int index);
    62046011
    62056012    /**
     6013     * <pre>
     6014     * String IDs for usernames. DELTA coded
     6015     * </pre>
     6016     *
    62066017     * <code>repeated sint32 user_sid = 5 [packed = true];</code>
    6207      *
     6018     */
     6019    java.util.List<java.lang.Integer> getUserSidList();
     6020    /**
    62086021     * <pre>
    62096022     * String IDs for usernames. DELTA coded
    62106023     * </pre>
    6211      */
    6212     java.util.List<java.lang.Integer> getUserSidList();
    6213     /**
     6024     *
    62146025     * <code>repeated sint32 user_sid = 5 [packed = true];</code>
    6215      *
     6026     */
     6027    int getUserSidCount();
     6028    /**
    62166029     * <pre>
    62176030     * String IDs for usernames. DELTA coded
    62186031     * </pre>
    6219      */
    6220     int getUserSidCount();
    6221     /**
     6032     *
    62226033     * <code>repeated sint32 user_sid = 5 [packed = true];</code>
    6223      *
    6224      * <pre>
    6225      * String IDs for usernames. DELTA coded
    6226      * </pre>
    62276034     */
    62286035    int getUserSid(int index);
    62296036
    62306037    /**
    6231      * <code>repeated bool visible = 6 [packed = true];</code>
    6232      *
    62336038     * <pre>
    62346039     * The visible flag is used to store history information. It indicates that
     
    62416046     * set.
    62426047     * </pre>
     6048     *
     6049     * <code>repeated bool visible = 6 [packed = true];</code>
    62436050     */
    62446051    java.util.List<java.lang.Boolean> getVisibleList();
    62456052    /**
    6246      * <code>repeated bool visible = 6 [packed = true];</code>
    6247      *
    62486053     * <pre>
    62496054     * The visible flag is used to store history information. It indicates that
     
    62566061     * set.
    62576062     * </pre>
     6063     *
     6064     * <code>repeated bool visible = 6 [packed = true];</code>
    62586065     */
    62596066    int getVisibleCount();
    62606067    /**
    6261      * <code>repeated bool visible = 6 [packed = true];</code>
    6262      *
    62636068     * <pre>
    62646069     * The visible flag is used to store history information. It indicates that
     
    62716076     * set.
    62726077     * </pre>
     6078     *
     6079     * <code>repeated bool visible = 6 [packed = true];</code>
    62736080     */
    62746081    boolean getVisible(int index);
    62756082  }
    62766083  /**
     6084   * <pre>
     6085   ** Optional metadata that may be included into each primitive. Special dense format used in DenseNodes.
     6086   * </pre>
     6087   *
    62776088   * Protobuf type {@code OSMPBF.DenseInfo}
    6278    *
    6279    * <pre>
    6280    ** Optional metadata that may be included into each primitive. Special dense format used in DenseNodes.
    6281    * </pre>
    62826089   */
    6283   public static final class DenseInfo extends
    6284       com.google.protobuf.GeneratedMessageLite implements
     6090  public  static final class DenseInfo extends
     6091      com.google.protobuf.GeneratedMessageLite<
     6092          DenseInfo, DenseInfo.Builder> implements
    62856093      // @@protoc_insertion_point(message_implements:OSMPBF.DenseInfo)
    62866094      DenseInfoOrBuilder {
    6287     // Use DenseInfo.newBuilder() to construct.
    6288     private DenseInfo(com.google.protobuf.GeneratedMessageLite.Builder builder) {
    6289       super(builder);
    6290       this.unknownFields = builder.getUnknownFields();
    6291     }
    6292     private DenseInfo(boolean noInit) { this.unknownFields = com.google.protobuf.ByteString.EMPTY;}
    6293 
    6294     private static final DenseInfo defaultInstance;
    6295     public static DenseInfo getDefaultInstance() {
    6296       return defaultInstance;
    6297     }
    6298 
    6299     @Override
    6300         public DenseInfo getDefaultInstanceForType() {
    6301       return defaultInstance;
    6302     }
    6303 
    6304     private final com.google.protobuf.ByteString unknownFields;
    6305     private DenseInfo(
    6306         com.google.protobuf.CodedInputStream input,
    6307         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    6308         throws com.google.protobuf.InvalidProtocolBufferException {
    6309       initFields();
    6310       int mutable_bitField0_ = 0;
    6311       com.google.protobuf.ByteString.Output unknownFieldsOutput =
    6312           com.google.protobuf.ByteString.newOutput();
    6313       com.google.protobuf.CodedOutputStream unknownFieldsCodedOutput =
    6314           com.google.protobuf.CodedOutputStream.newInstance(
    6315               unknownFieldsOutput);
    6316       try {
    6317         boolean done = false;
    6318         while (!done) {
    6319           int tag = input.readTag();
    6320           switch (tag) {
    6321             case 0:
    6322               done = true;
    6323               break;
    6324             default: {
    6325               if (!parseUnknownField(input, unknownFieldsCodedOutput,
    6326                                      extensionRegistry, tag)) {
    6327                 done = true;
    6328               }
    6329               break;
    6330             }
    6331             case 8: {
    6332               if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
    6333                 version_ = new java.util.ArrayList<>();
    6334                 mutable_bitField0_ |= 0x00000001;
    6335               }
    6336               version_.add(input.readInt32());
    6337               break;
    6338             }
    6339             case 10: {
    6340               int length = input.readRawVarint32();
    6341               int limit = input.pushLimit(length);
    6342               if (!((mutable_bitField0_ & 0x00000001) == 0x00000001) && input.getBytesUntilLimit() > 0) {
    6343                 version_ = new java.util.ArrayList<>();
    6344                 mutable_bitField0_ |= 0x00000001;
    6345               }
    6346               while (input.getBytesUntilLimit() > 0) {
    6347                 version_.add(input.readInt32());
    6348               }
    6349               input.popLimit(limit);
    6350               break;
    6351             }
    6352             case 16: {
    6353               if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
    6354                 timestamp_ = new java.util.ArrayList<>();
    6355                 mutable_bitField0_ |= 0x00000002;
    6356               }
    6357               timestamp_.add(input.readSInt64());
    6358               break;
    6359             }
    6360             case 18: {
    6361               int length = input.readRawVarint32();
    6362               int limit = input.pushLimit(length);
    6363               if (!((mutable_bitField0_ & 0x00000002) == 0x00000002) && input.getBytesUntilLimit() > 0) {
    6364                 timestamp_ = new java.util.ArrayList<>();
    6365                 mutable_bitField0_ |= 0x00000002;
    6366               }
    6367               while (input.getBytesUntilLimit() > 0) {
    6368                 timestamp_.add(input.readSInt64());
    6369               }
    6370               input.popLimit(limit);
    6371               break;
    6372             }
    6373             case 24: {
    6374               if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
    6375                 changeset_ = new java.util.ArrayList<>();
    6376                 mutable_bitField0_ |= 0x00000004;
    6377               }
    6378               changeset_.add(input.readSInt64());
    6379               break;
    6380             }
    6381             case 26: {
    6382               int length = input.readRawVarint32();
    6383               int limit = input.pushLimit(length);
    6384               if (!((mutable_bitField0_ & 0x00000004) == 0x00000004) && input.getBytesUntilLimit() > 0) {
    6385                 changeset_ = new java.util.ArrayList<>();
    6386                 mutable_bitField0_ |= 0x00000004;
    6387               }
    6388               while (input.getBytesUntilLimit() > 0) {
    6389                 changeset_.add(input.readSInt64());
    6390               }
    6391               input.popLimit(limit);
    6392               break;
    6393             }
    6394             case 32: {
    6395               if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
    6396                 uid_ = new java.util.ArrayList<>();
    6397                 mutable_bitField0_ |= 0x00000008;
    6398               }
    6399               uid_.add(input.readSInt32());
    6400               break;
    6401             }
    6402             case 34: {
    6403               int length = input.readRawVarint32();
    6404               int limit = input.pushLimit(length);
    6405               if (!((mutable_bitField0_ & 0x00000008) == 0x00000008) && input.getBytesUntilLimit() > 0) {
    6406                 uid_ = new java.util.ArrayList<>();
    6407                 mutable_bitField0_ |= 0x00000008;
    6408               }
    6409               while (input.getBytesUntilLimit() > 0) {
    6410                 uid_.add(input.readSInt32());
    6411               }
    6412               input.popLimit(limit);
    6413               break;
    6414             }
    6415             case 40: {
    6416               if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
    6417                 userSid_ = new java.util.ArrayList<>();
    6418                 mutable_bitField0_ |= 0x00000010;
    6419               }
    6420               userSid_.add(input.readSInt32());
    6421               break;
    6422             }
    6423             case 42: {
    6424               int length = input.readRawVarint32();
    6425               int limit = input.pushLimit(length);
    6426               if (!((mutable_bitField0_ & 0x00000010) == 0x00000010) && input.getBytesUntilLimit() > 0) {
    6427                 userSid_ = new java.util.ArrayList<>();
    6428                 mutable_bitField0_ |= 0x00000010;
    6429               }
    6430               while (input.getBytesUntilLimit() > 0) {
    6431                 userSid_.add(input.readSInt32());
    6432               }
    6433               input.popLimit(limit);
    6434               break;
    6435             }
    6436             case 48: {
    6437               if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
    6438                 visible_ = new java.util.ArrayList<>();
    6439                 mutable_bitField0_ |= 0x00000020;
    6440               }
    6441               visible_.add(input.readBool());
    6442               break;
    6443             }
    6444             case 50: {
    6445               int length = input.readRawVarint32();
    6446               int limit = input.pushLimit(length);
    6447               if (!((mutable_bitField0_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) {
    6448                 visible_ = new java.util.ArrayList<>();
    6449                 mutable_bitField0_ |= 0x00000020;
    6450               }
    6451               while (input.getBytesUntilLimit() > 0) {
    6452                 visible_.add(input.readBool());
    6453               }
    6454               input.popLimit(limit);
    6455               break;
    6456             }
    6457           }
    6458         }
    6459       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
    6460         throw e.setUnfinishedMessage(this);
    6461       } catch (java.io.IOException e) {
    6462         throw new com.google.protobuf.InvalidProtocolBufferException(
    6463             e.getMessage()).setUnfinishedMessage(this);
    6464       } finally {
    6465         if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
    6466           version_ = java.util.Collections.unmodifiableList(version_);
    6467         }
    6468         if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
    6469           timestamp_ = java.util.Collections.unmodifiableList(timestamp_);
    6470         }
    6471         if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
    6472           changeset_ = java.util.Collections.unmodifiableList(changeset_);
    6473         }
    6474         if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
    6475           uid_ = java.util.Collections.unmodifiableList(uid_);
    6476         }
    6477         if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
    6478           userSid_ = java.util.Collections.unmodifiableList(userSid_);
    6479         }
    6480         if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
    6481           visible_ = java.util.Collections.unmodifiableList(visible_);
    6482         }
    6483         try {
    6484           unknownFieldsCodedOutput.flush();
    6485         } catch (java.io.IOException e) {
    6486         // Should not happen
    6487         } finally {
    6488           unknownFields = unknownFieldsOutput.toByteString();
    6489         }
    6490         makeExtensionsImmutable();
    6491       }
    6492     }
    6493     public static com.google.protobuf.Parser<DenseInfo> PARSER =
    6494         new com.google.protobuf.AbstractParser<DenseInfo>() {
    6495       @Override
    6496         public DenseInfo parsePartialFrom(
    6497           com.google.protobuf.CodedInputStream input,
    6498           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    6499           throws com.google.protobuf.InvalidProtocolBufferException {
    6500         return new DenseInfo(input, extensionRegistry);
    6501       }
    6502     };
    6503 
    6504     @java.lang.Override
    6505     public com.google.protobuf.Parser<DenseInfo> getParserForType() {
    6506       return PARSER;
    6507     }
    6508 
     6095    private DenseInfo() {
     6096      version_ = emptyIntList();
     6097      timestamp_ = emptyLongList();
     6098      changeset_ = emptyLongList();
     6099      uid_ = emptyIntList();
     6100      userSid_ = emptyIntList();
     6101      visible_ = emptyBooleanList();
     6102    }
    65096103    public static final int VERSION_FIELD_NUMBER = 1;
    6510     private java.util.List<java.lang.Integer> version_;
     6104    private com.google.protobuf.Internal.IntList version_;
    65116105    /**
    65126106     * <code>repeated int32 version = 1 [packed = true];</code>
    65136107     */
    6514     @Override
    6515         public java.util.List<java.lang.Integer>
     6108    public java.util.List<java.lang.Integer>
    65166109        getVersionList() {
    65176110      return version_;
     
    65206113     * <code>repeated int32 version = 1 [packed = true];</code>
    65216114     */
    6522     @Override
    6523         public int getVersionCount() {
     6115    public int getVersionCount() {
    65246116      return version_.size();
    65256117    }
     
    65276119     * <code>repeated int32 version = 1 [packed = true];</code>
    65286120     */
    6529     @Override
    6530         public int getVersion(int index) {
    6531       return version_.get(index);
     6121    public int getVersion(int index) {
     6122      return version_.getInt(index);
    65326123    }
    65336124    private int versionMemoizedSerializedSize = -1;
     6125    private void ensureVersionIsMutable() {
     6126      if (!version_.isModifiable()) {
     6127        version_ =
     6128            com.google.protobuf.GeneratedMessageLite.mutableCopy(version_);
     6129       }
     6130    }
     6131    /**
     6132     * <code>repeated int32 version = 1 [packed = true];</code>
     6133     */
     6134    private void setVersion(
     6135        int index, int value) {
     6136      ensureVersionIsMutable();
     6137      version_.setInt(index, value);
     6138    }
     6139    /**
     6140     * <code>repeated int32 version = 1 [packed = true];</code>
     6141     */
     6142    private void addVersion(int value) {
     6143      ensureVersionIsMutable();
     6144      version_.addInt(value);
     6145    }
     6146    /**
     6147     * <code>repeated int32 version = 1 [packed = true];</code>
     6148     */
     6149    private void addAllVersion(
     6150        java.lang.Iterable<? extends java.lang.Integer> values) {
     6151      ensureVersionIsMutable();
     6152      com.google.protobuf.AbstractMessageLite.addAll(
     6153          values, version_);
     6154    }
     6155    /**
     6156     * <code>repeated int32 version = 1 [packed = true];</code>
     6157     */
     6158    private void clearVersion() {
     6159      version_ = emptyIntList();
     6160    }
    65346161
    65356162    public static final int TIMESTAMP_FIELD_NUMBER = 2;
    6536     private java.util.List<java.lang.Long> timestamp_;
    6537     /**
     6163    private com.google.protobuf.Internal.LongList timestamp_;
     6164    /**
     6165     * <pre>
     6166     * DELTA coded
     6167     * </pre>
     6168     *
    65386169     * <code>repeated sint64 timestamp = 2 [packed = true];</code>
    6539      *
    6540      * <pre>
    6541      * DELTA coded
    6542      * </pre>
    6543      */
    6544     @Override
    6545         public java.util.List<java.lang.Long>
     6170     */
     6171    public java.util.List<java.lang.Long>
    65466172        getTimestampList() {
    65476173      return timestamp_;
    65486174    }
    65496175    /**
     6176     * <pre>
     6177     * DELTA coded
     6178     * </pre>
     6179     *
    65506180     * <code>repeated sint64 timestamp = 2 [packed = true];</code>
    6551      *
     6181     */
     6182    public int getTimestampCount() {
     6183      return timestamp_.size();
     6184    }
     6185    /**
    65526186     * <pre>
    65536187     * DELTA coded
    65546188     * </pre>
    6555      */
    6556     @Override
    6557         public int getTimestampCount() {
    6558       return timestamp_.size();
    6559     }
    6560     /**
     6189     *
    65616190     * <code>repeated sint64 timestamp = 2 [packed = true];</code>
    6562      *
     6191     */
     6192    public long getTimestamp(int index) {
     6193      return timestamp_.getLong(index);
     6194    }
     6195    private int timestampMemoizedSerializedSize = -1;
     6196    private void ensureTimestampIsMutable() {
     6197      if (!timestamp_.isModifiable()) {
     6198        timestamp_ =
     6199            com.google.protobuf.GeneratedMessageLite.mutableCopy(timestamp_);
     6200       }
     6201    }
     6202    /**
    65636203     * <pre>
    65646204     * DELTA coded
    65656205     * </pre>
    6566      */
    6567     @Override
    6568         public long getTimestamp(int index) {
    6569       return timestamp_.get(index);
    6570     }
    6571     private int timestampMemoizedSerializedSize = -1;
     6206     *
     6207     * <code>repeated sint64 timestamp = 2 [packed = true];</code>
     6208     */
     6209    private void setTimestamp(
     6210        int index, long value) {
     6211      ensureTimestampIsMutable();
     6212      timestamp_.setLong(index, value);
     6213    }
     6214    /**
     6215     * <pre>
     6216     * DELTA coded
     6217     * </pre>
     6218     *
     6219     * <code>repeated sint64 timestamp = 2 [packed = true];</code>
     6220     */
     6221    private void addTimestamp(long value) {
     6222      ensureTimestampIsMutable();
     6223      timestamp_.addLong(value);
     6224    }
     6225    /**
     6226     * <pre>
     6227     * DELTA coded
     6228     * </pre>
     6229     *
     6230     * <code>repeated sint64 timestamp = 2 [packed = true];</code>
     6231     */
     6232    private void addAllTimestamp(
     6233        java.lang.Iterable<? extends java.lang.Long> values) {
     6234      ensureTimestampIsMutable();
     6235      com.google.protobuf.AbstractMessageLite.addAll(
     6236          values, timestamp_);
     6237    }
     6238    /**
     6239     * <pre>
     6240     * DELTA coded
     6241     * </pre>
     6242     *
     6243     * <code>repeated sint64 timestamp = 2 [packed = true];</code>
     6244     */
     6245    private void clearTimestamp() {
     6246      timestamp_ = emptyLongList();
     6247    }
    65726248
    65736249    public static final int CHANGESET_FIELD_NUMBER = 3;
    6574     private java.util.List<java.lang.Long> changeset_;
    6575     /**
     6250    private com.google.protobuf.Internal.LongList changeset_;
     6251    /**
     6252     * <pre>
     6253     * DELTA coded
     6254     * </pre>
     6255     *
    65766256     * <code>repeated sint64 changeset = 3 [packed = true];</code>
    6577      *
    6578      * <pre>
    6579      * DELTA coded
    6580      * </pre>
    6581      */
    6582     @Override
    6583         public java.util.List<java.lang.Long>
     6257     */
     6258    public java.util.List<java.lang.Long>
    65846259        getChangesetList() {
    65856260      return changeset_;
    65866261    }
    65876262    /**
     6263     * <pre>
     6264     * DELTA coded
     6265     * </pre>
     6266     *
    65886267     * <code>repeated sint64 changeset = 3 [packed = true];</code>
    6589      *
     6268     */
     6269    public int getChangesetCount() {
     6270      return changeset_.size();
     6271    }
     6272    /**
    65906273     * <pre>
    65916274     * DELTA coded
    65926275     * </pre>
    6593      */
    6594     @Override
    6595         public int getChangesetCount() {
    6596       return changeset_.size();
    6597     }
    6598     /**
     6276     *
    65996277     * <code>repeated sint64 changeset = 3 [packed = true];</code>
    6600      *
     6278     */
     6279    public long getChangeset(int index) {
     6280      return changeset_.getLong(index);
     6281    }
     6282    private int changesetMemoizedSerializedSize = -1;
     6283    private void ensureChangesetIsMutable() {
     6284      if (!changeset_.isModifiable()) {
     6285        changeset_ =
     6286            com.google.protobuf.GeneratedMessageLite.mutableCopy(changeset_);
     6287       }
     6288    }
     6289    /**
    66016290     * <pre>
    66026291     * DELTA coded
    66036292     * </pre>
    6604      */
    6605     @Override
    6606         public long getChangeset(int index) {
    6607       return changeset_.get(index);
    6608     }
    6609     private int changesetMemoizedSerializedSize = -1;
     6293     *
     6294     * <code>repeated sint64 changeset = 3 [packed = true];</code>
     6295     */
     6296    private void setChangeset(
     6297        int index, long value) {
     6298      ensureChangesetIsMutable();
     6299      changeset_.setLong(index, value);
     6300    }
     6301    /**
     6302     * <pre>
     6303     * DELTA coded
     6304     * </pre>
     6305     *
     6306     * <code>repeated sint64 changeset = 3 [packed = true];</code>
     6307     */
     6308    private void addChangeset(long value) {
     6309      ensureChangesetIsMutable();
     6310      changeset_.addLong(value);
     6311    }
     6312    /**
     6313     * <pre>
     6314     * DELTA coded
     6315     * </pre>
     6316     *
     6317     * <code>repeated sint64 changeset = 3 [packed = true];</code>
     6318     */
     6319    private void addAllChangeset(
     6320        java.lang.Iterable<? extends java.lang.Long> values) {
     6321      ensureChangesetIsMutable();
     6322      com.google.protobuf.AbstractMessageLite.addAll(
     6323          values, changeset_);
     6324    }
     6325    /**
     6326     * <pre>
     6327     * DELTA coded
     6328     * </pre>
     6329     *
     6330     * <code>repeated sint64 changeset = 3 [packed = true];</code>
     6331     */
     6332    private void clearChangeset() {
     6333      changeset_ = emptyLongList();
     6334    }
    66106335
    66116336    public static final int UID_FIELD_NUMBER = 4;
    6612     private java.util.List<java.lang.Integer> uid_;
    6613     /**
     6337    private com.google.protobuf.Internal.IntList uid_;
     6338    /**
     6339     * <pre>
     6340     * DELTA coded
     6341     * </pre>
     6342     *
    66146343     * <code>repeated sint32 uid = 4 [packed = true];</code>
    6615      *
    6616      * <pre>
    6617      * DELTA coded
    6618      * </pre>
    6619      */
    6620     @Override
    6621         public java.util.List<java.lang.Integer>
     6344     */
     6345    public java.util.List<java.lang.Integer>
    66226346        getUidList() {
    66236347      return uid_;
    66246348    }
    66256349    /**
     6350     * <pre>
     6351     * DELTA coded
     6352     * </pre>
     6353     *
    66266354     * <code>repeated sint32 uid = 4 [packed = true];</code>
    6627      *
     6355     */
     6356    public int getUidCount() {
     6357      return uid_.size();
     6358    }
     6359    /**
    66286360     * <pre>
    66296361     * DELTA coded
    66306362     * </pre>
    6631      */
    6632     @Override
    6633         public int getUidCount() {
    6634       return uid_.size();
    6635     }
    6636     /**
     6363     *
    66376364     * <code>repeated sint32 uid = 4 [packed = true];</code>
    6638      *
     6365     */
     6366    public int getUid(int index) {
     6367      return uid_.getInt(index);
     6368    }
     6369    private int uidMemoizedSerializedSize = -1;
     6370    private void ensureUidIsMutable() {
     6371      if (!uid_.isModifiable()) {
     6372        uid_ =
     6373            com.google.protobuf.GeneratedMessageLite.mutableCopy(uid_);
     6374       }
     6375    }
     6376    /**
    66396377     * <pre>
    66406378     * DELTA coded
    66416379     * </pre>
    6642      */
    6643     @Override
    6644         public int getUid(int index) {
    6645       return uid_.get(index);
    6646     }
    6647     private int uidMemoizedSerializedSize = -1;
     6380     *
     6381     * <code>repeated sint32 uid = 4 [packed = true];</code>
     6382     */
     6383    private void setUid(
     6384        int index, int value) {
     6385      ensureUidIsMutable();
     6386      uid_.setInt(index, value);
     6387    }
     6388    /**
     6389     * <pre>
     6390     * DELTA coded
     6391     * </pre>
     6392     *
     6393     * <code>repeated sint32 uid = 4 [packed = true];</code>
     6394     */
     6395    private void addUid(int value) {
     6396      ensureUidIsMutable();
     6397      uid_.addInt(value);
     6398    }
     6399    /**
     6400     * <pre>
     6401     * DELTA coded
     6402     * </pre>
     6403     *
     6404     * <code>repeated sint32 uid = 4 [packed = true];</code>
     6405     */
     6406    private void addAllUid(
     6407        java.lang.Iterable<? extends java.lang.Integer> values) {
     6408      ensureUidIsMutable();
     6409      com.google.protobuf.AbstractMessageLite.addAll(
     6410          values, uid_);
     6411    }
     6412    /**
     6413     * <pre>
     6414     * DELTA coded
     6415     * </pre>
     6416     *
     6417     * <code>repeated sint32 uid = 4 [packed = true];</code>
     6418     */
     6419    private void clearUid() {
     6420      uid_ = emptyIntList();
     6421    }
    66486422
    66496423    public static final int USER_SID_FIELD_NUMBER = 5;
    6650     private java.util.List<java.lang.Integer> userSid_;
    6651     /**
     6424    private com.google.protobuf.Internal.IntList userSid_;
     6425    /**
     6426     * <pre>
     6427     * String IDs for usernames. DELTA coded
     6428     * </pre>
     6429     *
    66526430     * <code>repeated sint32 user_sid = 5 [packed = true];</code>
    6653      *
    6654      * <pre>
    6655      * String IDs for usernames. DELTA coded
    6656      * </pre>
    6657      */
    6658     @Override
    6659         public java.util.List<java.lang.Integer>
     6431     */
     6432    public java.util.List<java.lang.Integer>
    66606433        getUserSidList() {
    66616434      return userSid_;
    66626435    }
    66636436    /**
     6437     * <pre>
     6438     * String IDs for usernames. DELTA coded
     6439     * </pre>
     6440     *
    66646441     * <code>repeated sint32 user_sid = 5 [packed = true];</code>
    6665      *
     6442     */
     6443    public int getUserSidCount() {
     6444      return userSid_.size();
     6445    }
     6446    /**
    66666447     * <pre>
    66676448     * String IDs for usernames. DELTA coded
    66686449     * </pre>
    6669      */
    6670     @Override
    6671         public int getUserSidCount() {
    6672       return userSid_.size();
    6673     }
    6674     /**
     6450     *
    66756451     * <code>repeated sint32 user_sid = 5 [packed = true];</code>
    6676      *
     6452     */
     6453    public int getUserSid(int index) {
     6454      return userSid_.getInt(index);
     6455    }
     6456    private int userSidMemoizedSerializedSize = -1;
     6457    private void ensureUserSidIsMutable() {
     6458      if (!userSid_.isModifiable()) {
     6459        userSid_ =
     6460            com.google.protobuf.GeneratedMessageLite.mutableCopy(userSid_);
     6461       }
     6462    }
     6463    /**
    66776464     * <pre>
    66786465     * String IDs for usernames. DELTA coded
    66796466     * </pre>
    6680      */
    6681     @Override
    6682         public int getUserSid(int index) {
    6683       return userSid_.get(index);
    6684     }
    6685     private int userSidMemoizedSerializedSize = -1;
     6467     *
     6468     * <code>repeated sint32 user_sid = 5 [packed = true];</code>
     6469     */
     6470    private void setUserSid(
     6471        int index, int value) {
     6472      ensureUserSidIsMutable();
     6473      userSid_.setInt(index, value);
     6474    }
     6475    /**
     6476     * <pre>
     6477     * String IDs for usernames. DELTA coded
     6478     * </pre>
     6479     *
     6480     * <code>repeated sint32 user_sid = 5 [packed = true];</code>
     6481     */
     6482    private void addUserSid(int value) {
     6483      ensureUserSidIsMutable();
     6484      userSid_.addInt(value);
     6485    }
     6486    /**
     6487     * <pre>
     6488     * String IDs for usernames. DELTA coded
     6489     * </pre>
     6490     *
     6491     * <code>repeated sint32 user_sid = 5 [packed = true];</code>
     6492     */
     6493    private void addAllUserSid(
     6494        java.lang.Iterable<? extends java.lang.Integer> values) {
     6495      ensureUserSidIsMutable();
     6496      com.google.protobuf.AbstractMessageLite.addAll(
     6497          values, userSid_);
     6498    }
     6499    /**
     6500     * <pre>
     6501     * String IDs for usernames. DELTA coded
     6502     * </pre>
     6503     *
     6504     * <code>repeated sint32 user_sid = 5 [packed = true];</code>
     6505     */
     6506    private void clearUserSid() {
     6507      userSid_ = emptyIntList();
     6508    }
    66866509
    66876510    public static final int VISIBLE_FIELD_NUMBER = 6;
    6688     private java.util.List<java.lang.Boolean> visible_;
    6689     /**
    6690      * <code>repeated bool visible = 6 [packed = true];</code>
    6691      *
     6511    private com.google.protobuf.Internal.BooleanList visible_;
     6512    /**
    66926513     * <pre>
    66936514     * The visible flag is used to store history information. It indicates that
     
    67006521     * set.
    67016522     * </pre>
    6702      */
    6703     @Override
    6704         public java.util.List<java.lang.Boolean>
     6523     *
     6524     * <code>repeated bool visible = 6 [packed = true];</code>
     6525     */
     6526    public java.util.List<java.lang.Boolean>
    67056527        getVisibleList() {
    67066528      return visible_;
    67076529    }
    67086530    /**
    6709      * <code>repeated bool visible = 6 [packed = true];</code>
    6710      *
    67116531     * <pre>
    67126532     * The visible flag is used to store history information. It indicates that
     
    67196539     * set.
    67206540     * </pre>
    6721      */
    6722     @Override
    6723         public int getVisibleCount() {
     6541     *
     6542     * <code>repeated bool visible = 6 [packed = true];</code>
     6543     */
     6544    public int getVisibleCount() {
    67246545      return visible_.size();
    67256546    }
    67266547    /**
    6727      * <code>repeated bool visible = 6 [packed = true];</code>
    6728      *
    67296548     * <pre>
    67306549     * The visible flag is used to store history information. It indicates that
     
    67376556     * set.
    67386557     * </pre>
    6739      */
    6740     @Override
    6741         public boolean getVisible(int index) {
    6742       return visible_.get(index);
     6558     *
     6559     * <code>repeated bool visible = 6 [packed = true];</code>
     6560     */
     6561    public boolean getVisible(int index) {
     6562      return visible_.getBoolean(index);
    67436563    }
    67446564    private int visibleMemoizedSerializedSize = -1;
    6745 
    6746     private void initFields() {
    6747       version_ = java.util.Collections.emptyList();
    6748       timestamp_ = java.util.Collections.emptyList();
    6749       changeset_ = java.util.Collections.emptyList();
    6750       uid_ = java.util.Collections.emptyList();
    6751       userSid_ = java.util.Collections.emptyList();
    6752       visible_ = java.util.Collections.emptyList();
    6753     }
    6754     private byte memoizedIsInitialized = -1;
    6755     @Override
    6756         public final boolean isInitialized() {
    6757       byte isInitialized = memoizedIsInitialized;
    6758       if (isInitialized == 1) return true;
    6759       if (isInitialized == 0) return false;
    6760 
    6761       memoizedIsInitialized = 1;
    6762       return true;
    6763     }
    6764 
    6765     @Override
    6766         public void writeTo(com.google.protobuf.CodedOutputStream output)
     6565    private void ensureVisibleIsMutable() {
     6566      if (!visible_.isModifiable()) {
     6567        visible_ =
     6568            com.google.protobuf.GeneratedMessageLite.mutableCopy(visible_);
     6569       }
     6570    }
     6571    /**
     6572     * <pre>
     6573     * The visible flag is used to store history information. It indicates that
     6574     * the current object version has been created by a delete operation on the
     6575     * OSM API.
     6576     * When a writer sets this flag, it MUST add a required_features tag with
     6577     * value "HistoricalInformation" to the HeaderBlock.
     6578     * If this flag is not available for some object it MUST be assumed to be
     6579     * true if the file has the required_features tag "HistoricalInformation"
     6580     * set.
     6581     * </pre>
     6582     *
     6583     * <code>repeated bool visible = 6 [packed = true];</code>
     6584     */
     6585    private void setVisible(
     6586        int index, boolean value) {
     6587      ensureVisibleIsMutable();
     6588      visible_.setBoolean(index, value);
     6589    }
     6590    /**
     6591     * <pre>
     6592     * The visible flag is used to store history information. It indicates that
     6593     * the current object version has been created by a delete operation on the
     6594     * OSM API.
     6595     * When a writer sets this flag, it MUST add a required_features tag with
     6596     * value "HistoricalInformation" to the HeaderBlock.
     6597     * If this flag is not available for some object it MUST be assumed to be
     6598     * true if the file has the required_features tag "HistoricalInformation"
     6599     * set.
     6600     * </pre>
     6601     *
     6602     * <code>repeated bool visible = 6 [packed = true];</code>
     6603     */
     6604    private void addVisible(boolean value) {
     6605      ensureVisibleIsMutable();
     6606      visible_.addBoolean(value);
     6607    }
     6608    /**
     6609     * <pre>
     6610     * The visible flag is used to store history information. It indicates that
     6611     * the current object version has been created by a delete operation on the
     6612     * OSM API.
     6613     * When a writer sets this flag, it MUST add a required_features tag with
     6614     * value "HistoricalInformation" to the HeaderBlock.
     6615     * If this flag is not available for some object it MUST be assumed to be
     6616     * true if the file has the required_features tag "HistoricalInformation"
     6617     * set.
     6618     * </pre>
     6619     *
     6620     * <code>repeated bool visible = 6 [packed = true];</code>
     6621     */
     6622    private void addAllVisible(
     6623        java.lang.Iterable<? extends java.lang.Boolean> values) {
     6624      ensureVisibleIsMutable();
     6625      com.google.protobuf.AbstractMessageLite.addAll(
     6626          values, visible_);
     6627    }
     6628    /**
     6629     * <pre>
     6630     * The visible flag is used to store history information. It indicates that
     6631     * the current object version has been created by a delete operation on the
     6632     * OSM API.
     6633     * When a writer sets this flag, it MUST add a required_features tag with
     6634     * value "HistoricalInformation" to the HeaderBlock.
     6635     * If this flag is not available for some object it MUST be assumed to be
     6636     * true if the file has the required_features tag "HistoricalInformation"
     6637     * set.
     6638     * </pre>
     6639     *
     6640     * <code>repeated bool visible = 6 [packed = true];</code>
     6641     */
     6642    private void clearVisible() {
     6643      visible_ = emptyBooleanList();
     6644    }
     6645
     6646    public void writeTo(com.google.protobuf.CodedOutputStream output)
    67676647                        throws java.io.IOException {
    67686648      getSerializedSize();
    67696649      if (getVersionList().size() > 0) {
    6770         output.writeRawVarint32(10);
    6771         output.writeRawVarint32(versionMemoizedSerializedSize);
     6650        output.writeUInt32NoTag(10);
     6651        output.writeUInt32NoTag(versionMemoizedSerializedSize);
    67726652      }
    67736653      for (int i = 0; i < version_.size(); i++) {
    6774         output.writeInt32NoTag(version_.get(i));
     6654        output.writeInt32NoTag(version_.getInt(i));
    67756655      }
    67766656      if (getTimestampList().size() > 0) {
    6777         output.writeRawVarint32(18);
    6778         output.writeRawVarint32(timestampMemoizedSerializedSize);
     6657        output.writeUInt32NoTag(18);
     6658        output.writeUInt32NoTag(timestampMemoizedSerializedSize);
    67796659      }
    67806660      for (int i = 0; i < timestamp_.size(); i++) {
    6781         output.writeSInt64NoTag(timestamp_.get(i));
     6661        output.writeSInt64NoTag(timestamp_.getLong(i));
    67826662      }
    67836663      if (getChangesetList().size() > 0) {
    6784         output.writeRawVarint32(26);
    6785         output.writeRawVarint32(changesetMemoizedSerializedSize);
     6664        output.writeUInt32NoTag(26);
     6665        output.writeUInt32NoTag(changesetMemoizedSerializedSize);
    67866666      }
    67876667      for (int i = 0; i < changeset_.size(); i++) {
    6788         output.writeSInt64NoTag(changeset_.get(i));
     6668        output.writeSInt64NoTag(changeset_.getLong(i));
    67896669      }
    67906670      if (getUidList().size() > 0) {
    6791         output.writeRawVarint32(34);
    6792         output.writeRawVarint32(uidMemoizedSerializedSize);
     6671        output.writeUInt32NoTag(34);
     6672        output.writeUInt32NoTag(uidMemoizedSerializedSize);
    67936673      }
    67946674      for (int i = 0; i < uid_.size(); i++) {
    6795         output.writeSInt32NoTag(uid_.get(i));
     6675        output.writeSInt32NoTag(uid_.getInt(i));
    67966676      }
    67976677      if (getUserSidList().size() > 0) {
    6798         output.writeRawVarint32(42);
    6799         output.writeRawVarint32(userSidMemoizedSerializedSize);
     6678        output.writeUInt32NoTag(42);
     6679        output.writeUInt32NoTag(userSidMemoizedSerializedSize);
    68006680      }
    68016681      for (int i = 0; i < userSid_.size(); i++) {
    6802         output.writeSInt32NoTag(userSid_.get(i));
     6682        output.writeSInt32NoTag(userSid_.getInt(i));
    68036683      }
    68046684      if (getVisibleList().size() > 0) {
    6805         output.writeRawVarint32(50);
    6806         output.writeRawVarint32(visibleMemoizedSerializedSize);
     6685        output.writeUInt32NoTag(50);
     6686        output.writeUInt32NoTag(visibleMemoizedSerializedSize);
    68076687      }
    68086688      for (int i = 0; i < visible_.size(); i++) {
    6809         output.writeBoolNoTag(visible_.get(i));
    6810       }
    6811       output.writeRawBytes(unknownFields);
    6812     }
    6813 
    6814     private int memoizedSerializedSize = -1;
    6815     @Override
    6816         public int getSerializedSize() {
     6689        output.writeBoolNoTag(visible_.getBoolean(i));
     6690      }
     6691      unknownFields.writeTo(output);
     6692    }
     6693
     6694    public int getSerializedSize() {
    68176695      int size = memoizedSerializedSize;
    68186696      if (size != -1) return size;
     
    68236701        for (int i = 0; i < version_.size(); i++) {
    68246702          dataSize += com.google.protobuf.CodedOutputStream
    6825             .computeInt32SizeNoTag(version_.get(i));
     6703            .computeInt32SizeNoTag(version_.getInt(i));
    68266704        }
    68276705        size += dataSize;
     
    68376715        for (int i = 0; i < timestamp_.size(); i++) {
    68386716          dataSize += com.google.protobuf.CodedOutputStream
    6839             .computeSInt64SizeNoTag(timestamp_.get(i));
     6717            .computeSInt64SizeNoTag(timestamp_.getLong(i));
    68406718        }
    68416719        size += dataSize;
     
    68516729        for (int i = 0; i < changeset_.size(); i++) {
    68526730          dataSize += com.google.protobuf.CodedOutputStream
    6853             .computeSInt64SizeNoTag(changeset_.get(i));
     6731            .computeSInt64SizeNoTag(changeset_.getLong(i));
    68546732        }
    68556733        size += dataSize;
     
    68656743        for (int i = 0; i < uid_.size(); i++) {
    68666744          dataSize += com.google.protobuf.CodedOutputStream
    6867             .computeSInt32SizeNoTag(uid_.get(i));
     6745            .computeSInt32SizeNoTag(uid_.getInt(i));
    68686746        }
    68696747        size += dataSize;
     
    68796757        for (int i = 0; i < userSid_.size(); i++) {
    68806758          dataSize += com.google.protobuf.CodedOutputStream
    6881             .computeSInt32SizeNoTag(userSid_.get(i));
     6759            .computeSInt32SizeNoTag(userSid_.getInt(i));
    68826760        }
    68836761        size += dataSize;
     
    69006778        visibleMemoizedSerializedSize = dataSize;
    69016779      }
    6902       size += unknownFields.size();
     6780      size += unknownFields.getSerializedSize();
    69036781      memoizedSerializedSize = size;
    69046782      return size;
    69056783    }
    69066784
    6907     private static final long serialVersionUID = 0L;
    6908     @java.lang.Override
    6909     protected java.lang.Object writeReplace()
    6910         throws java.io.ObjectStreamException {
    6911       return super.writeReplace();
    6912     }
    6913 
     6785    public static crosby.binary.Osmformat.DenseInfo parseFrom(
     6786        java.nio.ByteBuffer data)
     6787        throws com.google.protobuf.InvalidProtocolBufferException {
     6788      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     6789          DEFAULT_INSTANCE, data);
     6790    }
     6791    public static crosby.binary.Osmformat.DenseInfo parseFrom(
     6792        java.nio.ByteBuffer data,
     6793        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     6794        throws com.google.protobuf.InvalidProtocolBufferException {
     6795      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     6796          DEFAULT_INSTANCE, data, extensionRegistry);
     6797    }
    69146798    public static crosby.binary.Osmformat.DenseInfo parseFrom(
    69156799        com.google.protobuf.ByteString data)
    69166800        throws com.google.protobuf.InvalidProtocolBufferException {
    6917       return PARSER.parseFrom(data);
     6801      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     6802          DEFAULT_INSTANCE, data);
    69186803    }
    69196804    public static crosby.binary.Osmformat.DenseInfo parseFrom(
     
    69216806        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    69226807        throws com.google.protobuf.InvalidProtocolBufferException {
    6923       return PARSER.parseFrom(data, extensionRegistry);
     6808      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     6809          DEFAULT_INSTANCE, data, extensionRegistry);
    69246810    }
    69256811    public static crosby.binary.Osmformat.DenseInfo parseFrom(byte[] data)
    69266812        throws com.google.protobuf.InvalidProtocolBufferException {
    6927       return PARSER.parseFrom(data);
     6813      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     6814          DEFAULT_INSTANCE, data);
    69286815    }
    69296816    public static crosby.binary.Osmformat.DenseInfo parseFrom(
     
    69316818        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    69326819        throws com.google.protobuf.InvalidProtocolBufferException {
    6933       return PARSER.parseFrom(data, extensionRegistry);
     6820      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     6821          DEFAULT_INSTANCE, data, extensionRegistry);
    69346822    }
    69356823    public static crosby.binary.Osmformat.DenseInfo parseFrom(java.io.InputStream input)
    69366824        throws java.io.IOException {
    6937       return PARSER.parseFrom(input);
     6825      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     6826          DEFAULT_INSTANCE, input);
    69386827    }
    69396828    public static crosby.binary.Osmformat.DenseInfo parseFrom(
     
    69416830        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    69426831        throws java.io.IOException {
    6943       return PARSER.parseFrom(input, extensionRegistry);
     6832      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     6833          DEFAULT_INSTANCE, input, extensionRegistry);
    69446834    }
    69456835    public static crosby.binary.Osmformat.DenseInfo parseDelimitedFrom(java.io.InputStream input)
    69466836        throws java.io.IOException {
    6947       return PARSER.parseDelimitedFrom(input);
     6837      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    69486838    }
    69496839    public static crosby.binary.Osmformat.DenseInfo parseDelimitedFrom(
     
    69516841        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    69526842        throws java.io.IOException {
    6953       return PARSER.parseDelimitedFrom(input, extensionRegistry);
     6843      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    69546844    }
    69556845    public static crosby.binary.Osmformat.DenseInfo parseFrom(
    69566846        com.google.protobuf.CodedInputStream input)
    69576847        throws java.io.IOException {
    6958       return PARSER.parseFrom(input);
     6848      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     6849          DEFAULT_INSTANCE, input);
    69596850    }
    69606851    public static crosby.binary.Osmformat.DenseInfo parseFrom(
     
    69626853        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    69636854        throws java.io.IOException {
    6964       return PARSER.parseFrom(input, extensionRegistry);
    6965     }
    6966 
    6967     public static Builder newBuilder() { return Builder.create(); }
    6968     @Override
    6969         public Builder newBuilderForType() { return newBuilder(); }
     6855      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     6856          DEFAULT_INSTANCE, input, extensionRegistry);
     6857    }
     6858
     6859    public static Builder newBuilder() {
     6860      return DEFAULT_INSTANCE.toBuilder();
     6861    }
    69706862    public static Builder newBuilder(crosby.binary.Osmformat.DenseInfo prototype) {
    6971       return newBuilder().mergeFrom(prototype);
    6972     }
    6973     @Override
    6974         public Builder toBuilder() { return newBuilder(this); }
    6975 
    6976     /**
     6863      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     6864    }
     6865
     6866    /**
     6867     * <pre>
     6868     ** Optional metadata that may be included into each primitive. Special dense format used in DenseNodes.
     6869     * </pre>
     6870     *
    69776871     * Protobuf type {@code OSMPBF.DenseInfo}
    6978      *
    6979      * <pre>
    6980      ** Optional metadata that may be included into each primitive. Special dense format used in DenseNodes.
    6981      * </pre>
    69826872     */
    69836873    public static final class Builder extends
    69846874        com.google.protobuf.GeneratedMessageLite.Builder<
    6985           crosby.binary.Osmformat.DenseInfo, Builder>
    6986         implements
     6875          crosby.binary.Osmformat.DenseInfo, Builder> implements
    69876876        // @@protoc_insertion_point(builder_implements:OSMPBF.DenseInfo)
    69886877        crosby.binary.Osmformat.DenseInfoOrBuilder {
    69896878      // Construct using crosby.binary.Osmformat.DenseInfo.newBuilder()
    69906879      private Builder() {
    6991         maybeForceBuilderInitialization();
    6992       }
    6993 
    6994       private void maybeForceBuilderInitialization() {
    6995       }
    6996       private static Builder create() {
    6997         return new Builder();
    6998       }
    6999 
    7000       @Override
    7001         public Builder clear() {
    7002         super.clear();
    7003         version_ = java.util.Collections.emptyList();
    7004         bitField0_ = (bitField0_ & ~0x00000001);
    7005         timestamp_ = java.util.Collections.emptyList();
    7006         bitField0_ = (bitField0_ & ~0x00000002);
    7007         changeset_ = java.util.Collections.emptyList();
    7008         bitField0_ = (bitField0_ & ~0x00000004);
    7009         uid_ = java.util.Collections.emptyList();
    7010         bitField0_ = (bitField0_ & ~0x00000008);
    7011         userSid_ = java.util.Collections.emptyList();
    7012         bitField0_ = (bitField0_ & ~0x00000010);
    7013         visible_ = java.util.Collections.emptyList();
    7014         bitField0_ = (bitField0_ & ~0x00000020);
    7015         return this;
    7016       }
    7017 
    7018       @Override
    7019         public Builder clone() {
    7020         return create().mergeFrom(buildPartial());
    7021       }
    7022 
    7023       @Override
    7024         public crosby.binary.Osmformat.DenseInfo getDefaultInstanceForType() {
    7025         return crosby.binary.Osmformat.DenseInfo.getDefaultInstance();
    7026       }
    7027 
    7028       @Override
    7029         public crosby.binary.Osmformat.DenseInfo build() {
    7030         crosby.binary.Osmformat.DenseInfo result = buildPartial();
    7031         if (!result.isInitialized()) {
    7032           throw newUninitializedMessageException(result);
    7033         }
    7034         return result;
    7035       }
    7036 
    7037       @Override
    7038         public crosby.binary.Osmformat.DenseInfo buildPartial() {
    7039         crosby.binary.Osmformat.DenseInfo result = new crosby.binary.Osmformat.DenseInfo(this);
    7040         int from_bitField0_ = bitField0_;
    7041         if (((bitField0_ & 0x00000001) == 0x00000001)) {
    7042           version_ = java.util.Collections.unmodifiableList(version_);
    7043           bitField0_ = (bitField0_ & ~0x00000001);
    7044         }
    7045         result.version_ = version_;
    7046         if (((bitField0_ & 0x00000002) == 0x00000002)) {
    7047           timestamp_ = java.util.Collections.unmodifiableList(timestamp_);
    7048           bitField0_ = (bitField0_ & ~0x00000002);
    7049         }
    7050         result.timestamp_ = timestamp_;
    7051         if (((bitField0_ & 0x00000004) == 0x00000004)) {
    7052           changeset_ = java.util.Collections.unmodifiableList(changeset_);
    7053           bitField0_ = (bitField0_ & ~0x00000004);
    7054         }
    7055         result.changeset_ = changeset_;
    7056         if (((bitField0_ & 0x00000008) == 0x00000008)) {
    7057           uid_ = java.util.Collections.unmodifiableList(uid_);
    7058           bitField0_ = (bitField0_ & ~0x00000008);
    7059         }
    7060         result.uid_ = uid_;
    7061         if (((bitField0_ & 0x00000010) == 0x00000010)) {
    7062           userSid_ = java.util.Collections.unmodifiableList(userSid_);
    7063           bitField0_ = (bitField0_ & ~0x00000010);
    7064         }
    7065         result.userSid_ = userSid_;
    7066         if (((bitField0_ & 0x00000020) == 0x00000020)) {
    7067           visible_ = java.util.Collections.unmodifiableList(visible_);
    7068           bitField0_ = (bitField0_ & ~0x00000020);
    7069         }
    7070         result.visible_ = visible_;
    7071         return result;
    7072       }
    7073 
    7074       @Override
    7075         public Builder mergeFrom(crosby.binary.Osmformat.DenseInfo other) {
    7076         if (other == crosby.binary.Osmformat.DenseInfo.getDefaultInstance()) return this;
    7077         if (!other.version_.isEmpty()) {
    7078           if (version_.isEmpty()) {
    7079             version_ = other.version_;
    7080             bitField0_ = (bitField0_ & ~0x00000001);
    7081           } else {
    7082             ensureVersionIsMutable();
    7083             version_.addAll(other.version_);
    7084           }
    7085 
    7086         }
    7087         if (!other.timestamp_.isEmpty()) {
    7088           if (timestamp_.isEmpty()) {
    7089             timestamp_ = other.timestamp_;
    7090             bitField0_ = (bitField0_ & ~0x00000002);
    7091           } else {
    7092             ensureTimestampIsMutable();
    7093             timestamp_.addAll(other.timestamp_);
    7094           }
    7095 
    7096         }
    7097         if (!other.changeset_.isEmpty()) {
    7098           if (changeset_.isEmpty()) {
    7099             changeset_ = other.changeset_;
    7100             bitField0_ = (bitField0_ & ~0x00000004);
    7101           } else {
    7102             ensureChangesetIsMutable();
    7103             changeset_.addAll(other.changeset_);
    7104           }
    7105 
    7106         }
    7107         if (!other.uid_.isEmpty()) {
    7108           if (uid_.isEmpty()) {
    7109             uid_ = other.uid_;
    7110             bitField0_ = (bitField0_ & ~0x00000008);
    7111           } else {
    7112             ensureUidIsMutable();
    7113             uid_.addAll(other.uid_);
    7114           }
    7115 
    7116         }
    7117         if (!other.userSid_.isEmpty()) {
    7118           if (userSid_.isEmpty()) {
    7119             userSid_ = other.userSid_;
    7120             bitField0_ = (bitField0_ & ~0x00000010);
    7121           } else {
    7122             ensureUserSidIsMutable();
    7123             userSid_.addAll(other.userSid_);
    7124           }
    7125 
    7126         }
    7127         if (!other.visible_.isEmpty()) {
    7128           if (visible_.isEmpty()) {
    7129             visible_ = other.visible_;
    7130             bitField0_ = (bitField0_ & ~0x00000020);
    7131           } else {
    7132             ensureVisibleIsMutable();
    7133             visible_.addAll(other.visible_);
    7134           }
    7135 
    7136         }
    7137         setUnknownFields(
    7138             getUnknownFields().concat(other.unknownFields));
    7139         return this;
    7140       }
    7141 
    7142       @Override
    7143         public final boolean isInitialized() {
    7144         return true;
    7145       }
    7146 
    7147       @Override
    7148         public Builder mergeFrom(
    7149           com.google.protobuf.CodedInputStream input,
    7150           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    7151           throws java.io.IOException {
    7152         crosby.binary.Osmformat.DenseInfo parsedMessage = null;
    7153         try {
    7154           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
    7155         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
    7156           parsedMessage = (crosby.binary.Osmformat.DenseInfo) e.getUnfinishedMessage();
    7157           throw e;
    7158         } finally {
    7159           if (parsedMessage != null) {
    7160             mergeFrom(parsedMessage);
    7161           }
    7162         }
    7163         return this;
    7164       }
    7165       private int bitField0_;
    7166 
    7167       private java.util.List<java.lang.Integer> version_ = java.util.Collections.emptyList();
    7168       private void ensureVersionIsMutable() {
    7169         if (!((bitField0_ & 0x00000001) == 0x00000001)) {
    7170           version_ = new java.util.ArrayList<>(version_);
    7171           bitField0_ |= 0x00000001;
    7172          }
    7173       }
     6880        super(DEFAULT_INSTANCE);
     6881      }
     6882
     6883
    71746884      /**
    71756885       * <code>repeated int32 version = 1 [packed = true];</code>
    71766886       */
    7177       @Override
    7178         public java.util.List<java.lang.Integer>
     6887      public java.util.List<java.lang.Integer>
    71796888          getVersionList() {
    7180         return java.util.Collections.unmodifiableList(version_);
     6889        return java.util.Collections.unmodifiableList(
     6890            instance.getVersionList());
    71816891      }
    71826892      /**
    71836893       * <code>repeated int32 version = 1 [packed = true];</code>
    71846894       */
    7185       @Override
    7186         public int getVersionCount() {
    7187         return version_.size();
     6895      public int getVersionCount() {
     6896        return instance.getVersionCount();
    71886897      }
    71896898      /**
    71906899       * <code>repeated int32 version = 1 [packed = true];</code>
    71916900       */
    7192       @Override
    7193         public int getVersion(int index) {
    7194         return version_.get(index);
     6901      public int getVersion(int index) {
     6902        return instance.getVersion(index);
    71956903      }
    71966904      /**
     
    71996907      public Builder setVersion(
    72006908          int index, int value) {
    7201         ensureVersionIsMutable();
    7202         version_.set(index, value);
    7203 
     6909        copyOnWrite();
     6910        instance.setVersion(index, value);
    72046911        return this;
    72056912      }
     
    72086915       */
    72096916      public Builder addVersion(int value) {
    7210         ensureVersionIsMutable();
    7211         version_.add(value);
    7212 
     6917        copyOnWrite();
     6918        instance.addVersion(value);
    72136919        return this;
    72146920      }
     
    72186924      public Builder addAllVersion(
    72196925          java.lang.Iterable<? extends java.lang.Integer> values) {
    7220         ensureVersionIsMutable();
    7221         com.google.protobuf.AbstractMessageLite.Builder.addAll(
    7222             values, version_);
    7223 
     6926        copyOnWrite();
     6927        instance.addAllVersion(values);
    72246928        return this;
    72256929      }
     
    72286932       */
    72296933      public Builder clearVersion() {
    7230         version_ = java.util.Collections.emptyList();
    7231         bitField0_ = (bitField0_ & ~0x00000001);
    7232 
    7233         return this;
    7234       }
    7235 
    7236       private java.util.List<java.lang.Long> timestamp_ = java.util.Collections.emptyList();
    7237       private void ensureTimestampIsMutable() {
    7238         if (!((bitField0_ & 0x00000002) == 0x00000002)) {
    7239           timestamp_ = new java.util.ArrayList<>(timestamp_);
    7240           bitField0_ |= 0x00000002;
    7241          }
    7242       }
    7243       /**
     6934        copyOnWrite();
     6935        instance.clearVersion();
     6936        return this;
     6937      }
     6938
     6939      /**
     6940       * <pre>
     6941       * DELTA coded
     6942       * </pre>
     6943       *
    72446944       * <code>repeated sint64 timestamp = 2 [packed = true];</code>
    7245        *
     6945       */
     6946      public java.util.List<java.lang.Long>
     6947          getTimestampList() {
     6948        return java.util.Collections.unmodifiableList(
     6949            instance.getTimestampList());
     6950      }
     6951      /**
    72466952       * <pre>
    72476953       * DELTA coded
    72486954       * </pre>
    7249        */
    7250       @Override
    7251         public java.util.List<java.lang.Long>
    7252           getTimestampList() {
    7253         return java.util.Collections.unmodifiableList(timestamp_);
    7254       }
    7255       /**
     6955       *
    72566956       * <code>repeated sint64 timestamp = 2 [packed = true];</code>
    7257        *
     6957       */
     6958      public int getTimestampCount() {
     6959        return instance.getTimestampCount();
     6960      }
     6961      /**
    72586962       * <pre>
    72596963       * DELTA coded
    72606964       * </pre>
    7261        */
    7262       @Override
    7263         public int getTimestampCount() {
    7264         return timestamp_.size();
    7265       }
    7266       /**
     6965       *
    72676966       * <code>repeated sint64 timestamp = 2 [packed = true];</code>
    7268        *
     6967       */
     6968      public long getTimestamp(int index) {
     6969        return instance.getTimestamp(index);
     6970      }
     6971      /**
    72696972       * <pre>
    72706973       * DELTA coded
    72716974       * </pre>
    7272        */
    7273       @Override
    7274         public long getTimestamp(int index) {
    7275         return timestamp_.get(index);
    7276       }
    7277       /**
     6975       *
    72786976       * <code>repeated sint64 timestamp = 2 [packed = true];</code>
    7279        *
    7280        * <pre>
    7281        * DELTA coded
    7282        * </pre>
    72836977       */
    72846978      public Builder setTimestamp(
    72856979          int index, long value) {
    7286         ensureTimestampIsMutable();
    7287         timestamp_.set(index, value);
    7288 
    7289         return this;
    7290       }
    7291       /**
     6980        copyOnWrite();
     6981        instance.setTimestamp(index, value);
     6982        return this;
     6983      }
     6984      /**
     6985       * <pre>
     6986       * DELTA coded
     6987       * </pre>
     6988       *
    72926989       * <code>repeated sint64 timestamp = 2 [packed = true];</code>
    7293        *
     6990       */
     6991      public Builder addTimestamp(long value) {
     6992        copyOnWrite();
     6993        instance.addTimestamp(value);
     6994        return this;
     6995      }
     6996      /**
    72946997       * <pre>
    72956998       * DELTA coded
    72966999       * </pre>
    7297        */
    7298       public Builder addTimestamp(long value) {
    7299         ensureTimestampIsMutable();
    7300         timestamp_.add(value);
    7301 
    7302         return this;
    7303       }
    7304       /**
     7000       *
    73057001       * <code>repeated sint64 timestamp = 2 [packed = true];</code>
    7306        *
    7307        * <pre>
    7308        * DELTA coded
    7309        * </pre>
    73107002       */
    73117003      public Builder addAllTimestamp(
    73127004          java.lang.Iterable<? extends java.lang.Long> values) {
    7313         ensureTimestampIsMutable();
    7314         com.google.protobuf.AbstractMessageLite.Builder.addAll(
    7315             values, timestamp_);
    7316 
    7317         return this;
    7318       }
    7319       /**
     7005        copyOnWrite();
     7006        instance.addAllTimestamp(values);
     7007        return this;
     7008      }
     7009      /**
     7010       * <pre>
     7011       * DELTA coded
     7012       * </pre>
     7013       *
    73207014       * <code>repeated sint64 timestamp = 2 [packed = true];</code>
    7321        *
     7015       */
     7016      public Builder clearTimestamp() {
     7017        copyOnWrite();
     7018        instance.clearTimestamp();
     7019        return this;
     7020      }
     7021
     7022      /**
    73227023       * <pre>
    73237024       * DELTA coded
    73247025       * </pre>
    7325        */
    7326       public Builder clearTimestamp() {
    7327         timestamp_ = java.util.Collections.emptyList();
    7328         bitField0_ = (bitField0_ & ~0x00000002);
    7329 
    7330         return this;
    7331       }
    7332 
    7333       private java.util.List<java.lang.Long> changeset_ = java.util.Collections.emptyList();
    7334       private void ensureChangesetIsMutable() {
    7335         if (!((bitField0_ & 0x00000004) == 0x00000004)) {
    7336           changeset_ = new java.util.ArrayList<>(changeset_);
    7337           bitField0_ |= 0x00000004;
    7338          }
    7339       }
    7340       /**
     7026       *
    73417027       * <code>repeated sint64 changeset = 3 [packed = true];</code>
    7342        *
     7028       */
     7029      public java.util.List<java.lang.Long>
     7030          getChangesetList() {
     7031        return java.util.Collections.unmodifiableList(
     7032            instance.getChangesetList());
     7033      }
     7034      /**
    73437035       * <pre>
    73447036       * DELTA coded
    73457037       * </pre>
    7346        */
    7347       @Override
    7348         public java.util.List<java.lang.Long>
    7349           getChangesetList() {
    7350         return java.util.Collections.unmodifiableList(changeset_);
    7351       }
    7352       /**
     7038       *
    73537039       * <code>repeated sint64 changeset = 3 [packed = true];</code>
    7354        *
     7040       */
     7041      public int getChangesetCount() {
     7042        return instance.getChangesetCount();
     7043      }
     7044      /**
    73557045       * <pre>
    73567046       * DELTA coded
    73577047       * </pre>
    7358        */
    7359       @Override
    7360         public int getChangesetCount() {
    7361         return changeset_.size();
    7362       }
    7363       /**
     7048       *
    73647049       * <code>repeated sint64 changeset = 3 [packed = true];</code>
    7365        *
     7050       */
     7051      public long getChangeset(int index) {
     7052        return instance.getChangeset(index);
     7053      }
     7054      /**
    73667055       * <pre>
    73677056       * DELTA coded
    73687057       * </pre>
    7369        */
    7370       @Override
    7371         public long getChangeset(int index) {
    7372         return changeset_.get(index);
    7373       }
    7374       /**
     7058       *
    73757059       * <code>repeated sint64 changeset = 3 [packed = true];</code>
    7376        *
    7377        * <pre>
    7378        * DELTA coded
    7379        * </pre>
    73807060       */
    73817061      public Builder setChangeset(
    73827062          int index, long value) {
    7383         ensureChangesetIsMutable();
    7384         changeset_.set(index, value);
    7385 
    7386         return this;
    7387       }
    7388       /**
     7063        copyOnWrite();
     7064        instance.setChangeset(index, value);
     7065        return this;
     7066      }
     7067      /**
     7068       * <pre>
     7069       * DELTA coded
     7070       * </pre>
     7071       *
    73897072       * <code>repeated sint64 changeset = 3 [packed = true];</code>
    7390        *
     7073       */
     7074      public Builder addChangeset(long value) {
     7075        copyOnWrite();
     7076        instance.addChangeset(value);
     7077        return this;
     7078      }
     7079      /**
    73917080       * <pre>
    73927081       * DELTA coded
    73937082       * </pre>
    7394        */
    7395       public Builder addChangeset(long value) {
    7396         ensureChangesetIsMutable();
    7397         changeset_.add(value);
    7398 
    7399         return this;
    7400       }
    7401       /**
     7083       *
    74027084       * <code>repeated sint64 changeset = 3 [packed = true];</code>
    7403        *
    7404        * <pre>
    7405        * DELTA coded
    7406        * </pre>
    74077085       */
    74087086      public Builder addAllChangeset(
    74097087          java.lang.Iterable<? extends java.lang.Long> values) {
    7410         ensureChangesetIsMutable();
    7411         com.google.protobuf.AbstractMessageLite.Builder.addAll(
    7412             values, changeset_);
    7413 
    7414         return this;
    7415       }
    7416       /**
     7088        copyOnWrite();
     7089        instance.addAllChangeset(values);
     7090        return this;
     7091      }
     7092      /**
     7093       * <pre>
     7094       * DELTA coded
     7095       * </pre>
     7096       *
    74177097       * <code>repeated sint64 changeset = 3 [packed = true];</code>
    7418        *
     7098       */
     7099      public Builder clearChangeset() {
     7100        copyOnWrite();
     7101        instance.clearChangeset();
     7102        return this;
     7103      }
     7104
     7105      /**
    74197106       * <pre>
    74207107       * DELTA coded
    74217108       * </pre>
    7422        */
    7423       public Builder clearChangeset() {
    7424         changeset_ = java.util.Collections.emptyList();
    7425         bitField0_ = (bitField0_ & ~0x00000004);
    7426 
    7427         return this;
    7428       }
    7429 
    7430       private java.util.List<java.lang.Integer> uid_ = java.util.Collections.emptyList();
    7431       private void ensureUidIsMutable() {
    7432         if (!((bitField0_ & 0x00000008) == 0x00000008)) {
    7433           uid_ = new java.util.ArrayList<>(uid_);
    7434           bitField0_ |= 0x00000008;
    7435          }
    7436       }
    7437       /**
     7109       *
    74387110       * <code>repeated sint32 uid = 4 [packed = true];</code>
    7439        *
     7111       */
     7112      public java.util.List<java.lang.Integer>
     7113          getUidList() {
     7114        return java.util.Collections.unmodifiableList(
     7115            instance.getUidList());
     7116      }
     7117      /**
    74407118       * <pre>
    74417119       * DELTA coded
    74427120       * </pre>
    7443        */
    7444       @Override
    7445         public java.util.List<java.lang.Integer>
    7446           getUidList() {
    7447         return java.util.Collections.unmodifiableList(uid_);
    7448       }
    7449       /**
     7121       *
    74507122       * <code>repeated sint32 uid = 4 [packed = true];</code>
    7451        *
     7123       */
     7124      public int getUidCount() {
     7125        return instance.getUidCount();
     7126      }
     7127      /**
    74527128       * <pre>
    74537129       * DELTA coded
    74547130       * </pre>
    7455        */
    7456       @Override
    7457         public int getUidCount() {
    7458         return uid_.size();
    7459       }
    7460       /**
     7131       *
    74617132       * <code>repeated sint32 uid = 4 [packed = true];</code>
    7462        *
     7133       */
     7134      public int getUid(int index) {
     7135        return instance.getUid(index);
     7136      }
     7137      /**
    74637138       * <pre>
    74647139       * DELTA coded
    74657140       * </pre>
    7466        */
    7467       @Override
    7468         public int getUid(int index) {
    7469         return uid_.get(index);
    7470       }
    7471       /**
     7141       *
    74727142       * <code>repeated sint32 uid = 4 [packed = true];</code>
    7473        *
    7474        * <pre>
    7475        * DELTA coded
    7476        * </pre>
    74777143       */
    74787144      public Builder setUid(
    74797145          int index, int value) {
    7480         ensureUidIsMutable();
    7481         uid_.set(index, value);
    7482 
    7483         return this;
    7484       }
    7485       /**
     7146        copyOnWrite();
     7147        instance.setUid(index, value);
     7148        return this;
     7149      }
     7150      /**
     7151       * <pre>
     7152       * DELTA coded
     7153       * </pre>
     7154       *
    74867155       * <code>repeated sint32 uid = 4 [packed = true];</code>
    7487        *
     7156       */
     7157      public Builder addUid(int value) {
     7158        copyOnWrite();
     7159        instance.addUid(value);
     7160        return this;
     7161      }
     7162      /**
    74887163       * <pre>
    74897164       * DELTA coded
    74907165       * </pre>
    7491        */
    7492       public Builder addUid(int value) {
    7493         ensureUidIsMutable();
    7494         uid_.add(value);
    7495 
    7496         return this;
    7497       }
    7498       /**
     7166       *
    74997167       * <code>repeated sint32 uid = 4 [packed = true];</code>
    7500        *
    7501        * <pre>
    7502        * DELTA coded
    7503        * </pre>
    75047168       */
    75057169      public Builder addAllUid(
    75067170          java.lang.Iterable<? extends java.lang.Integer> values) {
    7507         ensureUidIsMutable();
    7508         com.google.protobuf.AbstractMessageLite.Builder.addAll(
    7509             values, uid_);
    7510 
    7511         return this;
    7512       }
    7513       /**
     7171        copyOnWrite();
     7172        instance.addAllUid(values);
     7173        return this;
     7174      }
     7175      /**
     7176       * <pre>
     7177       * DELTA coded
     7178       * </pre>
     7179       *
    75147180       * <code>repeated sint32 uid = 4 [packed = true];</code>
    7515        *
    7516        * <pre>
    7517        * DELTA coded
    7518        * </pre>
    75197181       */
    75207182      public Builder clearUid() {
    7521         uid_ = java.util.Collections.emptyList();
    7522         bitField0_ = (bitField0_ & ~0x00000008);
    7523 
    7524         return this;
    7525       }
    7526 
    7527       private java.util.List<java.lang.Integer> userSid_ = java.util.Collections.emptyList();
    7528       private void ensureUserSidIsMutable() {
    7529         if (!((bitField0_ & 0x00000010) == 0x00000010)) {
    7530           userSid_ = new java.util.ArrayList<>(userSid_);
    7531           bitField0_ |= 0x00000010;
    7532          }
    7533       }
    7534       /**
     7183        copyOnWrite();
     7184        instance.clearUid();
     7185        return this;
     7186      }
     7187
     7188      /**
     7189       * <pre>
     7190       * String IDs for usernames. DELTA coded
     7191       * </pre>
     7192       *
    75357193       * <code>repeated sint32 user_sid = 5 [packed = true];</code>
    7536        *
     7194       */
     7195      public java.util.List<java.lang.Integer>
     7196          getUserSidList() {
     7197        return java.util.Collections.unmodifiableList(
     7198            instance.getUserSidList());
     7199      }
     7200      /**
    75377201       * <pre>
    75387202       * String IDs for usernames. DELTA coded
    75397203       * </pre>
    7540        */
    7541       @Override
    7542         public java.util.List<java.lang.Integer>
    7543           getUserSidList() {
    7544         return java.util.Collections.unmodifiableList(userSid_);
    7545       }
    7546       /**
     7204       *
    75477205       * <code>repeated sint32 user_sid = 5 [packed = true];</code>
    7548        *
     7206       */
     7207      public int getUserSidCount() {
     7208        return instance.getUserSidCount();
     7209      }
     7210      /**
    75497211       * <pre>
    75507212       * String IDs for usernames. DELTA coded
    75517213       * </pre>
    7552        */
    7553       @Override
    7554         public int getUserSidCount() {
    7555         return userSid_.size();
    7556       }
    7557       /**
     7214       *
    75587215       * <code>repeated sint32 user_sid = 5 [packed = true];</code>
    7559        *
     7216       */
     7217      public int getUserSid(int index) {
     7218        return instance.getUserSid(index);
     7219      }
     7220      /**
    75607221       * <pre>
    75617222       * String IDs for usernames. DELTA coded
    75627223       * </pre>
    7563        */
    7564       @Override
    7565         public int getUserSid(int index) {
    7566         return userSid_.get(index);
    7567       }
    7568       /**
     7224       *
    75697225       * <code>repeated sint32 user_sid = 5 [packed = true];</code>
    7570        *
    7571        * <pre>
    7572        * String IDs for usernames. DELTA coded
    7573        * </pre>
    75747226       */
    75757227      public Builder setUserSid(
    75767228          int index, int value) {
    7577         ensureUserSidIsMutable();
    7578         userSid_.set(index, value);
    7579 
    7580         return this;
    7581       }
    7582       /**
     7229        copyOnWrite();
     7230        instance.setUserSid(index, value);
     7231        return this;
     7232      }
     7233      /**
     7234       * <pre>
     7235       * String IDs for usernames. DELTA coded
     7236       * </pre>
     7237       *
    75837238       * <code>repeated sint32 user_sid = 5 [packed = true];</code>
    7584        *
     7239       */
     7240      public Builder addUserSid(int value) {
     7241        copyOnWrite();
     7242        instance.addUserSid(value);
     7243        return this;
     7244      }
     7245      /**
    75857246       * <pre>
    75867247       * String IDs for usernames. DELTA coded
    75877248       * </pre>
    7588        */
    7589       public Builder addUserSid(int value) {
    7590         ensureUserSidIsMutable();
    7591         userSid_.add(value);
    7592 
    7593         return this;
    7594       }
    7595       /**
     7249       *
    75967250       * <code>repeated sint32 user_sid = 5 [packed = true];</code>
    7597        *
    7598        * <pre>
    7599        * String IDs for usernames. DELTA coded
    7600        * </pre>
    76017251       */
    76027252      public Builder addAllUserSid(
    76037253          java.lang.Iterable<? extends java.lang.Integer> values) {
    7604         ensureUserSidIsMutable();
    7605         com.google.protobuf.AbstractMessageLite.Builder.addAll(
    7606             values, userSid_);
    7607 
    7608         return this;
    7609       }
    7610       /**
     7254        copyOnWrite();
     7255        instance.addAllUserSid(values);
     7256        return this;
     7257      }
     7258      /**
     7259       * <pre>
     7260       * String IDs for usernames. DELTA coded
     7261       * </pre>
     7262       *
    76117263       * <code>repeated sint32 user_sid = 5 [packed = true];</code>
    7612        *
    7613        * <pre>
    7614        * String IDs for usernames. DELTA coded
    7615        * </pre>
    76167264       */
    76177265      public Builder clearUserSid() {
    7618         userSid_ = java.util.Collections.emptyList();
    7619         bitField0_ = (bitField0_ & ~0x00000010);
    7620 
    7621         return this;
    7622       }
    7623 
    7624       private java.util.List<java.lang.Boolean> visible_ = java.util.Collections.emptyList();
    7625       private void ensureVisibleIsMutable() {
    7626         if (!((bitField0_ & 0x00000020) == 0x00000020)) {
    7627           visible_ = new java.util.ArrayList<>(visible_);
    7628           bitField0_ |= 0x00000020;
    7629          }
    7630       }
    7631       /**
    7632        * <code>repeated bool visible = 6 [packed = true];</code>
    7633        *
     7266        copyOnWrite();
     7267        instance.clearUserSid();
     7268        return this;
     7269      }
     7270
     7271      /**
    76347272       * <pre>
    76357273       * The visible flag is used to store history information. It indicates that
     
    76427280       * set.
    76437281       * </pre>
    7644        */
    7645       @Override
    7646         public java.util.List<java.lang.Boolean>
     7282       *
     7283       * <code>repeated bool visible = 6 [packed = true];</code>
     7284       */
     7285      public java.util.List<java.lang.Boolean>
    76477286          getVisibleList() {
    7648         return java.util.Collections.unmodifiableList(visible_);
    7649       }
    7650       /**
    7651        * <code>repeated bool visible = 6 [packed = true];</code>
    7652        *
     7287        return java.util.Collections.unmodifiableList(
     7288            instance.getVisibleList());
     7289      }
     7290      /**
    76537291       * <pre>
    76547292       * The visible flag is used to store history information. It indicates that
     
    76617299       * set.
    76627300       * </pre>
    7663        */
    7664       @Override
    7665         public int getVisibleCount() {
    7666         return visible_.size();
    7667       }
    7668       /**
     7301       *
    76697302       * <code>repeated bool visible = 6 [packed = true];</code>
    7670        *
     7303       */
     7304      public int getVisibleCount() {
     7305        return instance.getVisibleCount();
     7306      }
     7307      /**
    76717308       * <pre>
    76727309       * The visible flag is used to store history information. It indicates that
     
    76797316       * set.
    76807317       * </pre>
    7681        */
    7682       @Override
    7683         public boolean getVisible(int index) {
    7684         return visible_.get(index);
    7685       }
    7686       /**
     7318       *
    76877319       * <code>repeated bool visible = 6 [packed = true];</code>
    7688        *
     7320       */
     7321      public boolean getVisible(int index) {
     7322        return instance.getVisible(index);
     7323      }
     7324      /**
    76897325       * <pre>
    76907326       * The visible flag is used to store history information. It indicates that
     
    76977333       * set.
    76987334       * </pre>
     7335       *
     7336       * <code>repeated bool visible = 6 [packed = true];</code>
    76997337       */
    77007338      public Builder setVisible(
    77017339          int index, boolean value) {
    7702         ensureVisibleIsMutable();
    7703         visible_.set(index, value);
    7704 
    7705         return this;
    7706       }
    7707       /**
    7708        * <code>repeated bool visible = 6 [packed = true];</code>
    7709        *
     7340        copyOnWrite();
     7341        instance.setVisible(index, value);
     7342        return this;
     7343      }
     7344      /**
    77107345       * <pre>
    77117346       * The visible flag is used to store history information. It indicates that
     
    77187353       * set.
    77197354       * </pre>
     7355       *
     7356       * <code>repeated bool visible = 6 [packed = true];</code>
    77207357       */
    77217358      public Builder addVisible(boolean value) {
    7722         ensureVisibleIsMutable();
    7723         visible_.add(value);
    7724 
    7725         return this;
    7726       }
    7727       /**
    7728        * <code>repeated bool visible = 6 [packed = true];</code>
    7729        *
     7359        copyOnWrite();
     7360        instance.addVisible(value);
     7361        return this;
     7362      }
     7363      /**
    77307364       * <pre>
    77317365       * The visible flag is used to store history information. It indicates that
     
    77387372       * set.
    77397373       * </pre>
     7374       *
     7375       * <code>repeated bool visible = 6 [packed = true];</code>
    77407376       */
    77417377      public Builder addAllVisible(
    77427378          java.lang.Iterable<? extends java.lang.Boolean> values) {
    7743         ensureVisibleIsMutable();
    7744         com.google.protobuf.AbstractMessageLite.Builder.addAll(
    7745             values, visible_);
    7746 
    7747         return this;
    7748       }
    7749       /**
    7750        * <code>repeated bool visible = 6 [packed = true];</code>
    7751        *
     7379        copyOnWrite();
     7380        instance.addAllVisible(values);
     7381        return this;
     7382      }
     7383      /**
    77527384       * <pre>
    77537385       * The visible flag is used to store history information. It indicates that
     
    77607392       * set.
    77617393       * </pre>
     7394       *
     7395       * <code>repeated bool visible = 6 [packed = true];</code>
    77627396       */
    77637397      public Builder clearVisible() {
    7764         visible_ = java.util.Collections.emptyList();
    7765         bitField0_ = (bitField0_ & ~0x00000020);
    7766 
     7398        copyOnWrite();
     7399        instance.clearVisible();
    77677400        return this;
    77687401      }
     
    77707403      // @@protoc_insertion_point(builder_scope:OSMPBF.DenseInfo)
    77717404    }
    7772 
     7405    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
     7406    protected final java.lang.Object dynamicMethod(
     7407        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
     7408        java.lang.Object arg0, java.lang.Object arg1) {
     7409      switch (method) {
     7410        case NEW_MUTABLE_INSTANCE: {
     7411          return new crosby.binary.Osmformat.DenseInfo();
     7412        }
     7413        case IS_INITIALIZED: {
     7414          return DEFAULT_INSTANCE;
     7415        }
     7416        case MAKE_IMMUTABLE: {
     7417          version_.makeImmutable();
     7418          timestamp_.makeImmutable();
     7419          changeset_.makeImmutable();
     7420          uid_.makeImmutable();
     7421          userSid_.makeImmutable();
     7422          visible_.makeImmutable();
     7423          return null;
     7424        }
     7425        case NEW_BUILDER: {
     7426          return new Builder();
     7427        }
     7428        case VISIT: {
     7429          Visitor visitor = (Visitor) arg0;
     7430          crosby.binary.Osmformat.DenseInfo other = (crosby.binary.Osmformat.DenseInfo) arg1;
     7431          version_= visitor.visitIntList(version_, other.version_);
     7432          timestamp_= visitor.visitLongList(timestamp_, other.timestamp_);
     7433          changeset_= visitor.visitLongList(changeset_, other.changeset_);
     7434          uid_= visitor.visitIntList(uid_, other.uid_);
     7435          userSid_= visitor.visitIntList(userSid_, other.userSid_);
     7436          visible_= visitor.visitBooleanList(visible_, other.visible_);
     7437          if (visitor == com.google.protobuf.GeneratedMessageLite.MergeFromVisitor
     7438              .INSTANCE) {
     7439          }
     7440          return this;
     7441        }
     7442        case MERGE_FROM_STREAM: {
     7443          com.google.protobuf.CodedInputStream input =
     7444              (com.google.protobuf.CodedInputStream) arg0;
     7445          com.google.protobuf.ExtensionRegistryLite extensionRegistry =
     7446              (com.google.protobuf.ExtensionRegistryLite) arg1;
     7447          try {
     7448            boolean done = false;
     7449            while (!done) {
     7450              int tag = input.readTag();
     7451              switch (tag) {
     7452                case 0:
     7453                  done = true;
     7454                  break;
     7455                default: {
     7456                  if (!parseUnknownField(tag, input)) {
     7457                    done = true;
     7458                  }
     7459                  break;
     7460                }
     7461                case 8: {
     7462                  if (!version_.isModifiable()) {
     7463                    version_ =
     7464                        com.google.protobuf.GeneratedMessageLite.mutableCopy(version_);
     7465                  }
     7466                  version_.addInt(input.readInt32());
     7467                  break;
     7468                }
     7469                case 10: {
     7470                  int length = input.readRawVarint32();
     7471                  int limit = input.pushLimit(length);
     7472                  if (!version_.isModifiable() && input.getBytesUntilLimit() > 0) {
     7473                    version_ =
     7474                        com.google.protobuf.GeneratedMessageLite.mutableCopy(version_);
     7475                  }
     7476                  while (input.getBytesUntilLimit() > 0) {
     7477                    version_.addInt(input.readInt32());
     7478                  }
     7479                  input.popLimit(limit);
     7480                  break;
     7481                }
     7482                case 16: {
     7483                  if (!timestamp_.isModifiable()) {
     7484                    timestamp_ =
     7485                        com.google.protobuf.GeneratedMessageLite.mutableCopy(timestamp_);
     7486                  }
     7487                  timestamp_.addLong(input.readSInt64());
     7488                  break;
     7489                }
     7490                case 18: {
     7491                  int length = input.readRawVarint32();
     7492                  int limit = input.pushLimit(length);
     7493                  if (!timestamp_.isModifiable() && input.getBytesUntilLimit() > 0) {
     7494                    timestamp_ =
     7495                        com.google.protobuf.GeneratedMessageLite.mutableCopy(timestamp_);
     7496                  }
     7497                  while (input.getBytesUntilLimit() > 0) {
     7498                    timestamp_.addLong(input.readSInt64());
     7499                  }
     7500                  input.popLimit(limit);
     7501                  break;
     7502                }
     7503                case 24: {
     7504                  if (!changeset_.isModifiable()) {
     7505                    changeset_ =
     7506                        com.google.protobuf.GeneratedMessageLite.mutableCopy(changeset_);
     7507                  }
     7508                  changeset_.addLong(input.readSInt64());
     7509                  break;
     7510                }
     7511                case 26: {
     7512                  int length = input.readRawVarint32();
     7513                  int limit = input.pushLimit(length);
     7514                  if (!changeset_.isModifiable() && input.getBytesUntilLimit() > 0) {
     7515                    changeset_ =
     7516                        com.google.protobuf.GeneratedMessageLite.mutableCopy(changeset_);
     7517                  }
     7518                  while (input.getBytesUntilLimit() > 0) {
     7519                    changeset_.addLong(input.readSInt64());
     7520                  }
     7521                  input.popLimit(limit);
     7522                  break;
     7523                }
     7524                case 32: {
     7525                  if (!uid_.isModifiable()) {
     7526                    uid_ =
     7527                        com.google.protobuf.GeneratedMessageLite.mutableCopy(uid_);
     7528                  }
     7529                  uid_.addInt(input.readSInt32());
     7530                  break;
     7531                }
     7532                case 34: {
     7533                  int length = input.readRawVarint32();
     7534                  int limit = input.pushLimit(length);
     7535                  if (!uid_.isModifiable() && input.getBytesUntilLimit() > 0) {
     7536                    uid_ =
     7537                        com.google.protobuf.GeneratedMessageLite.mutableCopy(uid_);
     7538                  }
     7539                  while (input.getBytesUntilLimit() > 0) {
     7540                    uid_.addInt(input.readSInt32());
     7541                  }
     7542                  input.popLimit(limit);
     7543                  break;
     7544                }
     7545                case 40: {
     7546                  if (!userSid_.isModifiable()) {
     7547                    userSid_ =
     7548                        com.google.protobuf.GeneratedMessageLite.mutableCopy(userSid_);
     7549                  }
     7550                  userSid_.addInt(input.readSInt32());
     7551                  break;
     7552                }
     7553                case 42: {
     7554                  int length = input.readRawVarint32();
     7555                  int limit = input.pushLimit(length);
     7556                  if (!userSid_.isModifiable() && input.getBytesUntilLimit() > 0) {
     7557                    userSid_ =
     7558                        com.google.protobuf.GeneratedMessageLite.mutableCopy(userSid_);
     7559                  }
     7560                  while (input.getBytesUntilLimit() > 0) {
     7561                    userSid_.addInt(input.readSInt32());
     7562                  }
     7563                  input.popLimit(limit);
     7564                  break;
     7565                }
     7566                case 48: {
     7567                  if (!visible_.isModifiable()) {
     7568                    visible_ =
     7569                        com.google.protobuf.GeneratedMessageLite.mutableCopy(visible_);
     7570                  }
     7571                  visible_.addBoolean(input.readBool());
     7572                  break;
     7573                }
     7574                case 50: {
     7575                  int length = input.readRawVarint32();
     7576                  int limit = input.pushLimit(length);
     7577                  if (!visible_.isModifiable() && input.getBytesUntilLimit() > 0) {
     7578                    final int currentSize = visible_.size();
     7579                    visible_ = visible_.mutableCopyWithCapacity(
     7580                        currentSize + (length/1));
     7581                  }
     7582                  while (input.getBytesUntilLimit() > 0) {
     7583                    visible_.addBoolean(input.readBool());
     7584                  }
     7585                  input.popLimit(limit);
     7586                  break;
     7587                }
     7588              }
     7589            }
     7590          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
     7591            throw new RuntimeException(e.setUnfinishedMessage(this));
     7592          } catch (java.io.IOException e) {
     7593            throw new RuntimeException(
     7594                new com.google.protobuf.InvalidProtocolBufferException(
     7595                    e.getMessage()).setUnfinishedMessage(this));
     7596          } finally {
     7597          }
     7598        }
     7599        // fall through
     7600        case GET_DEFAULT_INSTANCE: {
     7601          return DEFAULT_INSTANCE;
     7602        }
     7603        case GET_PARSER: {
     7604          if (PARSER == null) {    synchronized (crosby.binary.Osmformat.DenseInfo.class) {
     7605              if (PARSER == null) {
     7606                PARSER = new DefaultInstanceBasedParser(DEFAULT_INSTANCE);
     7607              }
     7608            }
     7609          }
     7610          return PARSER;
     7611        }
     7612      }
     7613      throw new UnsupportedOperationException();
     7614    }
     7615
     7616
     7617    // @@protoc_insertion_point(class_scope:OSMPBF.DenseInfo)
     7618    private static final crosby.binary.Osmformat.DenseInfo DEFAULT_INSTANCE;
    77737619    static {
    7774       defaultInstance = new DenseInfo(true);
    7775       defaultInstance.initFields();
    7776     }
    7777 
    7778     // @@protoc_insertion_point(class_scope:OSMPBF.DenseInfo)
     7620      DEFAULT_INSTANCE = new DenseInfo();
     7621      DEFAULT_INSTANCE.makeImmutable();
     7622    }
     7623
     7624    public static crosby.binary.Osmformat.DenseInfo getDefaultInstance() {
     7625      return DEFAULT_INSTANCE;
     7626    }
     7627
     7628    private static volatile com.google.protobuf.Parser<DenseInfo> PARSER;
     7629
     7630    public static com.google.protobuf.Parser<DenseInfo> parser() {
     7631      return DEFAULT_INSTANCE.getParserForType();
     7632    }
    77797633  }
    77807634
     
    77847638
    77857639    /**
    7786      * <code>required int64 id = 1;</code>
    7787      *
    7788      * <pre>
    7789      *
     7640     * <pre>
     7641     *   
    77907642     *   // Parallel arrays.
    77917643     *   repeated uint32 keys = 2 [packed = true]; // String IDs.
     
    77937645     *   optional Info info = 4;
    77947646     * </pre>
     7647     *
     7648     * <code>required int64 id = 1;</code>
    77957649     */
    77967650    boolean hasId();
    77977651    /**
    7798      * <code>required int64 id = 1;</code>
    7799      *
    7800      * <pre>
    7801      *
     7652     * <pre>
     7653     *   
    78027654     *   // Parallel arrays.
    78037655     *   repeated uint32 keys = 2 [packed = true]; // String IDs.
     
    78057657     *   optional Info info = 4;
    78067658     * </pre>
     7659     *
     7660     * <code>required int64 id = 1;</code>
    78077661     */
    78087662    long getId();
    78097663  }
    78107664  /**
    7811    * Protobuf type {@code OSMPBF.ChangeSet}
    7812    *
    78137665   * <pre>
    78147666   * THIS IS STUB DESIGN FOR CHANGESETS. NOT USED RIGHT NOW.
    78157667   * TODO:    REMOVE THIS?
    78167668   * </pre>
     7669   *
     7670   * Protobuf type {@code OSMPBF.ChangeSet}
    78177671   */
    7818   public static final class ChangeSet extends
    7819       com.google.protobuf.GeneratedMessageLite implements
     7672  public  static final class ChangeSet extends
     7673      com.google.protobuf.GeneratedMessageLite<
     7674          ChangeSet, ChangeSet.Builder> implements
    78207675      // @@protoc_insertion_point(message_implements:OSMPBF.ChangeSet)
    78217676      ChangeSetOrBuilder {
    7822     // Use ChangeSet.newBuilder() to construct.
    7823     private ChangeSet(com.google.protobuf.GeneratedMessageLite.Builder builder) {
    7824       super(builder);
    7825       this.unknownFields = builder.getUnknownFields();
    7826     }
    7827     private ChangeSet(boolean noInit) { this.unknownFields = com.google.protobuf.ByteString.EMPTY;}
    7828 
    7829     private static final ChangeSet defaultInstance;
    7830     public static ChangeSet getDefaultInstance() {
    7831       return defaultInstance;
    7832     }
    7833 
    7834     @Override
    7835         public ChangeSet getDefaultInstanceForType() {
    7836       return defaultInstance;
    7837     }
    7838 
    7839     private final com.google.protobuf.ByteString unknownFields;
    7840     private ChangeSet(
    7841         com.google.protobuf.CodedInputStream input,
    7842         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    7843         throws com.google.protobuf.InvalidProtocolBufferException {
    7844       initFields();
    7845       int mutable_bitField0_ = 0;
    7846       com.google.protobuf.ByteString.Output unknownFieldsOutput =
    7847           com.google.protobuf.ByteString.newOutput();
    7848       com.google.protobuf.CodedOutputStream unknownFieldsCodedOutput =
    7849           com.google.protobuf.CodedOutputStream.newInstance(
    7850               unknownFieldsOutput);
    7851       try {
    7852         boolean done = false;
    7853         while (!done) {
    7854           int tag = input.readTag();
    7855           switch (tag) {
    7856             case 0:
    7857               done = true;
    7858               break;
    7859             default: {
    7860               if (!parseUnknownField(input, unknownFieldsCodedOutput,
    7861                                      extensionRegistry, tag)) {
    7862                 done = true;
    7863               }
    7864               break;
    7865             }
    7866             case 8: {
    7867               bitField0_ |= 0x00000001;
    7868               id_ = input.readInt64();
    7869               break;
    7870             }
    7871           }
    7872         }
    7873       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
    7874         throw e.setUnfinishedMessage(this);
    7875       } catch (java.io.IOException e) {
    7876         throw new com.google.protobuf.InvalidProtocolBufferException(
    7877             e.getMessage()).setUnfinishedMessage(this);
    7878       } finally {
    7879         try {
    7880           unknownFieldsCodedOutput.flush();
    7881         } catch (java.io.IOException e) {
    7882         // Should not happen
    7883         } finally {
    7884           unknownFields = unknownFieldsOutput.toByteString();
    7885         }
    7886         makeExtensionsImmutable();
    7887       }
    7888     }
    7889     public static com.google.protobuf.Parser<ChangeSet> PARSER =
    7890         new com.google.protobuf.AbstractParser<ChangeSet>() {
    7891       @Override
    7892         public ChangeSet parsePartialFrom(
    7893           com.google.protobuf.CodedInputStream input,
    7894           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    7895           throws com.google.protobuf.InvalidProtocolBufferException {
    7896         return new ChangeSet(input, extensionRegistry);
    7897       }
    7898     };
    7899 
    7900     @java.lang.Override
    7901     public com.google.protobuf.Parser<ChangeSet> getParserForType() {
    7902       return PARSER;
    7903     }
    7904 
     7677    private ChangeSet() {
     7678    }
    79057679    private int bitField0_;
    79067680    public static final int ID_FIELD_NUMBER = 1;
    79077681    private long id_;
    79087682    /**
    7909      * <code>required int64 id = 1;</code>
    7910      *
    7911      * <pre>
    7912      *
     7683     * <pre>
     7684     *   
    79137685     *   // Parallel arrays.
    79147686     *   repeated uint32 keys = 2 [packed = true]; // String IDs.
     
    79167688     *   optional Info info = 4;
    79177689     * </pre>
    7918      */
    7919     @Override
    7920         public boolean hasId() {
     7690     *
     7691     * <code>required int64 id = 1;</code>
     7692     */
     7693    public boolean hasId() {
    79217694      return ((bitField0_ & 0x00000001) == 0x00000001);
    79227695    }
    79237696    /**
    7924      * <code>required int64 id = 1;</code>
    7925      *
    7926      * <pre>
    7927      *
     7697     * <pre>
     7698     *   
    79287699     *   // Parallel arrays.
    79297700     *   repeated uint32 keys = 2 [packed = true]; // String IDs.
     
    79317702     *   optional Info info = 4;
    79327703     * </pre>
    7933      */
    7934     @Override
    7935         public long getId() {
     7704     *
     7705     * <code>required int64 id = 1;</code>
     7706     */
     7707    public long getId() {
    79367708      return id_;
    79377709    }
    7938 
    7939     private void initFields() {
     7710    /**
     7711     * <pre>
     7712     *   
     7713     *   // Parallel arrays.
     7714     *   repeated uint32 keys = 2 [packed = true]; // String IDs.
     7715     *   repeated uint32 vals = 3 [packed = true]; // String IDs.
     7716     *   optional Info info = 4;
     7717     * </pre>
     7718     *
     7719     * <code>required int64 id = 1;</code>
     7720     */
     7721    private void setId(long value) {
     7722      bitField0_ |= 0x00000001;
     7723      id_ = value;
     7724    }
     7725    /**
     7726     * <pre>
     7727     *   
     7728     *   // Parallel arrays.
     7729     *   repeated uint32 keys = 2 [packed = true]; // String IDs.
     7730     *   repeated uint32 vals = 3 [packed = true]; // String IDs.
     7731     *   optional Info info = 4;
     7732     * </pre>
     7733     *
     7734     * <code>required int64 id = 1;</code>
     7735     */
     7736    private void clearId() {
     7737      bitField0_ = (bitField0_ & ~0x00000001);
    79407738      id_ = 0L;
    79417739    }
    7942     private byte memoizedIsInitialized = -1;
    7943     @Override
    7944         public final boolean isInitialized() {
    7945       byte isInitialized = memoizedIsInitialized;
    7946       if (isInitialized == 1) return true;
    7947       if (isInitialized == 0) return false;
    7948 
    7949       if (!hasId()) {
    7950         memoizedIsInitialized = 0;
    7951         return false;
    7952       }
    7953       memoizedIsInitialized = 1;
    7954       return true;
    7955     }
    7956 
    7957     @Override
    7958         public void writeTo(com.google.protobuf.CodedOutputStream output)
     7740
     7741    public void writeTo(com.google.protobuf.CodedOutputStream output)
    79597742                        throws java.io.IOException {
    7960       getSerializedSize();
    79617743      if (((bitField0_ & 0x00000001) == 0x00000001)) {
    79627744        output.writeInt64(1, id_);
    79637745      }
    7964       output.writeRawBytes(unknownFields);
    7965     }
    7966 
    7967     private int memoizedSerializedSize = -1;
    7968     @Override
    7969         public int getSerializedSize() {
     7746      unknownFields.writeTo(output);
     7747    }
     7748
     7749    public int getSerializedSize() {
    79707750      int size = memoizedSerializedSize;
    79717751      if (size != -1) return size;
     
    79767756          .computeInt64Size(1, id_);
    79777757      }
    7978       size += unknownFields.size();
     7758      size += unknownFields.getSerializedSize();
    79797759      memoizedSerializedSize = size;
    79807760      return size;
    79817761    }
    79827762
    7983     private static final long serialVersionUID = 0L;
    7984     @java.lang.Override
    7985     protected java.lang.Object writeReplace()
    7986         throws java.io.ObjectStreamException {
    7987       return super.writeReplace();
    7988     }
    7989 
     7763    public static crosby.binary.Osmformat.ChangeSet parseFrom(
     7764        java.nio.ByteBuffer data)
     7765        throws com.google.protobuf.InvalidProtocolBufferException {
     7766      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     7767          DEFAULT_INSTANCE, data);
     7768    }
     7769    public static crosby.binary.Osmformat.ChangeSet parseFrom(
     7770        java.nio.ByteBuffer data,
     7771        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     7772        throws com.google.protobuf.InvalidProtocolBufferException {
     7773      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     7774          DEFAULT_INSTANCE, data, extensionRegistry);
     7775    }
    79907776    public static crosby.binary.Osmformat.ChangeSet parseFrom(
    79917777        com.google.protobuf.ByteString data)
    79927778        throws com.google.protobuf.InvalidProtocolBufferException {
    7993       return PARSER.parseFrom(data);
     7779      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     7780          DEFAULT_INSTANCE, data);
    79947781    }
    79957782    public static crosby.binary.Osmformat.ChangeSet parseFrom(
     
    79977784        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    79987785        throws com.google.protobuf.InvalidProtocolBufferException {
    7999       return PARSER.parseFrom(data, extensionRegistry);
     7786      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     7787          DEFAULT_INSTANCE, data, extensionRegistry);
    80007788    }
    80017789    public static crosby.binary.Osmformat.ChangeSet parseFrom(byte[] data)
    80027790        throws com.google.protobuf.InvalidProtocolBufferException {
    8003       return PARSER.parseFrom(data);
     7791      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     7792          DEFAULT_INSTANCE, data);
    80047793    }
    80057794    public static crosby.binary.Osmformat.ChangeSet parseFrom(
     
    80077796        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    80087797        throws com.google.protobuf.InvalidProtocolBufferException {
    8009       return PARSER.parseFrom(data, extensionRegistry);
     7798      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     7799          DEFAULT_INSTANCE, data, extensionRegistry);
    80107800    }
    80117801    public static crosby.binary.Osmformat.ChangeSet parseFrom(java.io.InputStream input)
    80127802        throws java.io.IOException {
    8013       return PARSER.parseFrom(input);
     7803      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     7804          DEFAULT_INSTANCE, input);
    80147805    }
    80157806    public static crosby.binary.Osmformat.ChangeSet parseFrom(
     
    80177808        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    80187809        throws java.io.IOException {
    8019       return PARSER.parseFrom(input, extensionRegistry);
     7810      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     7811          DEFAULT_INSTANCE, input, extensionRegistry);
    80207812    }
    80217813    public static crosby.binary.Osmformat.ChangeSet parseDelimitedFrom(java.io.InputStream input)
    80227814        throws java.io.IOException {
    8023       return PARSER.parseDelimitedFrom(input);
     7815      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    80247816    }
    80257817    public static crosby.binary.Osmformat.ChangeSet parseDelimitedFrom(
     
    80277819        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    80287820        throws java.io.IOException {
    8029       return PARSER.parseDelimitedFrom(input, extensionRegistry);
     7821      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    80307822    }
    80317823    public static crosby.binary.Osmformat.ChangeSet parseFrom(
    80327824        com.google.protobuf.CodedInputStream input)
    80337825        throws java.io.IOException {
    8034       return PARSER.parseFrom(input);
     7826      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     7827          DEFAULT_INSTANCE, input);
    80357828    }
    80367829    public static crosby.binary.Osmformat.ChangeSet parseFrom(
     
    80387831        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    80397832        throws java.io.IOException {
    8040       return PARSER.parseFrom(input, extensionRegistry);
    8041     }
    8042 
    8043     public static Builder newBuilder() { return Builder.create(); }
    8044     @Override
    8045         public Builder newBuilderForType() { return newBuilder(); }
     7833      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     7834          DEFAULT_INSTANCE, input, extensionRegistry);
     7835    }
     7836
     7837    public static Builder newBuilder() {
     7838      return DEFAULT_INSTANCE.toBuilder();
     7839    }
    80467840    public static Builder newBuilder(crosby.binary.Osmformat.ChangeSet prototype) {
    8047       return newBuilder().mergeFrom(prototype);
    8048     }
    8049     @Override
    8050         public Builder toBuilder() { return newBuilder(this); }
    8051 
    8052     /**
    8053      * Protobuf type {@code OSMPBF.ChangeSet}
    8054      *
     7841      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     7842    }
     7843
     7844    /**
    80557845     * <pre>
    80567846     * THIS IS STUB DESIGN FOR CHANGESETS. NOT USED RIGHT NOW.
    80577847     * TODO:    REMOVE THIS?
    80587848     * </pre>
     7849     *
     7850     * Protobuf type {@code OSMPBF.ChangeSet}
    80597851     */
    80607852    public static final class Builder extends
    80617853        com.google.protobuf.GeneratedMessageLite.Builder<
    8062           crosby.binary.Osmformat.ChangeSet, Builder>
    8063         implements
     7854          crosby.binary.Osmformat.ChangeSet, Builder> implements
    80647855        // @@protoc_insertion_point(builder_implements:OSMPBF.ChangeSet)
    80657856        crosby.binary.Osmformat.ChangeSetOrBuilder {
    80667857      // Construct using crosby.binary.Osmformat.ChangeSet.newBuilder()
    80677858      private Builder() {
    8068         maybeForceBuilderInitialization();
    8069       }
    8070 
    8071       private void maybeForceBuilderInitialization() {
    8072       }
    8073       private static Builder create() {
    8074         return new Builder();
    8075       }
    8076 
    8077       @Override
    8078         public Builder clear() {
    8079         super.clear();
    8080         id_ = 0L;
    8081         bitField0_ = (bitField0_ & ~0x00000001);
    8082         return this;
    8083       }
    8084 
    8085       @Override
    8086         public Builder clone() {
    8087         return create().mergeFrom(buildPartial());
    8088       }
    8089 
    8090       @Override
    8091         public crosby.binary.Osmformat.ChangeSet getDefaultInstanceForType() {
    8092         return crosby.binary.Osmformat.ChangeSet.getDefaultInstance();
    8093       }
    8094 
    8095       @Override
    8096         public crosby.binary.Osmformat.ChangeSet build() {
    8097         crosby.binary.Osmformat.ChangeSet result = buildPartial();
    8098         if (!result.isInitialized()) {
    8099           throw newUninitializedMessageException(result);
    8100         }
    8101         return result;
    8102       }
    8103 
    8104       @Override
    8105         public crosby.binary.Osmformat.ChangeSet buildPartial() {
    8106         crosby.binary.Osmformat.ChangeSet result = new crosby.binary.Osmformat.ChangeSet(this);
    8107         int from_bitField0_ = bitField0_;
    8108         int to_bitField0_ = 0;
    8109         if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
    8110           to_bitField0_ |= 0x00000001;
    8111         }
    8112         result.id_ = id_;
    8113         result.bitField0_ = to_bitField0_;
    8114         return result;
    8115       }
    8116 
    8117       @Override
    8118         public Builder mergeFrom(crosby.binary.Osmformat.ChangeSet other) {
    8119         if (other == crosby.binary.Osmformat.ChangeSet.getDefaultInstance()) return this;
    8120         if (other.hasId()) {
    8121           setId(other.getId());
    8122         }
    8123         setUnknownFields(
    8124             getUnknownFields().concat(other.unknownFields));
    8125         return this;
    8126       }
    8127 
    8128       @Override
    8129         public final boolean isInitialized() {
    8130         if (!hasId()) {
    8131 
    8132           return false;
    8133         }
    8134         return true;
    8135       }
    8136 
    8137       @Override
    8138         public Builder mergeFrom(
    8139           com.google.protobuf.CodedInputStream input,
    8140           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    8141           throws java.io.IOException {
    8142         crosby.binary.Osmformat.ChangeSet parsedMessage = null;
    8143         try {
    8144           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
    8145         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
    8146           parsedMessage = (crosby.binary.Osmformat.ChangeSet) e.getUnfinishedMessage();
    8147           throw e;
    8148         } finally {
    8149           if (parsedMessage != null) {
    8150             mergeFrom(parsedMessage);
    8151           }
    8152         }
    8153         return this;
    8154       }
    8155       private int bitField0_;
    8156 
    8157       private long id_ ;
    8158       /**
    8159        * <code>required int64 id = 1;</code>
    8160        *
    8161        * <pre>
    8162        *
     7859        super(DEFAULT_INSTANCE);
     7860      }
     7861
     7862
     7863      /**
     7864       * <pre>
     7865       *   
    81637866       *   // Parallel arrays.
    81647867       *   repeated uint32 keys = 2 [packed = true]; // String IDs.
     
    81667869       *   optional Info info = 4;
    81677870       * </pre>
    8168        */
    8169       @Override
    8170         public boolean hasId() {
    8171         return ((bitField0_ & 0x00000001) == 0x00000001);
    8172       }
    8173       /**
     7871       *
    81747872       * <code>required int64 id = 1;</code>
    8175        *
    8176        * <pre>
    8177        *
     7873       */
     7874      public boolean hasId() {
     7875        return instance.hasId();
     7876      }
     7877      /**
     7878       * <pre>
     7879       *   
    81787880       *   // Parallel arrays.
    81797881       *   repeated uint32 keys = 2 [packed = true]; // String IDs.
     
    81817883       *   optional Info info = 4;
    81827884       * </pre>
    8183        */
    8184       @Override
    8185         public long getId() {
    8186         return id_;
    8187       }
    8188       /**
     7885       *
    81897886       * <code>required int64 id = 1;</code>
    8190        *
    8191        * <pre>
    8192        *
     7887       */
     7888      public long getId() {
     7889        return instance.getId();
     7890      }
     7891      /**
     7892       * <pre>
     7893       *   
    81937894       *   // Parallel arrays.
    81947895       *   repeated uint32 keys = 2 [packed = true]; // String IDs.
     
    81967897       *   optional Info info = 4;
    81977898       * </pre>
     7899       *
     7900       * <code>required int64 id = 1;</code>
    81987901       */
    81997902      public Builder setId(long value) {
    8200         bitField0_ |= 0x00000001;
    8201         id_ = value;
    8202 
    8203         return this;
    8204       }
    8205       /**
    8206        * <code>required int64 id = 1;</code>
    8207        *
    8208        * <pre>
    8209        *
     7903        copyOnWrite();
     7904        instance.setId(value);
     7905        return this;
     7906      }
     7907      /**
     7908       * <pre>
     7909       *   
    82107910       *   // Parallel arrays.
    82117911       *   repeated uint32 keys = 2 [packed = true]; // String IDs.
     
    82137913       *   optional Info info = 4;
    82147914       * </pre>
     7915       *
     7916       * <code>required int64 id = 1;</code>
    82157917       */
    82167918      public Builder clearId() {
    8217         bitField0_ = (bitField0_ & ~0x00000001);
    8218         id_ = 0L;
    8219 
     7919        copyOnWrite();
     7920        instance.clearId();
    82207921        return this;
    82217922      }
     
    82237924      // @@protoc_insertion_point(builder_scope:OSMPBF.ChangeSet)
    82247925    }
    8225 
     7926    private byte memoizedIsInitialized = -1;
     7927    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
     7928    protected final java.lang.Object dynamicMethod(
     7929        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
     7930        java.lang.Object arg0, java.lang.Object arg1) {
     7931      switch (method) {
     7932        case NEW_MUTABLE_INSTANCE: {
     7933          return new crosby.binary.Osmformat.ChangeSet();
     7934        }
     7935        case IS_INITIALIZED: {
     7936          byte isInitialized = memoizedIsInitialized;
     7937          if (isInitialized == 1) return DEFAULT_INSTANCE;
     7938          if (isInitialized == 0) return null;
     7939
     7940          boolean shouldMemoize = ((Boolean) arg0).booleanValue();
     7941          if (!hasId()) {
     7942            if (shouldMemoize) {
     7943              memoizedIsInitialized = 0;
     7944            }
     7945            return null;
     7946          }
     7947          if (shouldMemoize) memoizedIsInitialized = 1;
     7948          return DEFAULT_INSTANCE;
     7949
     7950        }
     7951        case MAKE_IMMUTABLE: {
     7952          return null;
     7953        }
     7954        case NEW_BUILDER: {
     7955          return new Builder();
     7956        }
     7957        case VISIT: {
     7958          Visitor visitor = (Visitor) arg0;
     7959          crosby.binary.Osmformat.ChangeSet other = (crosby.binary.Osmformat.ChangeSet) arg1;
     7960          id_ = visitor.visitLong(
     7961              hasId(), id_,
     7962              other.hasId(), other.id_);
     7963          if (visitor == com.google.protobuf.GeneratedMessageLite.MergeFromVisitor
     7964              .INSTANCE) {
     7965            bitField0_ |= other.bitField0_;
     7966          }
     7967          return this;
     7968        }
     7969        case MERGE_FROM_STREAM: {
     7970          com.google.protobuf.CodedInputStream input =
     7971              (com.google.protobuf.CodedInputStream) arg0;
     7972          com.google.protobuf.ExtensionRegistryLite extensionRegistry =
     7973              (com.google.protobuf.ExtensionRegistryLite) arg1;
     7974          try {
     7975            boolean done = false;
     7976            while (!done) {
     7977              int tag = input.readTag();
     7978              switch (tag) {
     7979                case 0:
     7980                  done = true;
     7981                  break;
     7982                default: {
     7983                  if (!parseUnknownField(tag, input)) {
     7984                    done = true;
     7985                  }
     7986                  break;
     7987                }
     7988                case 8: {
     7989                  bitField0_ |= 0x00000001;
     7990                  id_ = input.readInt64();
     7991                  break;
     7992                }
     7993              }
     7994            }
     7995          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
     7996            throw new RuntimeException(e.setUnfinishedMessage(this));
     7997          } catch (java.io.IOException e) {
     7998            throw new RuntimeException(
     7999                new com.google.protobuf.InvalidProtocolBufferException(
     8000                    e.getMessage()).setUnfinishedMessage(this));
     8001          } finally {
     8002          }
     8003        }
     8004        // fall through
     8005        case GET_DEFAULT_INSTANCE: {
     8006          return DEFAULT_INSTANCE;
     8007        }
     8008        case GET_PARSER: {
     8009          if (PARSER == null) {    synchronized (crosby.binary.Osmformat.ChangeSet.class) {
     8010              if (PARSER == null) {
     8011                PARSER = new DefaultInstanceBasedParser(DEFAULT_INSTANCE);
     8012              }
     8013            }
     8014          }
     8015          return PARSER;
     8016        }
     8017      }
     8018      throw new UnsupportedOperationException();
     8019    }
     8020
     8021
     8022    // @@protoc_insertion_point(class_scope:OSMPBF.ChangeSet)
     8023    private static final crosby.binary.Osmformat.ChangeSet DEFAULT_INSTANCE;
    82268024    static {
    8227       defaultInstance = new ChangeSet(true);
    8228       defaultInstance.initFields();
    8229     }
    8230 
    8231     // @@protoc_insertion_point(class_scope:OSMPBF.ChangeSet)
     8025      DEFAULT_INSTANCE = new ChangeSet();
     8026      DEFAULT_INSTANCE.makeImmutable();
     8027    }
     8028
     8029    public static crosby.binary.Osmformat.ChangeSet getDefaultInstance() {
     8030      return DEFAULT_INSTANCE;
     8031    }
     8032
     8033    private static volatile com.google.protobuf.Parser<ChangeSet> PARSER;
     8034
     8035    public static com.google.protobuf.Parser<ChangeSet> parser() {
     8036      return DEFAULT_INSTANCE.getParserForType();
     8037    }
    82328038  }
    82338039
     
    82468052
    82478053    /**
     8054     * <pre>
     8055     * Parallel arrays.
     8056     * </pre>
     8057     *
    82488058     * <code>repeated uint32 keys = 2 [packed = true];</code>
    8249      *
     8059     */
     8060    java.util.List<java.lang.Integer> getKeysList();
     8061    /**
    82508062     * <pre>
    82518063     * Parallel arrays.
    82528064     * </pre>
    8253      */
    8254     java.util.List<java.lang.Integer> getKeysList();
    8255     /**
     8065     *
    82568066     * <code>repeated uint32 keys = 2 [packed = true];</code>
    8257      *
     8067     */
     8068    int getKeysCount();
     8069    /**
    82588070     * <pre>
    82598071     * Parallel arrays.
    82608072     * </pre>
    8261      */
    8262     int getKeysCount();
    8263     /**
     8073     *
    82648074     * <code>repeated uint32 keys = 2 [packed = true];</code>
    8265      *
    8266      * <pre>
    8267      * Parallel arrays.
    8268      * </pre>
    82698075     */
    82708076    int getKeys(int index);
    82718077
    82728078    /**
     8079     * <pre>
     8080     * String IDs.
     8081     * </pre>
     8082     *
    82738083     * <code>repeated uint32 vals = 3 [packed = true];</code>
    8274      *
     8084     */
     8085    java.util.List<java.lang.Integer> getValsList();
     8086    /**
    82758087     * <pre>
    82768088     * String IDs.
    82778089     * </pre>
    8278      */
    8279     java.util.List<java.lang.Integer> getValsList();
    8280     /**
     8090     *
    82818091     * <code>repeated uint32 vals = 3 [packed = true];</code>
    8282      *
     8092     */
     8093    int getValsCount();
     8094    /**
    82838095     * <pre>
    82848096     * String IDs.
    82858097     * </pre>
    8286      */
    8287     int getValsCount();
    8288     /**
     8098     *
    82898099     * <code>repeated uint32 vals = 3 [packed = true];</code>
    8290      *
    8291      * <pre>
    8292      * String IDs.
    8293      * </pre>
    82948100     */
    82958101    int getVals(int index);
    82968102
    82978103    /**
     8104     * <pre>
     8105     * May be omitted in omitmeta
     8106     * </pre>
     8107     *
    82988108     * <code>optional .OSMPBF.Info info = 4;</code>
    8299      *
     8109     */
     8110    boolean hasInfo();
     8111    /**
    83008112     * <pre>
    83018113     * May be omitted in omitmeta
    83028114     * </pre>
    8303      */
    8304     boolean hasInfo();
    8305     /**
     8115     *
    83068116     * <code>optional .OSMPBF.Info info = 4;</code>
    8307      *
    8308      * <pre>
    8309      * May be omitted in omitmeta
    8310      * </pre>
    83118117     */
    83128118    crosby.binary.Osmformat.Info getInfo();
     
    83338139   * Protobuf type {@code OSMPBF.Node}
    83348140   */
    8335   public static final class Node extends
    8336       com.google.protobuf.GeneratedMessageLite implements
     8141  public  static final class Node extends
     8142      com.google.protobuf.GeneratedMessageLite<
     8143          Node, Node.Builder> implements
    83378144      // @@protoc_insertion_point(message_implements:OSMPBF.Node)
    83388145      NodeOrBuilder {
    8339     // Use Node.newBuilder() to construct.
    8340     private Node(com.google.protobuf.GeneratedMessageLite.Builder builder) {
    8341       super(builder);
    8342       this.unknownFields = builder.getUnknownFields();
    8343     }
    8344     private Node(boolean noInit) { this.unknownFields = com.google.protobuf.ByteString.EMPTY;}
    8345 
    8346     private static final Node defaultInstance;
    8347     public static Node getDefaultInstance() {
    8348       return defaultInstance;
    8349     }
    8350 
    8351     @Override
    8352         public Node getDefaultInstanceForType() {
    8353       return defaultInstance;
    8354     }
    8355 
    8356     private final com.google.protobuf.ByteString unknownFields;
    8357     private Node(
    8358         com.google.protobuf.CodedInputStream input,
    8359         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    8360         throws com.google.protobuf.InvalidProtocolBufferException {
    8361       initFields();
    8362       int mutable_bitField0_ = 0;
    8363       com.google.protobuf.ByteString.Output unknownFieldsOutput =
    8364           com.google.protobuf.ByteString.newOutput();
    8365       com.google.protobuf.CodedOutputStream unknownFieldsCodedOutput =
    8366           com.google.protobuf.CodedOutputStream.newInstance(
    8367               unknownFieldsOutput);
    8368       try {
    8369         boolean done = false;
    8370         while (!done) {
    8371           int tag = input.readTag();
    8372           switch (tag) {
    8373             case 0:
    8374               done = true;
    8375               break;
    8376             default: {
    8377               if (!parseUnknownField(input, unknownFieldsCodedOutput,
    8378                                      extensionRegistry, tag)) {
    8379                 done = true;
    8380               }
    8381               break;
    8382             }
    8383             case 8: {
    8384               bitField0_ |= 0x00000001;
    8385               id_ = input.readSInt64();
    8386               break;
    8387             }
    8388             case 16: {
    8389               if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
    8390                 keys_ = new java.util.ArrayList<>();
    8391                 mutable_bitField0_ |= 0x00000002;
    8392               }
    8393               keys_.add(input.readUInt32());
    8394               break;
    8395             }
    8396             case 18: {
    8397               int length = input.readRawVarint32();
    8398               int limit = input.pushLimit(length);
    8399               if (!((mutable_bitField0_ & 0x00000002) == 0x00000002) && input.getBytesUntilLimit() > 0) {
    8400                 keys_ = new java.util.ArrayList<>();
    8401                 mutable_bitField0_ |= 0x00000002;
    8402               }
    8403               while (input.getBytesUntilLimit() > 0) {
    8404                 keys_.add(input.readUInt32());
    8405               }
    8406               input.popLimit(limit);
    8407               break;
    8408             }
    8409             case 24: {
    8410               if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
    8411                 vals_ = new java.util.ArrayList<>();
    8412                 mutable_bitField0_ |= 0x00000004;
    8413               }
    8414               vals_.add(input.readUInt32());
    8415               break;
    8416             }
    8417             case 26: {
    8418               int length = input.readRawVarint32();
    8419               int limit = input.pushLimit(length);
    8420               if (!((mutable_bitField0_ & 0x00000004) == 0x00000004) && input.getBytesUntilLimit() > 0) {
    8421                 vals_ = new java.util.ArrayList<>();
    8422                 mutable_bitField0_ |= 0x00000004;
    8423               }
    8424               while (input.getBytesUntilLimit() > 0) {
    8425                 vals_.add(input.readUInt32());
    8426               }
    8427               input.popLimit(limit);
    8428               break;
    8429             }
    8430             case 34: {
    8431               crosby.binary.Osmformat.Info.Builder subBuilder = null;
    8432               if (((bitField0_ & 0x00000002) == 0x00000002)) {
    8433                 subBuilder = info_.toBuilder();
    8434               }
    8435               info_ = input.readMessage(crosby.binary.Osmformat.Info.PARSER, extensionRegistry);
    8436               if (subBuilder != null) {
    8437                 subBuilder.mergeFrom(info_);
    8438                 info_ = subBuilder.buildPartial();
    8439               }
    8440               bitField0_ |= 0x00000002;
    8441               break;
    8442             }
    8443             case 64: {
    8444               bitField0_ |= 0x00000004;
    8445               lat_ = input.readSInt64();
    8446               break;
    8447             }
    8448             case 72: {
    8449               bitField0_ |= 0x00000008;
    8450               lon_ = input.readSInt64();
    8451               break;
    8452             }
    8453           }
    8454         }
    8455       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
    8456         throw e.setUnfinishedMessage(this);
    8457       } catch (java.io.IOException e) {
    8458         throw new com.google.protobuf.InvalidProtocolBufferException(
    8459             e.getMessage()).setUnfinishedMessage(this);
    8460       } finally {
    8461         if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
    8462           keys_ = java.util.Collections.unmodifiableList(keys_);
    8463         }
    8464         if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
    8465           vals_ = java.util.Collections.unmodifiableList(vals_);
    8466         }
    8467         try {
    8468           unknownFieldsCodedOutput.flush();
    8469         } catch (java.io.IOException e) {
    8470         // Should not happen
    8471         } finally {
    8472           unknownFields = unknownFieldsOutput.toByteString();
    8473         }
    8474         makeExtensionsImmutable();
    8475       }
    8476     }
    8477     public static com.google.protobuf.Parser<Node> PARSER =
    8478         new com.google.protobuf.AbstractParser<Node>() {
    8479       @Override
    8480         public Node parsePartialFrom(
    8481           com.google.protobuf.CodedInputStream input,
    8482           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    8483           throws com.google.protobuf.InvalidProtocolBufferException {
    8484         return new Node(input, extensionRegistry);
    8485       }
    8486     };
    8487 
    8488     @java.lang.Override
    8489     public com.google.protobuf.Parser<Node> getParserForType() {
    8490       return PARSER;
    8491     }
    8492 
     8146    private Node() {
     8147      keys_ = emptyIntList();
     8148      vals_ = emptyIntList();
     8149    }
    84938150    private int bitField0_;
    84948151    public static final int ID_FIELD_NUMBER = 1;
     
    84978154     * <code>required sint64 id = 1;</code>
    84988155     */
    8499     @Override
    8500         public boolean hasId() {
     8156    public boolean hasId() {
    85018157      return ((bitField0_ & 0x00000001) == 0x00000001);
    85028158    }
     
    85048160     * <code>required sint64 id = 1;</code>
    85058161     */
    8506     @Override
    8507         public long getId() {
     8162    public long getId() {
    85088163      return id_;
    85098164    }
     8165    /**
     8166     * <code>required sint64 id = 1;</code>
     8167     */
     8168    private void setId(long value) {
     8169      bitField0_ |= 0x00000001;
     8170      id_ = value;
     8171    }
     8172    /**
     8173     * <code>required sint64 id = 1;</code>
     8174     */
     8175    private void clearId() {
     8176      bitField0_ = (bitField0_ & ~0x00000001);
     8177      id_ = 0L;
     8178    }
    85108179
    85118180    public static final int KEYS_FIELD_NUMBER = 2;
    8512     private java.util.List<java.lang.Integer> keys_;
    8513     /**
     8181    private com.google.protobuf.Internal.IntList keys_;
     8182    /**
     8183     * <pre>
     8184     * Parallel arrays.
     8185     * </pre>
     8186     *
    85148187     * <code>repeated uint32 keys = 2 [packed = true];</code>
    8515      *
    8516      * <pre>
    8517      * Parallel arrays.
    8518      * </pre>
    8519      */
    8520     @Override
    8521         public java.util.List<java.lang.Integer>
     8188     */
     8189    public java.util.List<java.lang.Integer>
    85228190        getKeysList() {
    85238191      return keys_;
    85248192    }
    85258193    /**
     8194     * <pre>
     8195     * Parallel arrays.
     8196     * </pre>
     8197     *
    85268198     * <code>repeated uint32 keys = 2 [packed = true];</code>
    8527      *
     8199     */
     8200    public int getKeysCount() {
     8201      return keys_.size();
     8202    }
     8203    /**
    85288204     * <pre>
    85298205     * Parallel arrays.
    85308206     * </pre>
    8531      */
    8532     @Override
    8533         public int getKeysCount() {
    8534       return keys_.size();
    8535     }
    8536     /**
     8207     *
    85378208     * <code>repeated uint32 keys = 2 [packed = true];</code>
    8538      *
     8209     */
     8210    public int getKeys(int index) {
     8211      return keys_.getInt(index);
     8212    }
     8213    private int keysMemoizedSerializedSize = -1;
     8214    private void ensureKeysIsMutable() {
     8215      if (!keys_.isModifiable()) {
     8216        keys_ =
     8217            com.google.protobuf.GeneratedMessageLite.mutableCopy(keys_);
     8218       }
     8219    }
     8220    /**
    85398221     * <pre>
    85408222     * Parallel arrays.
    85418223     * </pre>
    8542      */
    8543     @Override
    8544         public int getKeys(int index) {
    8545       return keys_.get(index);
    8546     }
    8547     private int keysMemoizedSerializedSize = -1;
     8224     *
     8225     * <code>repeated uint32 keys = 2 [packed = true];</code>
     8226     */
     8227    private void setKeys(
     8228        int index, int value) {
     8229      ensureKeysIsMutable();
     8230      keys_.setInt(index, value);
     8231    }
     8232    /**
     8233     * <pre>
     8234     * Parallel arrays.
     8235     * </pre>
     8236     *
     8237     * <code>repeated uint32 keys = 2 [packed = true];</code>
     8238     */
     8239    private void addKeys(int value) {
     8240      ensureKeysIsMutable();
     8241      keys_.addInt(value);
     8242    }
     8243    /**
     8244     * <pre>
     8245     * Parallel arrays.
     8246     * </pre>
     8247     *
     8248     * <code>repeated uint32 keys = 2 [packed = true];</code>
     8249     */
     8250    private void addAllKeys(
     8251        java.lang.Iterable<? extends java.lang.Integer> values) {
     8252      ensureKeysIsMutable();
     8253      com.google.protobuf.AbstractMessageLite.addAll(
     8254          values, keys_);
     8255    }
     8256    /**
     8257     * <pre>
     8258     * Parallel arrays.
     8259     * </pre>
     8260     *
     8261     * <code>repeated uint32 keys = 2 [packed = true];</code>
     8262     */
     8263    private void clearKeys() {
     8264      keys_ = emptyIntList();
     8265    }
    85488266
    85498267    public static final int VALS_FIELD_NUMBER = 3;
    8550     private java.util.List<java.lang.Integer> vals_;
    8551     /**
     8268    private com.google.protobuf.Internal.IntList vals_;
     8269    /**
     8270     * <pre>
     8271     * String IDs.
     8272     * </pre>
     8273     *
    85528274     * <code>repeated uint32 vals = 3 [packed = true];</code>
    8553      *
    8554      * <pre>
    8555      * String IDs.
    8556      * </pre>
    8557      */
    8558     @Override
    8559         public java.util.List<java.lang.Integer>
     8275     */
     8276    public java.util.List<java.lang.Integer>
    85608277        getValsList() {
    85618278      return vals_;
    85628279    }
    85638280    /**
     8281     * <pre>
     8282     * String IDs.
     8283     * </pre>
     8284     *
    85648285     * <code>repeated uint32 vals = 3 [packed = true];</code>
    8565      *
     8286     */
     8287    public int getValsCount() {
     8288      return vals_.size();
     8289    }
     8290    /**
    85668291     * <pre>
    85678292     * String IDs.
    85688293     * </pre>
    8569      */
    8570     @Override
    8571         public int getValsCount() {
    8572       return vals_.size();
    8573     }
    8574     /**
     8294     *
    85758295     * <code>repeated uint32 vals = 3 [packed = true];</code>
    8576      *
     8296     */
     8297    public int getVals(int index) {
     8298      return vals_.getInt(index);
     8299    }
     8300    private int valsMemoizedSerializedSize = -1;
     8301    private void ensureValsIsMutable() {
     8302      if (!vals_.isModifiable()) {
     8303        vals_ =
     8304            com.google.protobuf.GeneratedMessageLite.mutableCopy(vals_);
     8305       }
     8306    }
     8307    /**
    85778308     * <pre>
    85788309     * String IDs.
    85798310     * </pre>
    8580      */
    8581     @Override
    8582         public int getVals(int index) {
    8583       return vals_.get(index);
    8584     }
    8585     private int valsMemoizedSerializedSize = -1;
     8311     *
     8312     * <code>repeated uint32 vals = 3 [packed = true];</code>
     8313     */
     8314    private void setVals(
     8315        int index, int value) {
     8316      ensureValsIsMutable();
     8317      vals_.setInt(index, value);
     8318    }
     8319    /**
     8320     * <pre>
     8321     * String IDs.
     8322     * </pre>
     8323     *
     8324     * <code>repeated uint32 vals = 3 [packed = true];</code>
     8325     */
     8326    private void addVals(int value) {
     8327      ensureValsIsMutable();
     8328      vals_.addInt(value);
     8329    }
     8330    /**
     8331     * <pre>
     8332     * String IDs.
     8333     * </pre>
     8334     *
     8335     * <code>repeated uint32 vals = 3 [packed = true];</code>
     8336     */
     8337    private void addAllVals(
     8338        java.lang.Iterable<? extends java.lang.Integer> values) {
     8339      ensureValsIsMutable();
     8340      com.google.protobuf.AbstractMessageLite.addAll(
     8341          values, vals_);
     8342    }
     8343    /**
     8344     * <pre>
     8345     * String IDs.
     8346     * </pre>
     8347     *
     8348     * <code>repeated uint32 vals = 3 [packed = true];</code>
     8349     */
     8350    private void clearVals() {
     8351      vals_ = emptyIntList();
     8352    }
    85868353
    85878354    public static final int INFO_FIELD_NUMBER = 4;
    85888355    private crosby.binary.Osmformat.Info info_;
    85898356    /**
     8357     * <pre>
     8358     * May be omitted in omitmeta
     8359     * </pre>
     8360     *
    85908361     * <code>optional .OSMPBF.Info info = 4;</code>
    8591      *
     8362     */
     8363    public boolean hasInfo() {
     8364      return ((bitField0_ & 0x00000002) == 0x00000002);
     8365    }
     8366    /**
    85928367     * <pre>
    85938368     * May be omitted in omitmeta
    85948369     * </pre>
    8595      */
    8596     @Override
    8597         public boolean hasInfo() {
    8598       return ((bitField0_ & 0x00000002) == 0x00000002);
    8599     }
    8600     /**
     8370     *
    86018371     * <code>optional .OSMPBF.Info info = 4;</code>
    8602      *
     8372     */
     8373    public crosby.binary.Osmformat.Info getInfo() {
     8374      return info_ == null ? crosby.binary.Osmformat.Info.getDefaultInstance() : info_;
     8375    }
     8376    /**
    86038377     * <pre>
    86048378     * May be omitted in omitmeta
    86058379     * </pre>
    8606      */
    8607     @Override
    8608         public crosby.binary.Osmformat.Info getInfo() {
    8609       return info_;
     8380     *
     8381     * <code>optional .OSMPBF.Info info = 4;</code>
     8382     */
     8383    private void setInfo(crosby.binary.Osmformat.Info value) {
     8384      if (value == null) {
     8385        throw new NullPointerException();
     8386      }
     8387      info_ = value;
     8388      bitField0_ |= 0x00000002;
     8389      }
     8390    /**
     8391     * <pre>
     8392     * May be omitted in omitmeta
     8393     * </pre>
     8394     *
     8395     * <code>optional .OSMPBF.Info info = 4;</code>
     8396     */
     8397    private void setInfo(
     8398        crosby.binary.Osmformat.Info.Builder builderForValue) {
     8399      info_ = builderForValue.build();
     8400      bitField0_ |= 0x00000002;
     8401    }
     8402    /**
     8403     * <pre>
     8404     * May be omitted in omitmeta
     8405     * </pre>
     8406     *
     8407     * <code>optional .OSMPBF.Info info = 4;</code>
     8408     */
     8409    private void mergeInfo(crosby.binary.Osmformat.Info value) {
     8410      if (info_ != null &&
     8411          info_ != crosby.binary.Osmformat.Info.getDefaultInstance()) {
     8412        info_ =
     8413          crosby.binary.Osmformat.Info.newBuilder(info_).mergeFrom(value).buildPartial();
     8414      } else {
     8415        info_ = value;
     8416      }
     8417      bitField0_ |= 0x00000002;
     8418    }
     8419    /**
     8420     * <pre>
     8421     * May be omitted in omitmeta
     8422     * </pre>
     8423     *
     8424     * <code>optional .OSMPBF.Info info = 4;</code>
     8425     */
     8426    private void clearInfo() {  info_ = null;
     8427      bitField0_ = (bitField0_ & ~0x00000002);
    86108428    }
    86118429
     
    86158433     * <code>required sint64 lat = 8;</code>
    86168434     */
    8617     @Override
    8618         public boolean hasLat() {
     8435    public boolean hasLat() {
    86198436      return ((bitField0_ & 0x00000004) == 0x00000004);
    86208437    }
     
    86228439     * <code>required sint64 lat = 8;</code>
    86238440     */
    8624     @Override
    8625         public long getLat() {
     8441    public long getLat() {
    86268442      return lat_;
     8443    }
     8444    /**
     8445     * <code>required sint64 lat = 8;</code>
     8446     */
     8447    private void setLat(long value) {
     8448      bitField0_ |= 0x00000004;
     8449      lat_ = value;
     8450    }
     8451    /**
     8452     * <code>required sint64 lat = 8;</code>
     8453     */
     8454    private void clearLat() {
     8455      bitField0_ = (bitField0_ & ~0x00000004);
     8456      lat_ = 0L;
    86278457    }
    86288458
     
    86328462     * <code>required sint64 lon = 9;</code>
    86338463     */
    8634     @Override
    8635         public boolean hasLon() {
     8464    public boolean hasLon() {
    86368465      return ((bitField0_ & 0x00000008) == 0x00000008);
    86378466    }
     
    86398468     * <code>required sint64 lon = 9;</code>
    86408469     */
    8641     @Override
    8642         public long getLon() {
     8470    public long getLon() {
    86438471      return lon_;
    86448472    }
    8645 
    8646     private void initFields() {
    8647       id_ = 0L;
    8648       keys_ = java.util.Collections.emptyList();
    8649       vals_ = java.util.Collections.emptyList();
    8650       info_ = crosby.binary.Osmformat.Info.getDefaultInstance();
    8651       lat_ = 0L;
     8473    /**
     8474     * <code>required sint64 lon = 9;</code>
     8475     */
     8476    private void setLon(long value) {
     8477      bitField0_ |= 0x00000008;
     8478      lon_ = value;
     8479    }
     8480    /**
     8481     * <code>required sint64 lon = 9;</code>
     8482     */
     8483    private void clearLon() {
     8484      bitField0_ = (bitField0_ & ~0x00000008);
    86528485      lon_ = 0L;
    86538486    }
    8654     private byte memoizedIsInitialized = -1;
    8655     @Override
    8656         public final boolean isInitialized() {
    8657       byte isInitialized = memoizedIsInitialized;
    8658       if (isInitialized == 1) return true;
    8659       if (isInitialized == 0) return false;
    8660 
    8661       if (!hasId()) {
    8662         memoizedIsInitialized = 0;
    8663         return false;
    8664       }
    8665       if (!hasLat()) {
    8666         memoizedIsInitialized = 0;
    8667         return false;
    8668       }
    8669       if (!hasLon()) {
    8670         memoizedIsInitialized = 0;
    8671         return false;
    8672       }
    8673       memoizedIsInitialized = 1;
    8674       return true;
    8675     }
    8676 
    8677     @Override
    8678         public void writeTo(com.google.protobuf.CodedOutputStream output)
     8487
     8488    public void writeTo(com.google.protobuf.CodedOutputStream output)
    86798489                        throws java.io.IOException {
    86808490      getSerializedSize();
     
    86838493      }
    86848494      if (getKeysList().size() > 0) {
    8685         output.writeRawVarint32(18);
    8686         output.writeRawVarint32(keysMemoizedSerializedSize);
     8495        output.writeUInt32NoTag(18);
     8496        output.writeUInt32NoTag(keysMemoizedSerializedSize);
    86878497      }
    86888498      for (int i = 0; i < keys_.size(); i++) {
    8689         output.writeUInt32NoTag(keys_.get(i));
     8499        output.writeUInt32NoTag(keys_.getInt(i));
    86908500      }
    86918501      if (getValsList().size() > 0) {
    8692         output.writeRawVarint32(26);
    8693         output.writeRawVarint32(valsMemoizedSerializedSize);
     8502        output.writeUInt32NoTag(26);
     8503        output.writeUInt32NoTag(valsMemoizedSerializedSize);
    86948504      }
    86958505      for (int i = 0; i < vals_.size(); i++) {
    8696         output.writeUInt32NoTag(vals_.get(i));
     8506        output.writeUInt32NoTag(vals_.getInt(i));
    86978507      }
    86988508      if (((bitField0_ & 0x00000002) == 0x00000002)) {
    8699         output.writeMessage(4, info_);
     8509        output.writeMessage(4, getInfo());
    87008510      }
    87018511      if (((bitField0_ & 0x00000004) == 0x00000004)) {
     
    87058515        output.writeSInt64(9, lon_);
    87068516      }
    8707       output.writeRawBytes(unknownFields);
    8708     }
    8709 
    8710     private int memoizedSerializedSize = -1;
    8711     @Override
    8712         public int getSerializedSize() {
     8517      unknownFields.writeTo(output);
     8518    }
     8519
     8520    public int getSerializedSize() {
    87138521      int size = memoizedSerializedSize;
    87148522      if (size != -1) return size;
     
    87238531        for (int i = 0; i < keys_.size(); i++) {
    87248532          dataSize += com.google.protobuf.CodedOutputStream
    8725             .computeUInt32SizeNoTag(keys_.get(i));
     8533            .computeUInt32SizeNoTag(keys_.getInt(i));
    87268534        }
    87278535        size += dataSize;
     
    87378545        for (int i = 0; i < vals_.size(); i++) {
    87388546          dataSize += com.google.protobuf.CodedOutputStream
    8739             .computeUInt32SizeNoTag(vals_.get(i));
     8547            .computeUInt32SizeNoTag(vals_.getInt(i));
    87408548        }
    87418549        size += dataSize;
     
    87498557      if (((bitField0_ & 0x00000002) == 0x00000002)) {
    87508558        size += com.google.protobuf.CodedOutputStream
    8751           .computeMessageSize(4, info_);
     8559          .computeMessageSize(4, getInfo());
    87528560      }
    87538561      if (((bitField0_ & 0x00000004) == 0x00000004)) {
     
    87598567          .computeSInt64Size(9, lon_);
    87608568      }
    8761       size += unknownFields.size();
     8569      size += unknownFields.getSerializedSize();
    87628570      memoizedSerializedSize = size;
    87638571      return size;
    87648572    }
    87658573
    8766     private static final long serialVersionUID = 0L;
    8767     @java.lang.Override
    8768     protected java.lang.Object writeReplace()
    8769         throws java.io.ObjectStreamException {
    8770       return super.writeReplace();
    8771     }
    8772 
     8574    public static crosby.binary.Osmformat.Node parseFrom(
     8575        java.nio.ByteBuffer data)
     8576        throws com.google.protobuf.InvalidProtocolBufferException {
     8577      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     8578          DEFAULT_INSTANCE, data);
     8579    }
     8580    public static crosby.binary.Osmformat.Node parseFrom(
     8581        java.nio.ByteBuffer data,
     8582        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     8583        throws com.google.protobuf.InvalidProtocolBufferException {
     8584      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     8585          DEFAULT_INSTANCE, data, extensionRegistry);
     8586    }
    87738587    public static crosby.binary.Osmformat.Node parseFrom(
    87748588        com.google.protobuf.ByteString data)
    87758589        throws com.google.protobuf.InvalidProtocolBufferException {
    8776       return PARSER.parseFrom(data);
     8590      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     8591          DEFAULT_INSTANCE, data);
    87778592    }
    87788593    public static crosby.binary.Osmformat.Node parseFrom(
     
    87808595        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    87818596        throws com.google.protobuf.InvalidProtocolBufferException {
    8782       return PARSER.parseFrom(data, extensionRegistry);
     8597      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     8598          DEFAULT_INSTANCE, data, extensionRegistry);
    87838599    }
    87848600    public static crosby.binary.Osmformat.Node parseFrom(byte[] data)
    87858601        throws com.google.protobuf.InvalidProtocolBufferException {
    8786       return PARSER.parseFrom(data);
     8602      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     8603          DEFAULT_INSTANCE, data);
    87878604    }
    87888605    public static crosby.binary.Osmformat.Node parseFrom(
     
    87908607        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    87918608        throws com.google.protobuf.InvalidProtocolBufferException {
    8792       return PARSER.parseFrom(data, extensionRegistry);
     8609      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     8610          DEFAULT_INSTANCE, data, extensionRegistry);
    87938611    }
    87948612    public static crosby.binary.Osmformat.Node parseFrom(java.io.InputStream input)
    87958613        throws java.io.IOException {
    8796       return PARSER.parseFrom(input);
     8614      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     8615          DEFAULT_INSTANCE, input);
    87978616    }
    87988617    public static crosby.binary.Osmformat.Node parseFrom(
     
    88008619        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    88018620        throws java.io.IOException {
    8802       return PARSER.parseFrom(input, extensionRegistry);
     8621      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     8622          DEFAULT_INSTANCE, input, extensionRegistry);
    88038623    }
    88048624    public static crosby.binary.Osmformat.Node parseDelimitedFrom(java.io.InputStream input)
    88058625        throws java.io.IOException {
    8806       return PARSER.parseDelimitedFrom(input);
     8626      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    88078627    }
    88088628    public static crosby.binary.Osmformat.Node parseDelimitedFrom(
     
    88108630        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    88118631        throws java.io.IOException {
    8812       return PARSER.parseDelimitedFrom(input, extensionRegistry);
     8632      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    88138633    }
    88148634    public static crosby.binary.Osmformat.Node parseFrom(
    88158635        com.google.protobuf.CodedInputStream input)
    88168636        throws java.io.IOException {
    8817       return PARSER.parseFrom(input);
     8637      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     8638          DEFAULT_INSTANCE, input);
    88188639    }
    88198640    public static crosby.binary.Osmformat.Node parseFrom(
     
    88218642        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    88228643        throws java.io.IOException {
    8823       return PARSER.parseFrom(input, extensionRegistry);
    8824     }
    8825 
    8826     public static Builder newBuilder() { return Builder.create(); }
    8827     @Override
    8828         public Builder newBuilderForType() { return newBuilder(); }
     8644      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     8645          DEFAULT_INSTANCE, input, extensionRegistry);
     8646    }
     8647
     8648    public static Builder newBuilder() {
     8649      return DEFAULT_INSTANCE.toBuilder();
     8650    }
    88298651    public static Builder newBuilder(crosby.binary.Osmformat.Node prototype) {
    8830       return newBuilder().mergeFrom(prototype);
    8831     }
    8832     @Override
    8833         public Builder toBuilder() { return newBuilder(this); }
     8652      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     8653    }
    88348654
    88358655    /**
     
    88388658    public static final class Builder extends
    88398659        com.google.protobuf.GeneratedMessageLite.Builder<
    8840           crosby.binary.Osmformat.Node, Builder>
    8841         implements
     8660          crosby.binary.Osmformat.Node, Builder> implements
    88428661        // @@protoc_insertion_point(builder_implements:OSMPBF.Node)
    88438662        crosby.binary.Osmformat.NodeOrBuilder {
    88448663      // Construct using crosby.binary.Osmformat.Node.newBuilder()
    88458664      private Builder() {
    8846         maybeForceBuilderInitialization();
    8847       }
    8848 
    8849       private void maybeForceBuilderInitialization() {
    8850       }
    8851       private static Builder create() {
    8852         return new Builder();
    8853       }
    8854 
    8855       @Override
    8856         public Builder clear() {
    8857         super.clear();
    8858         id_ = 0L;
    8859         bitField0_ = (bitField0_ & ~0x00000001);
    8860         keys_ = java.util.Collections.emptyList();
    8861         bitField0_ = (bitField0_ & ~0x00000002);
    8862         vals_ = java.util.Collections.emptyList();
    8863         bitField0_ = (bitField0_ & ~0x00000004);
    8864         info_ = crosby.binary.Osmformat.Info.getDefaultInstance();
    8865         bitField0_ = (bitField0_ & ~0x00000008);
    8866         lat_ = 0L;
    8867         bitField0_ = (bitField0_ & ~0x00000010);
    8868         lon_ = 0L;
    8869         bitField0_ = (bitField0_ & ~0x00000020);
    8870         return this;
    8871       }
    8872 
    8873       @Override
    8874         public Builder clone() {
    8875         return create().mergeFrom(buildPartial());
    8876       }
    8877 
    8878       @Override
    8879         public crosby.binary.Osmformat.Node getDefaultInstanceForType() {
    8880         return crosby.binary.Osmformat.Node.getDefaultInstance();
    8881       }
    8882 
    8883       @Override
    8884         public crosby.binary.Osmformat.Node build() {
    8885         crosby.binary.Osmformat.Node result = buildPartial();
    8886         if (!result.isInitialized()) {
    8887           throw newUninitializedMessageException(result);
    8888         }
    8889         return result;
    8890       }
    8891 
    8892       @Override
    8893         public crosby.binary.Osmformat.Node buildPartial() {
    8894         crosby.binary.Osmformat.Node result = new crosby.binary.Osmformat.Node(this);
    8895         int from_bitField0_ = bitField0_;
    8896         int to_bitField0_ = 0;
    8897         if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
    8898           to_bitField0_ |= 0x00000001;
    8899         }
    8900         result.id_ = id_;
    8901         if (((bitField0_ & 0x00000002) == 0x00000002)) {
    8902           keys_ = java.util.Collections.unmodifiableList(keys_);
    8903           bitField0_ = (bitField0_ & ~0x00000002);
    8904         }
    8905         result.keys_ = keys_;
    8906         if (((bitField0_ & 0x00000004) == 0x00000004)) {
    8907           vals_ = java.util.Collections.unmodifiableList(vals_);
    8908           bitField0_ = (bitField0_ & ~0x00000004);
    8909         }
    8910         result.vals_ = vals_;
    8911         if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
    8912           to_bitField0_ |= 0x00000002;
    8913         }
    8914         result.info_ = info_;
    8915         if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
    8916           to_bitField0_ |= 0x00000004;
    8917         }
    8918         result.lat_ = lat_;
    8919         if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
    8920           to_bitField0_ |= 0x00000008;
    8921         }
    8922         result.lon_ = lon_;
    8923         result.bitField0_ = to_bitField0_;
    8924         return result;
    8925       }
    8926 
    8927       @Override
    8928         public Builder mergeFrom(crosby.binary.Osmformat.Node other) {
    8929         if (other == crosby.binary.Osmformat.Node.getDefaultInstance()) return this;
    8930         if (other.hasId()) {
    8931           setId(other.getId());
    8932         }
    8933         if (!other.keys_.isEmpty()) {
    8934           if (keys_.isEmpty()) {
    8935             keys_ = other.keys_;
    8936             bitField0_ = (bitField0_ & ~0x00000002);
    8937           } else {
    8938             ensureKeysIsMutable();
    8939             keys_.addAll(other.keys_);
    8940           }
    8941 
    8942         }
    8943         if (!other.vals_.isEmpty()) {
    8944           if (vals_.isEmpty()) {
    8945             vals_ = other.vals_;
    8946             bitField0_ = (bitField0_ & ~0x00000004);
    8947           } else {
    8948             ensureValsIsMutable();
    8949             vals_.addAll(other.vals_);
    8950           }
    8951 
    8952         }
    8953         if (other.hasInfo()) {
    8954           mergeInfo(other.getInfo());
    8955         }
    8956         if (other.hasLat()) {
    8957           setLat(other.getLat());
    8958         }
    8959         if (other.hasLon()) {
    8960           setLon(other.getLon());
    8961         }
    8962         setUnknownFields(
    8963             getUnknownFields().concat(other.unknownFields));
    8964         return this;
    8965       }
    8966 
    8967       @Override
    8968         public final boolean isInitialized() {
    8969         if (!hasId()) {
    8970 
    8971           return false;
    8972         }
    8973         if (!hasLat()) {
    8974 
    8975           return false;
    8976         }
    8977         if (!hasLon()) {
    8978 
    8979           return false;
    8980         }
    8981         return true;
    8982       }
    8983 
    8984       @Override
    8985         public Builder mergeFrom(
    8986           com.google.protobuf.CodedInputStream input,
    8987           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    8988           throws java.io.IOException {
    8989         crosby.binary.Osmformat.Node parsedMessage = null;
    8990         try {
    8991           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
    8992         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
    8993           parsedMessage = (crosby.binary.Osmformat.Node) e.getUnfinishedMessage();
    8994           throw e;
    8995         } finally {
    8996           if (parsedMessage != null) {
    8997             mergeFrom(parsedMessage);
    8998           }
    8999         }
    9000         return this;
    9001       }
    9002       private int bitField0_;
    9003 
    9004       private long id_ ;
     8665        super(DEFAULT_INSTANCE);
     8666      }
     8667
     8668
    90058669      /**
    90068670       * <code>required sint64 id = 1;</code>
    90078671       */
    9008       @Override
    9009         public boolean hasId() {
    9010         return ((bitField0_ & 0x00000001) == 0x00000001);
     8672      public boolean hasId() {
     8673        return instance.hasId();
    90118674      }
    90128675      /**
    90138676       * <code>required sint64 id = 1;</code>
    90148677       */
    9015       @Override
    9016         public long getId() {
    9017         return id_;
     8678      public long getId() {
     8679        return instance.getId();
    90188680      }
    90198681      /**
     
    90218683       */
    90228684      public Builder setId(long value) {
    9023         bitField0_ |= 0x00000001;
    9024         id_ = value;
    9025 
     8685        copyOnWrite();
     8686        instance.setId(value);
    90268687        return this;
    90278688      }
     
    90308691       */
    90318692      public Builder clearId() {
    9032         bitField0_ = (bitField0_ & ~0x00000001);
    9033         id_ = 0L;
    9034 
    9035         return this;
    9036       }
    9037 
    9038       private java.util.List<java.lang.Integer> keys_ = java.util.Collections.emptyList();
    9039       private void ensureKeysIsMutable() {
    9040         if (!((bitField0_ & 0x00000002) == 0x00000002)) {
    9041           keys_ = new java.util.ArrayList<>(keys_);
    9042           bitField0_ |= 0x00000002;
    9043          }
    9044       }
    9045       /**
     8693        copyOnWrite();
     8694        instance.clearId();
     8695        return this;
     8696      }
     8697
     8698      /**
     8699       * <pre>
     8700       * Parallel arrays.
     8701       * </pre>
     8702       *
    90468703       * <code>repeated uint32 keys = 2 [packed = true];</code>
    9047        *
     8704       */
     8705      public java.util.List<java.lang.Integer>
     8706          getKeysList() {
     8707        return java.util.Collections.unmodifiableList(
     8708            instance.getKeysList());
     8709      }
     8710      /**
    90488711       * <pre>
    90498712       * Parallel arrays.
    90508713       * </pre>
    9051        */
    9052       @Override
    9053         public java.util.List<java.lang.Integer>
    9054           getKeysList() {
    9055         return java.util.Collections.unmodifiableList(keys_);
    9056       }
    9057       /**
     8714       *
    90588715       * <code>repeated uint32 keys = 2 [packed = true];</code>
    9059        *
     8716       */
     8717      public int getKeysCount() {
     8718        return instance.getKeysCount();
     8719      }
     8720      /**
    90608721       * <pre>
    90618722       * Parallel arrays.
    90628723       * </pre>
    9063        */
    9064       @Override
    9065         public int getKeysCount() {
    9066         return keys_.size();
    9067       }
    9068       /**
     8724       *
    90698725       * <code>repeated uint32 keys = 2 [packed = true];</code>
    9070        *
     8726       */
     8727      public int getKeys(int index) {
     8728        return instance.getKeys(index);
     8729      }
     8730      /**
    90718731       * <pre>
    90728732       * Parallel arrays.
    90738733       * </pre>
    9074        */
    9075       @Override
    9076         public int getKeys(int index) {
    9077         return keys_.get(index);
    9078       }
    9079       /**
     8734       *
    90808735       * <code>repeated uint32 keys = 2 [packed = true];</code>
    9081        *
    9082        * <pre>
    9083        * Parallel arrays.
    9084        * </pre>
    90858736       */
    90868737      public Builder setKeys(
    90878738          int index, int value) {
    9088         ensureKeysIsMutable();
    9089         keys_.set(index, value);
    9090 
    9091         return this;
    9092       }
    9093       /**
     8739        copyOnWrite();
     8740        instance.setKeys(index, value);
     8741        return this;
     8742      }
     8743      /**
     8744       * <pre>
     8745       * Parallel arrays.
     8746       * </pre>
     8747       *
    90948748       * <code>repeated uint32 keys = 2 [packed = true];</code>
    9095        *
     8749       */
     8750      public Builder addKeys(int value) {
     8751        copyOnWrite();
     8752        instance.addKeys(value);
     8753        return this;
     8754      }
     8755      /**
    90968756       * <pre>
    90978757       * Parallel arrays.
    90988758       * </pre>
    9099        */
    9100       public Builder addKeys(int value) {
    9101         ensureKeysIsMutable();
    9102         keys_.add(value);
    9103 
    9104         return this;
    9105       }
    9106       /**
     8759       *
    91078760       * <code>repeated uint32 keys = 2 [packed = true];</code>
    9108        *
    9109        * <pre>
    9110        * Parallel arrays.
    9111        * </pre>
    91128761       */
    91138762      public Builder addAllKeys(
    91148763          java.lang.Iterable<? extends java.lang.Integer> values) {
    9115         ensureKeysIsMutable();
    9116         com.google.protobuf.AbstractMessageLite.Builder.addAll(
    9117             values, keys_);
    9118 
    9119         return this;
    9120       }
    9121       /**
     8764        copyOnWrite();
     8765        instance.addAllKeys(values);
     8766        return this;
     8767      }
     8768      /**
     8769       * <pre>
     8770       * Parallel arrays.
     8771       * </pre>
     8772       *
    91228773       * <code>repeated uint32 keys = 2 [packed = true];</code>
    9123        *
    9124        * <pre>
    9125        * Parallel arrays.
    9126        * </pre>
    91278774       */
    91288775      public Builder clearKeys() {
    9129         keys_ = java.util.Collections.emptyList();
    9130         bitField0_ = (bitField0_ & ~0x00000002);
    9131 
    9132         return this;
    9133       }
    9134 
    9135       private java.util.List<java.lang.Integer> vals_ = java.util.Collections.emptyList();
    9136       private void ensureValsIsMutable() {
    9137         if (!((bitField0_ & 0x00000004) == 0x00000004)) {
    9138           vals_ = new java.util.ArrayList<>(vals_);
    9139           bitField0_ |= 0x00000004;
    9140          }
    9141       }
    9142       /**
     8776        copyOnWrite();
     8777        instance.clearKeys();
     8778        return this;
     8779      }
     8780
     8781      /**
     8782       * <pre>
     8783       * String IDs.
     8784       * </pre>
     8785       *
    91438786       * <code>repeated uint32 vals = 3 [packed = true];</code>
    9144        *
     8787       */
     8788      public java.util.List<java.lang.Integer>
     8789          getValsList() {
     8790        return java.util.Collections.unmodifiableList(
     8791            instance.getValsList());
     8792      }
     8793      /**
    91458794       * <pre>
    91468795       * String IDs.
    91478796       * </pre>
    9148        */
    9149       @Override
    9150         public java.util.List<java.lang.Integer>
    9151           getValsList() {
    9152         return java.util.Collections.unmodifiableList(vals_);
    9153       }
    9154       /**
     8797       *
    91558798       * <code>repeated uint32 vals = 3 [packed = true];</code>
    9156        *
     8799       */
     8800      public int getValsCount() {
     8801        return instance.getValsCount();
     8802      }
     8803      /**
    91578804       * <pre>
    91588805       * String IDs.
    91598806       * </pre>
    9160        */
    9161       @Override
    9162         public int getValsCount() {
    9163         return vals_.size();
    9164       }
    9165       /**
     8807       *
    91668808       * <code>repeated uint32 vals = 3 [packed = true];</code>
    9167        *
     8809       */
     8810      public int getVals(int index) {
     8811        return instance.getVals(index);
     8812      }
     8813      /**
    91688814       * <pre>
    91698815       * String IDs.
    91708816       * </pre>
    9171        */
    9172       @Override
    9173         public int getVals(int index) {
    9174         return vals_.get(index);
    9175       }
    9176       /**
     8817       *
    91778818       * <code>repeated uint32 vals = 3 [packed = true];</code>
    9178        *
    9179        * <pre>
    9180        * String IDs.
    9181        * </pre>
    91828819       */
    91838820      public Builder setVals(
    91848821          int index, int value) {
    9185         ensureValsIsMutable();
    9186         vals_.set(index, value);
    9187 
    9188         return this;
    9189       }
    9190       /**
     8822        copyOnWrite();
     8823        instance.setVals(index, value);
     8824        return this;
     8825      }
     8826      /**
     8827       * <pre>
     8828       * String IDs.
     8829       * </pre>
     8830       *
    91918831       * <code>repeated uint32 vals = 3 [packed = true];</code>
    9192        *
     8832       */
     8833      public Builder addVals(int value) {
     8834        copyOnWrite();
     8835        instance.addVals(value);
     8836        return this;
     8837      }
     8838      /**
    91938839       * <pre>
    91948840       * String IDs.
    91958841       * </pre>
    9196        */
    9197       public Builder addVals(int value) {
    9198         ensureValsIsMutable();
    9199         vals_.add(value);
    9200 
    9201         return this;
    9202       }
    9203       /**
     8842       *
    92048843       * <code>repeated uint32 vals = 3 [packed = true];</code>
    9205        *
    9206        * <pre>
    9207        * String IDs.
    9208        * </pre>
    92098844       */
    92108845      public Builder addAllVals(
    92118846          java.lang.Iterable<? extends java.lang.Integer> values) {
    9212         ensureValsIsMutable();
    9213         com.google.protobuf.AbstractMessageLite.Builder.addAll(
    9214             values, vals_);
    9215 
    9216         return this;
    9217       }
    9218       /**
     8847        copyOnWrite();
     8848        instance.addAllVals(values);
     8849        return this;
     8850      }
     8851      /**
     8852       * <pre>
     8853       * String IDs.
     8854       * </pre>
     8855       *
    92198856       * <code>repeated uint32 vals = 3 [packed = true];</code>
    9220        *
    9221        * <pre>
    9222        * String IDs.
    9223        * </pre>
    92248857       */
    92258858      public Builder clearVals() {
    9226         vals_ = java.util.Collections.emptyList();
    9227         bitField0_ = (bitField0_ & ~0x00000004);
    9228 
    9229         return this;
    9230       }
    9231 
    9232       private crosby.binary.Osmformat.Info info_ = crosby.binary.Osmformat.Info.getDefaultInstance();
    9233       /**
     8859        copyOnWrite();
     8860        instance.clearVals();
     8861        return this;
     8862      }
     8863
     8864      /**
     8865       * <pre>
     8866       * May be omitted in omitmeta
     8867       * </pre>
     8868       *
    92348869       * <code>optional .OSMPBF.Info info = 4;</code>
    9235        *
     8870       */
     8871      public boolean hasInfo() {
     8872        return instance.hasInfo();
     8873      }
     8874      /**
    92368875       * <pre>
    92378876       * May be omitted in omitmeta
    92388877       * </pre>
    9239        */
    9240       @Override
    9241         public boolean hasInfo() {
    9242         return ((bitField0_ & 0x00000008) == 0x00000008);
    9243       }
    9244       /**
     8878       *
    92458879       * <code>optional .OSMPBF.Info info = 4;</code>
    9246        *
     8880       */
     8881      public crosby.binary.Osmformat.Info getInfo() {
     8882        return instance.getInfo();
     8883      }
     8884      /**
    92478885       * <pre>
    92488886       * May be omitted in omitmeta
    92498887       * </pre>
    9250        */
    9251       @Override
    9252         public crosby.binary.Osmformat.Info getInfo() {
    9253         return info_;
    9254       }
    9255       /**
     8888       *
    92568889       * <code>optional .OSMPBF.Info info = 4;</code>
    9257        *
     8890       */
     8891      public Builder setInfo(crosby.binary.Osmformat.Info value) {
     8892        copyOnWrite();
     8893        instance.setInfo(value);
     8894        return this;
     8895        }
     8896      /**
    92588897       * <pre>
    92598898       * May be omitted in omitmeta
    92608899       * </pre>
    9261        */
    9262       public Builder setInfo(crosby.binary.Osmformat.Info value) {
    9263         if (value == null) {
    9264           throw new NullPointerException();
    9265         }
    9266         info_ = value;
    9267 
    9268         bitField0_ |= 0x00000008;
    9269         return this;
    9270       }
    9271       /**
     8900       *
    92728901       * <code>optional .OSMPBF.Info info = 4;</code>
    9273        *
    9274        * <pre>
    9275        * May be omitted in omitmeta
    9276        * </pre>
    92778902       */
    92788903      public Builder setInfo(
    92798904          crosby.binary.Osmformat.Info.Builder builderForValue) {
    9280         info_ = builderForValue.build();
    9281 
    9282         bitField0_ |= 0x00000008;
    9283         return this;
    9284       }
    9285       /**
     8905        copyOnWrite();
     8906        instance.setInfo(builderForValue);
     8907        return this;
     8908      }
     8909      /**
     8910       * <pre>
     8911       * May be omitted in omitmeta
     8912       * </pre>
     8913       *
    92868914       * <code>optional .OSMPBF.Info info = 4;</code>
    9287        *
     8915       */
     8916      public Builder mergeInfo(crosby.binary.Osmformat.Info value) {
     8917        copyOnWrite();
     8918        instance.mergeInfo(value);
     8919        return this;
     8920      }
     8921      /**
    92888922       * <pre>
    92898923       * May be omitted in omitmeta
    92908924       * </pre>
    9291        */
    9292       public Builder mergeInfo(crosby.binary.Osmformat.Info value) {
    9293         if (((bitField0_ & 0x00000008) == 0x00000008) &&
    9294             info_ != crosby.binary.Osmformat.Info.getDefaultInstance()) {
    9295           info_ =
    9296             crosby.binary.Osmformat.Info.newBuilder(info_).mergeFrom(value).buildPartial();
    9297         } else {
    9298           info_ = value;
    9299         }
    9300 
    9301         bitField0_ |= 0x00000008;
    9302         return this;
    9303       }
    9304       /**
     8925       *
    93058926       * <code>optional .OSMPBF.Info info = 4;</code>
    9306        *
    9307        * <pre>
    9308        * May be omitted in omitmeta
    9309        * </pre>
    9310        */
    9311       public Builder clearInfo() {
    9312         info_ = crosby.binary.Osmformat.Info.getDefaultInstance();
    9313 
    9314         bitField0_ = (bitField0_ & ~0x00000008);
    9315         return this;
    9316       }
    9317 
    9318       private long lat_ ;
     8927       */
     8928      public Builder clearInfo() {  copyOnWrite();
     8929        instance.clearInfo();
     8930        return this;
     8931      }
     8932
    93198933      /**
    93208934       * <code>required sint64 lat = 8;</code>
    93218935       */
    9322       @Override
    9323         public boolean hasLat() {
    9324         return ((bitField0_ & 0x00000010) == 0x00000010);
     8936      public boolean hasLat() {
     8937        return instance.hasLat();
    93258938      }
    93268939      /**
    93278940       * <code>required sint64 lat = 8;</code>
    93288941       */
    9329       @Override
    9330         public long getLat() {
    9331         return lat_;
     8942      public long getLat() {
     8943        return instance.getLat();
    93328944      }
    93338945      /**
     
    93358947       */
    93368948      public Builder setLat(long value) {
    9337         bitField0_ |= 0x00000010;
    9338         lat_ = value;
    9339 
     8949        copyOnWrite();
     8950        instance.setLat(value);
    93408951        return this;
    93418952      }
     
    93448955       */
    93458956      public Builder clearLat() {
    9346         bitField0_ = (bitField0_ & ~0x00000010);
    9347         lat_ = 0L;
    9348 
    9349         return this;
    9350       }
    9351 
    9352       private long lon_ ;
     8957        copyOnWrite();
     8958        instance.clearLat();
     8959        return this;
     8960      }
     8961
    93538962      /**
    93548963       * <code>required sint64 lon = 9;</code>
    93558964       */
    9356       @Override
    9357         public boolean hasLon() {
    9358         return ((bitField0_ & 0x00000020) == 0x00000020);
     8965      public boolean hasLon() {
     8966        return instance.hasLon();
    93598967      }
    93608968      /**
    93618969       * <code>required sint64 lon = 9;</code>
    93628970       */
    9363       @Override
    9364         public long getLon() {
    9365         return lon_;
     8971      public long getLon() {
     8972        return instance.getLon();
    93668973      }
    93678974      /**
     
    93698976       */
    93708977      public Builder setLon(long value) {
    9371         bitField0_ |= 0x00000020;
    9372         lon_ = value;
    9373 
     8978        copyOnWrite();
     8979        instance.setLon(value);
    93748980        return this;
    93758981      }
     
    93788984       */
    93798985      public Builder clearLon() {
    9380         bitField0_ = (bitField0_ & ~0x00000020);
    9381         lon_ = 0L;
    9382 
     8986        copyOnWrite();
     8987        instance.clearLon();
    93838988        return this;
    93848989      }
     
    93868991      // @@protoc_insertion_point(builder_scope:OSMPBF.Node)
    93878992    }
    9388 
     8993    private byte memoizedIsInitialized = -1;
     8994    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
     8995    protected final java.lang.Object dynamicMethod(
     8996        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
     8997        java.lang.Object arg0, java.lang.Object arg1) {
     8998      switch (method) {
     8999        case NEW_MUTABLE_INSTANCE: {
     9000          return new crosby.binary.Osmformat.Node();
     9001        }
     9002        case IS_INITIALIZED: {
     9003          byte isInitialized = memoizedIsInitialized;
     9004          if (isInitialized == 1) return DEFAULT_INSTANCE;
     9005          if (isInitialized == 0) return null;
     9006
     9007          boolean shouldMemoize = ((Boolean) arg0).booleanValue();
     9008          if (!hasId()) {
     9009            if (shouldMemoize) {
     9010              memoizedIsInitialized = 0;
     9011            }
     9012            return null;
     9013          }
     9014          if (!hasLat()) {
     9015            if (shouldMemoize) {
     9016              memoizedIsInitialized = 0;
     9017            }
     9018            return null;
     9019          }
     9020          if (!hasLon()) {
     9021            if (shouldMemoize) {
     9022              memoizedIsInitialized = 0;
     9023            }
     9024            return null;
     9025          }
     9026          if (shouldMemoize) memoizedIsInitialized = 1;
     9027          return DEFAULT_INSTANCE;
     9028
     9029        }
     9030        case MAKE_IMMUTABLE: {
     9031          keys_.makeImmutable();
     9032          vals_.makeImmutable();
     9033          return null;
     9034        }
     9035        case NEW_BUILDER: {
     9036          return new Builder();
     9037        }
     9038        case VISIT: {
     9039          Visitor visitor = (Visitor) arg0;
     9040          crosby.binary.Osmformat.Node other = (crosby.binary.Osmformat.Node) arg1;
     9041          id_ = visitor.visitLong(
     9042              hasId(), id_,
     9043              other.hasId(), other.id_);
     9044          keys_= visitor.visitIntList(keys_, other.keys_);
     9045          vals_= visitor.visitIntList(vals_, other.vals_);
     9046          info_ = visitor.visitMessage(info_, other.info_);
     9047          lat_ = visitor.visitLong(
     9048              hasLat(), lat_,
     9049              other.hasLat(), other.lat_);
     9050          lon_ = visitor.visitLong(
     9051              hasLon(), lon_,
     9052              other.hasLon(), other.lon_);
     9053          if (visitor == com.google.protobuf.GeneratedMessageLite.MergeFromVisitor
     9054              .INSTANCE) {
     9055            bitField0_ |= other.bitField0_;
     9056          }
     9057          return this;
     9058        }
     9059        case MERGE_FROM_STREAM: {
     9060          com.google.protobuf.CodedInputStream input =
     9061              (com.google.protobuf.CodedInputStream) arg0;
     9062          com.google.protobuf.ExtensionRegistryLite extensionRegistry =
     9063              (com.google.protobuf.ExtensionRegistryLite) arg1;
     9064          try {
     9065            boolean done = false;
     9066            while (!done) {
     9067              int tag = input.readTag();
     9068              switch (tag) {
     9069                case 0:
     9070                  done = true;
     9071                  break;
     9072                default: {
     9073                  if (!parseUnknownField(tag, input)) {
     9074                    done = true;
     9075                  }
     9076                  break;
     9077                }
     9078                case 8: {
     9079                  bitField0_ |= 0x00000001;
     9080                  id_ = input.readSInt64();
     9081                  break;
     9082                }
     9083                case 16: {
     9084                  if (!keys_.isModifiable()) {
     9085                    keys_ =
     9086                        com.google.protobuf.GeneratedMessageLite.mutableCopy(keys_);
     9087                  }
     9088                  keys_.addInt(input.readUInt32());
     9089                  break;
     9090                }
     9091                case 18: {
     9092                  int length = input.readRawVarint32();
     9093                  int limit = input.pushLimit(length);
     9094                  if (!keys_.isModifiable() && input.getBytesUntilLimit() > 0) {
     9095                    keys_ =
     9096                        com.google.protobuf.GeneratedMessageLite.mutableCopy(keys_);
     9097                  }
     9098                  while (input.getBytesUntilLimit() > 0) {
     9099                    keys_.addInt(input.readUInt32());
     9100                  }
     9101                  input.popLimit(limit);
     9102                  break;
     9103                }
     9104                case 24: {
     9105                  if (!vals_.isModifiable()) {
     9106                    vals_ =
     9107                        com.google.protobuf.GeneratedMessageLite.mutableCopy(vals_);
     9108                  }
     9109                  vals_.addInt(input.readUInt32());
     9110                  break;
     9111                }
     9112                case 26: {
     9113                  int length = input.readRawVarint32();
     9114                  int limit = input.pushLimit(length);
     9115                  if (!vals_.isModifiable() && input.getBytesUntilLimit() > 0) {
     9116                    vals_ =
     9117                        com.google.protobuf.GeneratedMessageLite.mutableCopy(vals_);
     9118                  }
     9119                  while (input.getBytesUntilLimit() > 0) {
     9120                    vals_.addInt(input.readUInt32());
     9121                  }
     9122                  input.popLimit(limit);
     9123                  break;
     9124                }
     9125                case 34: {
     9126                  crosby.binary.Osmformat.Info.Builder subBuilder = null;
     9127                  if (((bitField0_ & 0x00000002) == 0x00000002)) {
     9128                    subBuilder = info_.toBuilder();
     9129                  }
     9130                  info_ = input.readMessage(crosby.binary.Osmformat.Info.parser(), extensionRegistry);
     9131                  if (subBuilder != null) {
     9132                    subBuilder.mergeFrom(info_);
     9133                    info_ = subBuilder.buildPartial();
     9134                  }
     9135                  bitField0_ |= 0x00000002;
     9136                  break;
     9137                }
     9138                case 64: {
     9139                  bitField0_ |= 0x00000004;
     9140                  lat_ = input.readSInt64();
     9141                  break;
     9142                }
     9143                case 72: {
     9144                  bitField0_ |= 0x00000008;
     9145                  lon_ = input.readSInt64();
     9146                  break;
     9147                }
     9148              }
     9149            }
     9150          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
     9151            throw new RuntimeException(e.setUnfinishedMessage(this));
     9152          } catch (java.io.IOException e) {
     9153            throw new RuntimeException(
     9154                new com.google.protobuf.InvalidProtocolBufferException(
     9155                    e.getMessage()).setUnfinishedMessage(this));
     9156          } finally {
     9157          }
     9158        }
     9159        // fall through
     9160        case GET_DEFAULT_INSTANCE: {
     9161          return DEFAULT_INSTANCE;
     9162        }
     9163        case GET_PARSER: {
     9164          if (PARSER == null) {    synchronized (crosby.binary.Osmformat.Node.class) {
     9165              if (PARSER == null) {
     9166                PARSER = new DefaultInstanceBasedParser(DEFAULT_INSTANCE);
     9167              }
     9168            }
     9169          }
     9170          return PARSER;
     9171        }
     9172      }
     9173      throw new UnsupportedOperationException();
     9174    }
     9175
     9176
     9177    // @@protoc_insertion_point(class_scope:OSMPBF.Node)
     9178    private static final crosby.binary.Osmformat.Node DEFAULT_INSTANCE;
    93899179    static {
    9390       defaultInstance = new Node(true);
    9391       defaultInstance.initFields();
    9392     }
    9393 
    9394     // @@protoc_insertion_point(class_scope:OSMPBF.Node)
     9180      DEFAULT_INSTANCE = new Node();
     9181      DEFAULT_INSTANCE.makeImmutable();
     9182    }
     9183
     9184    public static crosby.binary.Osmformat.Node getDefaultInstance() {
     9185      return DEFAULT_INSTANCE;
     9186    }
     9187
     9188    private static volatile com.google.protobuf.Parser<Node> PARSER;
     9189
     9190    public static com.google.protobuf.Parser<Node> parser() {
     9191      return DEFAULT_INSTANCE.getParserForType();
     9192    }
    93959193  }
    93969194
     
    94009198
    94019199    /**
     9200     * <pre>
     9201     * DELTA coded
     9202     * </pre>
     9203     *
    94029204     * <code>repeated sint64 id = 1 [packed = true];</code>
    9403      *
     9205     */
     9206    java.util.List<java.lang.Long> getIdList();
     9207    /**
    94049208     * <pre>
    94059209     * DELTA coded
    94069210     * </pre>
    9407      */
    9408     java.util.List<java.lang.Long> getIdList();
    9409     /**
     9211     *
    94109212     * <code>repeated sint64 id = 1 [packed = true];</code>
    9411      *
     9213     */
     9214    int getIdCount();
     9215    /**
    94129216     * <pre>
    94139217     * DELTA coded
    94149218     * </pre>
    9415      */
    9416     int getIdCount();
    9417     /**
     9219     *
    94189220     * <code>repeated sint64 id = 1 [packed = true];</code>
    9419      *
     9221     */
     9222    long getId(int index);
     9223
     9224    /**
     9225     * <pre>
     9226     *repeated Info info = 4;
     9227     * </pre>
     9228     *
     9229     * <code>optional .OSMPBF.DenseInfo denseinfo = 5;</code>
     9230     */
     9231    boolean hasDenseinfo();
     9232    /**
     9233     * <pre>
     9234     *repeated Info info = 4;
     9235     * </pre>
     9236     *
     9237     * <code>optional .OSMPBF.DenseInfo denseinfo = 5;</code>
     9238     */
     9239    crosby.binary.Osmformat.DenseInfo getDenseinfo();
     9240
     9241    /**
    94209242     * <pre>
    94219243     * DELTA coded
    94229244     * </pre>
    9423      */
    9424     long getId(int index);
    9425 
    9426     /**
    9427      * <code>optional .OSMPBF.DenseInfo denseinfo = 5;</code>
    9428      *
    9429      * <pre>
    9430      *repeated Info info = 4;
    9431      * </pre>
    9432      */
    9433     boolean hasDenseinfo();
    9434     /**
    9435      * <code>optional .OSMPBF.DenseInfo denseinfo = 5;</code>
    9436      *
    9437      * <pre>
    9438      *repeated Info info = 4;
    9439      * </pre>
    9440      */
    9441     crosby.binary.Osmformat.DenseInfo getDenseinfo();
    9442 
    9443     /**
     9245     *
    94449246     * <code>repeated sint64 lat = 8 [packed = true];</code>
    9445      *
     9247     */
     9248    java.util.List<java.lang.Long> getLatList();
     9249    /**
    94469250     * <pre>
    94479251     * DELTA coded
    94489252     * </pre>
    9449      */
    9450     java.util.List<java.lang.Long> getLatList();
    9451     /**
     9253     *
    94529254     * <code>repeated sint64 lat = 8 [packed = true];</code>
    9453      *
     9255     */
     9256    int getLatCount();
     9257    /**
    94549258     * <pre>
    94559259     * DELTA coded
    94569260     * </pre>
    9457      */
    9458     int getLatCount();
    9459     /**
     9261     *
    94609262     * <code>repeated sint64 lat = 8 [packed = true];</code>
    9461      *
     9263     */
     9264    long getLat(int index);
     9265
     9266    /**
    94629267     * <pre>
    94639268     * DELTA coded
    94649269     * </pre>
    9465      */
    9466     long getLat(int index);
    9467 
    9468     /**
     9270     *
    94699271     * <code>repeated sint64 lon = 9 [packed = true];</code>
    9470      *
     9272     */
     9273    java.util.List<java.lang.Long> getLonList();
     9274    /**
    94719275     * <pre>
    94729276     * DELTA coded
    94739277     * </pre>
    9474      */
    9475     java.util.List<java.lang.Long> getLonList();
    9476     /**
     9278     *
    94779279     * <code>repeated sint64 lon = 9 [packed = true];</code>
    9478      *
     9280     */
     9281    int getLonCount();
     9282    /**
    94799283     * <pre>
    94809284     * DELTA coded
    94819285     * </pre>
    9482      */
    9483     int getLonCount();
    9484     /**
     9286     *
    94859287     * <code>repeated sint64 lon = 9 [packed = true];</code>
    9486      *
    9487      * <pre>
    9488      * DELTA coded
    9489      * </pre>
    94909288     */
    94919289    long getLon(int index);
    94929290
    94939291    /**
     9292     * <pre>
     9293     * Special packing of keys and vals into one array. May be empty if all nodes in this block are tagless.
     9294     * </pre>
     9295     *
    94949296     * <code>repeated int32 keys_vals = 10 [packed = true];</code>
    9495      *
     9297     */
     9298    java.util.List<java.lang.Integer> getKeysValsList();
     9299    /**
    94969300     * <pre>
    94979301     * Special packing of keys and vals into one array. May be empty if all nodes in this block are tagless.
    94989302     * </pre>
    9499      */
    9500     java.util.List<java.lang.Integer> getKeysValsList();
    9501     /**
     9303     *
    95029304     * <code>repeated int32 keys_vals = 10 [packed = true];</code>
    9503      *
     9305     */
     9306    int getKeysValsCount();
     9307    /**
    95049308     * <pre>
    95059309     * Special packing of keys and vals into one array. May be empty if all nodes in this block are tagless.
    95069310     * </pre>
    9507      */
    9508     int getKeysValsCount();
    9509     /**
     9311     *
    95109312     * <code>repeated int32 keys_vals = 10 [packed = true];</code>
    9511      *
    9512      * <pre>
    9513      * Special packing of keys and vals into one array. May be empty if all nodes in this block are tagless.
    9514      * </pre>
    95159313     */
    95169314    int getKeysVals(int index);
     
    95199317   * Protobuf type {@code OSMPBF.DenseNodes}
    95209318   */
    9521   public static final class DenseNodes extends
    9522       com.google.protobuf.GeneratedMessageLite implements
     9319  public  static final class DenseNodes extends
     9320      com.google.protobuf.GeneratedMessageLite<
     9321          DenseNodes, DenseNodes.Builder> implements
    95239322      // @@protoc_insertion_point(message_implements:OSMPBF.DenseNodes)
    95249323      DenseNodesOrBuilder {
    9525     // Use DenseNodes.newBuilder() to construct.
    9526     private DenseNodes(com.google.protobuf.GeneratedMessageLite.Builder builder) {
    9527       super(builder);
    9528       this.unknownFields = builder.getUnknownFields();
    9529     }
    9530     private DenseNodes(boolean noInit) { this.unknownFields = com.google.protobuf.ByteString.EMPTY;}
    9531 
    9532     private static final DenseNodes defaultInstance;
    9533     public static DenseNodes getDefaultInstance() {
    9534       return defaultInstance;
    9535     }
    9536 
    9537     @Override
    9538         public DenseNodes getDefaultInstanceForType() {
    9539       return defaultInstance;
    9540     }
    9541 
    9542     private final com.google.protobuf.ByteString unknownFields;
    9543     private DenseNodes(
    9544         com.google.protobuf.CodedInputStream input,
    9545         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    9546         throws com.google.protobuf.InvalidProtocolBufferException {
    9547       initFields();
    9548       int mutable_bitField0_ = 0;
    9549       com.google.protobuf.ByteString.Output unknownFieldsOutput =
    9550           com.google.protobuf.ByteString.newOutput();
    9551       com.google.protobuf.CodedOutputStream unknownFieldsCodedOutput =
    9552           com.google.protobuf.CodedOutputStream.newInstance(
    9553               unknownFieldsOutput);
    9554       try {
    9555         boolean done = false;
    9556         while (!done) {
    9557           int tag = input.readTag();
    9558           switch (tag) {
    9559             case 0:
    9560               done = true;
    9561               break;
    9562             default: {
    9563               if (!parseUnknownField(input, unknownFieldsCodedOutput,
    9564                                      extensionRegistry, tag)) {
    9565                 done = true;
    9566               }
    9567               break;
    9568             }
    9569             case 8: {
    9570               if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
    9571                 id_ = new java.util.ArrayList<>();
    9572                 mutable_bitField0_ |= 0x00000001;
    9573               }
    9574               id_.add(input.readSInt64());
    9575               break;
    9576             }
    9577             case 10: {
    9578               int length = input.readRawVarint32();
    9579               int limit = input.pushLimit(length);
    9580               if (!((mutable_bitField0_ & 0x00000001) == 0x00000001) && input.getBytesUntilLimit() > 0) {
    9581                 id_ = new java.util.ArrayList<>();
    9582                 mutable_bitField0_ |= 0x00000001;
    9583               }
    9584               while (input.getBytesUntilLimit() > 0) {
    9585                 id_.add(input.readSInt64());
    9586               }
    9587               input.popLimit(limit);
    9588               break;
    9589             }
    9590             case 42: {
    9591               crosby.binary.Osmformat.DenseInfo.Builder subBuilder = null;
    9592               if (((bitField0_ & 0x00000001) == 0x00000001)) {
    9593                 subBuilder = denseinfo_.toBuilder();
    9594               }
    9595               denseinfo_ = input.readMessage(crosby.binary.Osmformat.DenseInfo.PARSER, extensionRegistry);
    9596               if (subBuilder != null) {
    9597                 subBuilder.mergeFrom(denseinfo_);
    9598                 denseinfo_ = subBuilder.buildPartial();
    9599               }
    9600               bitField0_ |= 0x00000001;
    9601               break;
    9602             }
    9603             case 64: {
    9604               if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
    9605                 lat_ = new java.util.ArrayList<>();
    9606                 mutable_bitField0_ |= 0x00000004;
    9607               }
    9608               lat_.add(input.readSInt64());
    9609               break;
    9610             }
    9611             case 66: {
    9612               int length = input.readRawVarint32();
    9613               int limit = input.pushLimit(length);
    9614               if (!((mutable_bitField0_ & 0x00000004) == 0x00000004) && input.getBytesUntilLimit() > 0) {
    9615                 lat_ = new java.util.ArrayList<>();
    9616                 mutable_bitField0_ |= 0x00000004;
    9617               }
    9618               while (input.getBytesUntilLimit() > 0) {
    9619                 lat_.add(input.readSInt64());
    9620               }
    9621               input.popLimit(limit);
    9622               break;
    9623             }
    9624             case 72: {
    9625               if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
    9626                 lon_ = new java.util.ArrayList<>();
    9627                 mutable_bitField0_ |= 0x00000008;
    9628               }
    9629               lon_.add(input.readSInt64());
    9630               break;
    9631             }
    9632             case 74: {
    9633               int length = input.readRawVarint32();
    9634               int limit = input.pushLimit(length);
    9635               if (!((mutable_bitField0_ & 0x00000008) == 0x00000008) && input.getBytesUntilLimit() > 0) {
    9636                 lon_ = new java.util.ArrayList<>();
    9637                 mutable_bitField0_ |= 0x00000008;
    9638               }
    9639               while (input.getBytesUntilLimit() > 0) {
    9640                 lon_.add(input.readSInt64());
    9641               }
    9642               input.popLimit(limit);
    9643               break;
    9644             }
    9645             case 80: {
    9646               if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
    9647                 keysVals_ = new java.util.ArrayList<>();
    9648                 mutable_bitField0_ |= 0x00000010;
    9649               }
    9650               keysVals_.add(input.readInt32());
    9651               break;
    9652             }
    9653             case 82: {
    9654               int length = input.readRawVarint32();
    9655               int limit = input.pushLimit(length);
    9656               if (!((mutable_bitField0_ & 0x00000010) == 0x00000010) && input.getBytesUntilLimit() > 0) {
    9657                 keysVals_ = new java.util.ArrayList<>();
    9658                 mutable_bitField0_ |= 0x00000010;
    9659               }
    9660               while (input.getBytesUntilLimit() > 0) {
    9661                 keysVals_.add(input.readInt32());
    9662               }
    9663               input.popLimit(limit);
    9664               break;
    9665             }
    9666           }
    9667         }
    9668       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
    9669         throw e.setUnfinishedMessage(this);
    9670       } catch (java.io.IOException e) {
    9671         throw new com.google.protobuf.InvalidProtocolBufferException(
    9672             e.getMessage()).setUnfinishedMessage(this);
    9673       } finally {
    9674         if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
    9675           id_ = java.util.Collections.unmodifiableList(id_);
    9676         }
    9677         if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
    9678           lat_ = java.util.Collections.unmodifiableList(lat_);
    9679         }
    9680         if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
    9681           lon_ = java.util.Collections.unmodifiableList(lon_);
    9682         }
    9683         if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
    9684           keysVals_ = java.util.Collections.unmodifiableList(keysVals_);
    9685         }
    9686         try {
    9687           unknownFieldsCodedOutput.flush();
    9688         } catch (java.io.IOException e) {
    9689         // Should not happen
    9690         } finally {
    9691           unknownFields = unknownFieldsOutput.toByteString();
    9692         }
    9693         makeExtensionsImmutable();
    9694       }
    9695     }
    9696     public static com.google.protobuf.Parser<DenseNodes> PARSER =
    9697         new com.google.protobuf.AbstractParser<DenseNodes>() {
    9698       @Override
    9699         public DenseNodes parsePartialFrom(
    9700           com.google.protobuf.CodedInputStream input,
    9701           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    9702           throws com.google.protobuf.InvalidProtocolBufferException {
    9703         return new DenseNodes(input, extensionRegistry);
    9704       }
    9705     };
    9706 
    9707     @java.lang.Override
    9708     public com.google.protobuf.Parser<DenseNodes> getParserForType() {
    9709       return PARSER;
    9710     }
    9711 
     9324    private DenseNodes() {
     9325      id_ = emptyLongList();
     9326      lat_ = emptyLongList();
     9327      lon_ = emptyLongList();
     9328      keysVals_ = emptyIntList();
     9329    }
    97129330    private int bitField0_;
    97139331    public static final int ID_FIELD_NUMBER = 1;
    9714     private java.util.List<java.lang.Long> id_;
    9715     /**
     9332    private com.google.protobuf.Internal.LongList id_;
     9333    /**
     9334     * <pre>
     9335     * DELTA coded
     9336     * </pre>
     9337     *
    97169338     * <code>repeated sint64 id = 1 [packed = true];</code>
    9717      *
    9718      * <pre>
    9719      * DELTA coded
    9720      * </pre>
    9721      */
    9722     @Override
    9723         public java.util.List<java.lang.Long>
     9339     */
     9340    public java.util.List<java.lang.Long>
    97249341        getIdList() {
    97259342      return id_;
    97269343    }
    97279344    /**
     9345     * <pre>
     9346     * DELTA coded
     9347     * </pre>
     9348     *
    97289349     * <code>repeated sint64 id = 1 [packed = true];</code>
    9729      *
     9350     */
     9351    public int getIdCount() {
     9352      return id_.size();
     9353    }
     9354    /**
    97309355     * <pre>
    97319356     * DELTA coded
    97329357     * </pre>
    9733      */
    9734     @Override
    9735         public int getIdCount() {
    9736       return id_.size();
    9737     }
    9738     /**
     9358     *
    97399359     * <code>repeated sint64 id = 1 [packed = true];</code>
    9740      *
     9360     */
     9361    public long getId(int index) {
     9362      return id_.getLong(index);
     9363    }
     9364    private int idMemoizedSerializedSize = -1;
     9365    private void ensureIdIsMutable() {
     9366      if (!id_.isModifiable()) {
     9367        id_ =
     9368            com.google.protobuf.GeneratedMessageLite.mutableCopy(id_);
     9369       }
     9370    }
     9371    /**
    97419372     * <pre>
    97429373     * DELTA coded
    97439374     * </pre>
    9744      */
    9745     @Override
    9746         public long getId(int index) {
    9747       return id_.get(index);
    9748     }
    9749     private int idMemoizedSerializedSize = -1;
     9375     *
     9376     * <code>repeated sint64 id = 1 [packed = true];</code>
     9377     */
     9378    private void setId(
     9379        int index, long value) {
     9380      ensureIdIsMutable();
     9381      id_.setLong(index, value);
     9382    }
     9383    /**
     9384     * <pre>
     9385     * DELTA coded
     9386     * </pre>
     9387     *
     9388     * <code>repeated sint64 id = 1 [packed = true];</code>
     9389     */
     9390    private void addId(long value) {
     9391      ensureIdIsMutable();
     9392      id_.addLong(value);
     9393    }
     9394    /**
     9395     * <pre>
     9396     * DELTA coded
     9397     * </pre>
     9398     *
     9399     * <code>repeated sint64 id = 1 [packed = true];</code>
     9400     */
     9401    private void addAllId(
     9402        java.lang.Iterable<? extends java.lang.Long> values) {
     9403      ensureIdIsMutable();
     9404      com.google.protobuf.AbstractMessageLite.addAll(
     9405          values, id_);
     9406    }
     9407    /**
     9408     * <pre>
     9409     * DELTA coded
     9410     * </pre>
     9411     *
     9412     * <code>repeated sint64 id = 1 [packed = true];</code>
     9413     */
     9414    private void clearId() {
     9415      id_ = emptyLongList();
     9416    }
    97509417
    97519418    public static final int DENSEINFO_FIELD_NUMBER = 5;
    97529419    private crosby.binary.Osmformat.DenseInfo denseinfo_;
    97539420    /**
     9421     * <pre>
     9422     *repeated Info info = 4;
     9423     * </pre>
     9424     *
    97549425     * <code>optional .OSMPBF.DenseInfo denseinfo = 5;</code>
    9755      *
     9426     */
     9427    public boolean hasDenseinfo() {
     9428      return ((bitField0_ & 0x00000001) == 0x00000001);
     9429    }
     9430    /**
    97569431     * <pre>
    97579432     *repeated Info info = 4;
    97589433     * </pre>
    9759      */
    9760     @Override
    9761         public boolean hasDenseinfo() {
    9762       return ((bitField0_ & 0x00000001) == 0x00000001);
    9763     }
    9764     /**
     9434     *
    97659435     * <code>optional .OSMPBF.DenseInfo denseinfo = 5;</code>
    9766      *
     9436     */
     9437    public crosby.binary.Osmformat.DenseInfo getDenseinfo() {
     9438      return denseinfo_ == null ? crosby.binary.Osmformat.DenseInfo.getDefaultInstance() : denseinfo_;
     9439    }
     9440    /**
    97679441     * <pre>
    97689442     *repeated Info info = 4;
    97699443     * </pre>
    9770      */
    9771     @Override
    9772         public crosby.binary.Osmformat.DenseInfo getDenseinfo() {
    9773       return denseinfo_;
     9444     *
     9445     * <code>optional .OSMPBF.DenseInfo denseinfo = 5;</code>
     9446     */
     9447    private void setDenseinfo(crosby.binary.Osmformat.DenseInfo value) {
     9448      if (value == null) {
     9449        throw new NullPointerException();
     9450      }
     9451      denseinfo_ = value;
     9452      bitField0_ |= 0x00000001;
     9453      }
     9454    /**
     9455     * <pre>
     9456     *repeated Info info = 4;
     9457     * </pre>
     9458     *
     9459     * <code>optional .OSMPBF.DenseInfo denseinfo = 5;</code>
     9460     */
     9461    private void setDenseinfo(
     9462        crosby.binary.Osmformat.DenseInfo.Builder builderForValue) {
     9463      denseinfo_ = builderForValue.build();
     9464      bitField0_ |= 0x00000001;
     9465    }
     9466    /**
     9467     * <pre>
     9468     *repeated Info info = 4;
     9469     * </pre>
     9470     *
     9471     * <code>optional .OSMPBF.DenseInfo denseinfo = 5;</code>
     9472     */
     9473    private void mergeDenseinfo(crosby.binary.Osmformat.DenseInfo value) {
     9474      if (denseinfo_ != null &&
     9475          denseinfo_ != crosby.binary.Osmformat.DenseInfo.getDefaultInstance()) {
     9476        denseinfo_ =
     9477          crosby.binary.Osmformat.DenseInfo.newBuilder(denseinfo_).mergeFrom(value).buildPartial();
     9478      } else {
     9479        denseinfo_ = value;
     9480      }
     9481      bitField0_ |= 0x00000001;
     9482    }
     9483    /**
     9484     * <pre>
     9485     *repeated Info info = 4;
     9486     * </pre>
     9487     *
     9488     * <code>optional .OSMPBF.DenseInfo denseinfo = 5;</code>
     9489     */
     9490    private void clearDenseinfo() {  denseinfo_ = null;
     9491      bitField0_ = (bitField0_ & ~0x00000001);
    97749492    }
    97759493
    97769494    public static final int LAT_FIELD_NUMBER = 8;
    9777     private java.util.List<java.lang.Long> lat_;
    9778     /**
     9495    private com.google.protobuf.Internal.LongList lat_;
     9496    /**
     9497     * <pre>
     9498     * DELTA coded
     9499     * </pre>
     9500     *
    97799501     * <code>repeated sint64 lat = 8 [packed = true];</code>
    9780      *
    9781      * <pre>
    9782      * DELTA coded
    9783      * </pre>
    9784      */
    9785     @Override
    9786         public java.util.List<java.lang.Long>
     9502     */
     9503    public java.util.List<java.lang.Long>
    97879504        getLatList() {
    97889505      return lat_;
    97899506    }
    97909507    /**
     9508     * <pre>
     9509     * DELTA coded
     9510     * </pre>
     9511     *
    97919512     * <code>repeated sint64 lat = 8 [packed = true];</code>
    9792      *
     9513     */
     9514    public int getLatCount() {
     9515      return lat_.size();
     9516    }
     9517    /**
    97939518     * <pre>
    97949519     * DELTA coded
    97959520     * </pre>
    9796      */
    9797     @Override
    9798         public int getLatCount() {
    9799       return lat_.size();
    9800     }
    9801     /**
     9521     *
    98029522     * <code>repeated sint64 lat = 8 [packed = true];</code>
    9803      *
     9523     */
     9524    public long getLat(int index) {
     9525      return lat_.getLong(index);
     9526    }
     9527    private int latMemoizedSerializedSize = -1;
     9528    private void ensureLatIsMutable() {
     9529      if (!lat_.isModifiable()) {
     9530        lat_ =
     9531            com.google.protobuf.GeneratedMessageLite.mutableCopy(lat_);
     9532       }
     9533    }
     9534    /**
    98049535     * <pre>
    98059536     * DELTA coded
    98069537     * </pre>
    9807      */
    9808     @Override
    9809         public long getLat(int index) {
    9810       return lat_.get(index);
    9811     }
    9812     private int latMemoizedSerializedSize = -1;
     9538     *
     9539     * <code>repeated sint64 lat = 8 [packed = true];</code>
     9540     */
     9541    private void setLat(
     9542        int index, long value) {
     9543      ensureLatIsMutable();
     9544      lat_.setLong(index, value);
     9545    }
     9546    /**
     9547     * <pre>
     9548     * DELTA coded
     9549     * </pre>
     9550     *
     9551     * <code>repeated sint64 lat = 8 [packed = true];</code>
     9552     */
     9553    private void addLat(long value) {
     9554      ensureLatIsMutable();
     9555      lat_.addLong(value);
     9556    }
     9557    /**
     9558     * <pre>
     9559     * DELTA coded
     9560     * </pre>
     9561     *
     9562     * <code>repeated sint64 lat = 8 [packed = true];</code>
     9563     */
     9564    private void addAllLat(
     9565        java.lang.Iterable<? extends java.lang.Long> values) {
     9566      ensureLatIsMutable();
     9567      com.google.protobuf.AbstractMessageLite.addAll(
     9568          values, lat_);
     9569    }
     9570    /**
     9571     * <pre>
     9572     * DELTA coded
     9573     * </pre>
     9574     *
     9575     * <code>repeated sint64 lat = 8 [packed = true];</code>
     9576     */
     9577    private void clearLat() {
     9578      lat_ = emptyLongList();
     9579    }
    98139580
    98149581    public static final int LON_FIELD_NUMBER = 9;
    9815     private java.util.List<java.lang.Long> lon_;
    9816     /**
     9582    private com.google.protobuf.Internal.LongList lon_;
     9583    /**
     9584     * <pre>
     9585     * DELTA coded
     9586     * </pre>
     9587     *
    98179588     * <code>repeated sint64 lon = 9 [packed = true];</code>
    9818      *
    9819      * <pre>
    9820      * DELTA coded
    9821      * </pre>
    9822      */
    9823     @Override
    9824         public java.util.List<java.lang.Long>
     9589     */
     9590    public java.util.List<java.lang.Long>
    98259591        getLonList() {
    98269592      return lon_;
    98279593    }
    98289594    /**
     9595     * <pre>
     9596     * DELTA coded
     9597     * </pre>
     9598     *
    98299599     * <code>repeated sint64 lon = 9 [packed = true];</code>
    9830      *
     9600     */
     9601    public int getLonCount() {
     9602      return lon_.size();
     9603    }
     9604    /**
    98319605     * <pre>
    98329606     * DELTA coded
    98339607     * </pre>
    9834      */
    9835     @Override
    9836         public int getLonCount() {
    9837       return lon_.size();
    9838     }
    9839     /**
     9608     *
    98409609     * <code>repeated sint64 lon = 9 [packed = true];</code>
    9841      *
     9610     */
     9611    public long getLon(int index) {
     9612      return lon_.getLong(index);
     9613    }
     9614    private int lonMemoizedSerializedSize = -1;
     9615    private void ensureLonIsMutable() {
     9616      if (!lon_.isModifiable()) {
     9617        lon_ =
     9618            com.google.protobuf.GeneratedMessageLite.mutableCopy(lon_);
     9619       }
     9620    }
     9621    /**
    98429622     * <pre>
    98439623     * DELTA coded
    98449624     * </pre>
    9845      */
    9846     @Override
    9847         public long getLon(int index) {
    9848       return lon_.get(index);
    9849     }
    9850     private int lonMemoizedSerializedSize = -1;
     9625     *
     9626     * <code>repeated sint64 lon = 9 [packed = true];</code>
     9627     */
     9628    private void setLon(
     9629        int index, long value) {
     9630      ensureLonIsMutable();
     9631      lon_.setLong(index, value);
     9632    }
     9633    /**
     9634     * <pre>
     9635     * DELTA coded
     9636     * </pre>
     9637     *
     9638     * <code>repeated sint64 lon = 9 [packed = true];</code>
     9639     */
     9640    private void addLon(long value) {
     9641      ensureLonIsMutable();
     9642      lon_.addLong(value);
     9643    }
     9644    /**
     9645     * <pre>
     9646     * DELTA coded
     9647     * </pre>
     9648     *
     9649     * <code>repeated sint64 lon = 9 [packed = true];</code>
     9650     */
     9651    private void addAllLon(
     9652        java.lang.Iterable<? extends java.lang.Long> values) {
     9653      ensureLonIsMutable();
     9654      com.google.protobuf.AbstractMessageLite.addAll(
     9655          values, lon_);
     9656    }
     9657    /**
     9658     * <pre>
     9659     * DELTA coded
     9660     * </pre>
     9661     *
     9662     * <code>repeated sint64 lon = 9 [packed = true];</code>
     9663     */
     9664    private void clearLon() {
     9665      lon_ = emptyLongList();
     9666    }
    98519667
    98529668    public static final int KEYS_VALS_FIELD_NUMBER = 10;
    9853     private java.util.List<java.lang.Integer> keysVals_;
    9854     /**
     9669    private com.google.protobuf.Internal.IntList keysVals_;
     9670    /**
     9671     * <pre>
     9672     * Special packing of keys and vals into one array. May be empty if all nodes in this block are tagless.
     9673     * </pre>
     9674     *
    98559675     * <code>repeated int32 keys_vals = 10 [packed = true];</code>
    9856      *
    9857      * <pre>
    9858      * Special packing of keys and vals into one array. May be empty if all nodes in this block are tagless.
    9859      * </pre>
    9860      */
    9861     @Override
    9862         public java.util.List<java.lang.Integer>
     9676     */
     9677    public java.util.List<java.lang.Integer>
    98639678        getKeysValsList() {
    98649679      return keysVals_;
    98659680    }
    98669681    /**
     9682     * <pre>
     9683     * Special packing of keys and vals into one array. May be empty if all nodes in this block are tagless.
     9684     * </pre>
     9685     *
    98679686     * <code>repeated int32 keys_vals = 10 [packed = true];</code>
    9868      *
     9687     */
     9688    public int getKeysValsCount() {
     9689      return keysVals_.size();
     9690    }
     9691    /**
    98699692     * <pre>
    98709693     * Special packing of keys and vals into one array. May be empty if all nodes in this block are tagless.
    98719694     * </pre>
    9872      */
    9873     @Override
    9874         public int getKeysValsCount() {
    9875       return keysVals_.size();
    9876     }
    9877     /**
     9695     *
    98789696     * <code>repeated int32 keys_vals = 10 [packed = true];</code>
    9879      *
     9697     */
     9698    public int getKeysVals(int index) {
     9699      return keysVals_.getInt(index);
     9700    }
     9701    private int keysValsMemoizedSerializedSize = -1;
     9702    private void ensureKeysValsIsMutable() {
     9703      if (!keysVals_.isModifiable()) {
     9704        keysVals_ =
     9705            com.google.protobuf.GeneratedMessageLite.mutableCopy(keysVals_);
     9706       }
     9707    }
     9708    /**
    98809709     * <pre>
    98819710     * Special packing of keys and vals into one array. May be empty if all nodes in this block are tagless.
    98829711     * </pre>
    9883      */
    9884     @Override
    9885         public int getKeysVals(int index) {
    9886       return keysVals_.get(index);
    9887     }
    9888     private int keysValsMemoizedSerializedSize = -1;
    9889 
    9890     private void initFields() {
    9891       id_ = java.util.Collections.emptyList();
    9892       denseinfo_ = crosby.binary.Osmformat.DenseInfo.getDefaultInstance();
    9893       lat_ = java.util.Collections.emptyList();
    9894       lon_ = java.util.Collections.emptyList();
    9895       keysVals_ = java.util.Collections.emptyList();
    9896     }
    9897     private byte memoizedIsInitialized = -1;
    9898     @Override
    9899         public final boolean isInitialized() {
    9900       byte isInitialized = memoizedIsInitialized;
    9901       if (isInitialized == 1) return true;
    9902       if (isInitialized == 0) return false;
    9903 
    9904       memoizedIsInitialized = 1;
    9905       return true;
    9906     }
    9907 
    9908     @Override
    9909         public void writeTo(com.google.protobuf.CodedOutputStream output)
     9712     *
     9713     * <code>repeated int32 keys_vals = 10 [packed = true];</code>
     9714     */
     9715    private void setKeysVals(
     9716        int index, int value) {
     9717      ensureKeysValsIsMutable();
     9718      keysVals_.setInt(index, value);
     9719    }
     9720    /**
     9721     * <pre>
     9722     * Special packing of keys and vals into one array. May be empty if all nodes in this block are tagless.
     9723     * </pre>
     9724     *
     9725     * <code>repeated int32 keys_vals = 10 [packed = true];</code>
     9726     */
     9727    private void addKeysVals(int value) {
     9728      ensureKeysValsIsMutable();
     9729      keysVals_.addInt(value);
     9730    }
     9731    /**
     9732     * <pre>
     9733     * Special packing of keys and vals into one array. May be empty if all nodes in this block are tagless.
     9734     * </pre>
     9735     *
     9736     * <code>repeated int32 keys_vals = 10 [packed = true];</code>
     9737     */
     9738    private void addAllKeysVals(
     9739        java.lang.Iterable<? extends java.lang.Integer> values) {
     9740      ensureKeysValsIsMutable();
     9741      com.google.protobuf.AbstractMessageLite.addAll(
     9742          values, keysVals_);
     9743    }
     9744    /**
     9745     * <pre>
     9746     * Special packing of keys and vals into one array. May be empty if all nodes in this block are tagless.
     9747     * </pre>
     9748     *
     9749     * <code>repeated int32 keys_vals = 10 [packed = true];</code>
     9750     */
     9751    private void clearKeysVals() {
     9752      keysVals_ = emptyIntList();
     9753    }
     9754
     9755    public void writeTo(com.google.protobuf.CodedOutputStream output)
    99109756                        throws java.io.IOException {
    99119757      getSerializedSize();
    99129758      if (getIdList().size() > 0) {
    9913         output.writeRawVarint32(10);
    9914         output.writeRawVarint32(idMemoizedSerializedSize);
     9759        output.writeUInt32NoTag(10);
     9760        output.writeUInt32NoTag(idMemoizedSerializedSize);
    99159761      }
    99169762      for (int i = 0; i < id_.size(); i++) {
    9917         output.writeSInt64NoTag(id_.get(i));
     9763        output.writeSInt64NoTag(id_.getLong(i));
    99189764      }
    99199765      if (((bitField0_ & 0x00000001) == 0x00000001)) {
    9920         output.writeMessage(5, denseinfo_);
     9766        output.writeMessage(5, getDenseinfo());
    99219767      }
    99229768      if (getLatList().size() > 0) {
    9923         output.writeRawVarint32(66);
    9924         output.writeRawVarint32(latMemoizedSerializedSize);
     9769        output.writeUInt32NoTag(66);
     9770        output.writeUInt32NoTag(latMemoizedSerializedSize);
    99259771      }
    99269772      for (int i = 0; i < lat_.size(); i++) {
    9927         output.writeSInt64NoTag(lat_.get(i));
     9773        output.writeSInt64NoTag(lat_.getLong(i));
    99289774      }
    99299775      if (getLonList().size() > 0) {
    9930         output.writeRawVarint32(74);
    9931         output.writeRawVarint32(lonMemoizedSerializedSize);
     9776        output.writeUInt32NoTag(74);
     9777        output.writeUInt32NoTag(lonMemoizedSerializedSize);
    99329778      }
    99339779      for (int i = 0; i < lon_.size(); i++) {
    9934         output.writeSInt64NoTag(lon_.get(i));
     9780        output.writeSInt64NoTag(lon_.getLong(i));
    99359781      }
    99369782      if (getKeysValsList().size() > 0) {
    9937         output.writeRawVarint32(82);
    9938         output.writeRawVarint32(keysValsMemoizedSerializedSize);
     9783        output.writeUInt32NoTag(82);
     9784        output.writeUInt32NoTag(keysValsMemoizedSerializedSize);
    99399785      }
    99409786      for (int i = 0; i < keysVals_.size(); i++) {
    9941         output.writeInt32NoTag(keysVals_.get(i));
    9942       }
    9943       output.writeRawBytes(unknownFields);
    9944     }
    9945 
    9946     private int memoizedSerializedSize = -1;
    9947     @Override
    9948         public int getSerializedSize() {
     9787        output.writeInt32NoTag(keysVals_.getInt(i));
     9788      }
     9789      unknownFields.writeTo(output);
     9790    }
     9791
     9792    public int getSerializedSize() {
    99499793      int size = memoizedSerializedSize;
    99509794      if (size != -1) return size;
     
    99559799        for (int i = 0; i < id_.size(); i++) {
    99569800          dataSize += com.google.protobuf.CodedOutputStream
    9957             .computeSInt64SizeNoTag(id_.get(i));
     9801            .computeSInt64SizeNoTag(id_.getLong(i));
    99589802        }
    99599803        size += dataSize;
     
    99679811      if (((bitField0_ & 0x00000001) == 0x00000001)) {
    99689812        size += com.google.protobuf.CodedOutputStream
    9969           .computeMessageSize(5, denseinfo_);
     9813          .computeMessageSize(5, getDenseinfo());
    99709814      }
    99719815      {
     
    99739817        for (int i = 0; i < lat_.size(); i++) {
    99749818          dataSize += com.google.protobuf.CodedOutputStream
    9975             .computeSInt64SizeNoTag(lat_.get(i));
     9819            .computeSInt64SizeNoTag(lat_.getLong(i));
    99769820        }
    99779821        size += dataSize;
     
    99879831        for (int i = 0; i < lon_.size(); i++) {
    99889832          dataSize += com.google.protobuf.CodedOutputStream
    9989             .computeSInt64SizeNoTag(lon_.get(i));
     9833            .computeSInt64SizeNoTag(lon_.getLong(i));
    99909834        }
    99919835        size += dataSize;
     
    100019845        for (int i = 0; i < keysVals_.size(); i++) {
    100029846          dataSize += com.google.protobuf.CodedOutputStream
    10003             .computeInt32SizeNoTag(keysVals_.get(i));
     9847            .computeInt32SizeNoTag(keysVals_.getInt(i));
    100049848        }
    100059849        size += dataSize;
     
    100119855        keysValsMemoizedSerializedSize = dataSize;
    100129856      }
    10013       size += unknownFields.size();
     9857      size += unknownFields.getSerializedSize();
    100149858      memoizedSerializedSize = size;
    100159859      return size;
    100169860    }
    100179861
    10018     private static final long serialVersionUID = 0L;
    10019     @java.lang.Override
    10020     protected java.lang.Object writeReplace()
    10021         throws java.io.ObjectStreamException {
    10022       return super.writeReplace();
    10023     }
    10024 
     9862    public static crosby.binary.Osmformat.DenseNodes parseFrom(
     9863        java.nio.ByteBuffer data)
     9864        throws com.google.protobuf.InvalidProtocolBufferException {
     9865      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     9866          DEFAULT_INSTANCE, data);
     9867    }
     9868    public static crosby.binary.Osmformat.DenseNodes parseFrom(
     9869        java.nio.ByteBuffer data,
     9870        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     9871        throws com.google.protobuf.InvalidProtocolBufferException {
     9872      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     9873          DEFAULT_INSTANCE, data, extensionRegistry);
     9874    }
    100259875    public static crosby.binary.Osmformat.DenseNodes parseFrom(
    100269876        com.google.protobuf.ByteString data)
    100279877        throws com.google.protobuf.InvalidProtocolBufferException {
    10028       return PARSER.parseFrom(data);
     9878      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     9879          DEFAULT_INSTANCE, data);
    100299880    }
    100309881    public static crosby.binary.Osmformat.DenseNodes parseFrom(
     
    100329883        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    100339884        throws com.google.protobuf.InvalidProtocolBufferException {
    10034       return PARSER.parseFrom(data, extensionRegistry);
     9885      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     9886          DEFAULT_INSTANCE, data, extensionRegistry);
    100359887    }
    100369888    public static crosby.binary.Osmformat.DenseNodes parseFrom(byte[] data)
    100379889        throws com.google.protobuf.InvalidProtocolBufferException {
    10038       return PARSER.parseFrom(data);
     9890      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     9891          DEFAULT_INSTANCE, data);
    100399892    }
    100409893    public static crosby.binary.Osmformat.DenseNodes parseFrom(
     
    100429895        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    100439896        throws com.google.protobuf.InvalidProtocolBufferException {
    10044       return PARSER.parseFrom(data, extensionRegistry);
     9897      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     9898          DEFAULT_INSTANCE, data, extensionRegistry);
    100459899    }
    100469900    public static crosby.binary.Osmformat.DenseNodes parseFrom(java.io.InputStream input)
    100479901        throws java.io.IOException {
    10048       return PARSER.parseFrom(input);
     9902      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     9903          DEFAULT_INSTANCE, input);
    100499904    }
    100509905    public static crosby.binary.Osmformat.DenseNodes parseFrom(
     
    100529907        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    100539908        throws java.io.IOException {
    10054       return PARSER.parseFrom(input, extensionRegistry);
     9909      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     9910          DEFAULT_INSTANCE, input, extensionRegistry);
    100559911    }
    100569912    public static crosby.binary.Osmformat.DenseNodes parseDelimitedFrom(java.io.InputStream input)
    100579913        throws java.io.IOException {
    10058       return PARSER.parseDelimitedFrom(input);
     9914      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    100599915    }
    100609916    public static crosby.binary.Osmformat.DenseNodes parseDelimitedFrom(
     
    100629918        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    100639919        throws java.io.IOException {
    10064       return PARSER.parseDelimitedFrom(input, extensionRegistry);
     9920      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    100659921    }
    100669922    public static crosby.binary.Osmformat.DenseNodes parseFrom(
    100679923        com.google.protobuf.CodedInputStream input)
    100689924        throws java.io.IOException {
    10069       return PARSER.parseFrom(input);
     9925      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     9926          DEFAULT_INSTANCE, input);
    100709927    }
    100719928    public static crosby.binary.Osmformat.DenseNodes parseFrom(
     
    100739930        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    100749931        throws java.io.IOException {
    10075       return PARSER.parseFrom(input, extensionRegistry);
    10076     }
    10077 
    10078     public static Builder newBuilder() { return Builder.create(); }
    10079     @Override
    10080         public Builder newBuilderForType() { return newBuilder(); }
     9932      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     9933          DEFAULT_INSTANCE, input, extensionRegistry);
     9934    }
     9935
     9936    public static Builder newBuilder() {
     9937      return DEFAULT_INSTANCE.toBuilder();
     9938    }
    100819939    public static Builder newBuilder(crosby.binary.Osmformat.DenseNodes prototype) {
    10082       return newBuilder().mergeFrom(prototype);
    10083     }
    10084     @Override
    10085         public Builder toBuilder() { return newBuilder(this); }
     9940      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     9941    }
    100869942
    100879943    /**
     
    100909946    public static final class Builder extends
    100919947        com.google.protobuf.GeneratedMessageLite.Builder<
    10092           crosby.binary.Osmformat.DenseNodes, Builder>
    10093         implements
     9948          crosby.binary.Osmformat.DenseNodes, Builder> implements
    100949949        // @@protoc_insertion_point(builder_implements:OSMPBF.DenseNodes)
    100959950        crosby.binary.Osmformat.DenseNodesOrBuilder {
    100969951      // Construct using crosby.binary.Osmformat.DenseNodes.newBuilder()
    100979952      private Builder() {
    10098         maybeForceBuilderInitialization();
    10099       }
    10100 
    10101       private void maybeForceBuilderInitialization() {
    10102       }
    10103       private static Builder create() {
    10104         return new Builder();
    10105       }
    10106 
    10107       @Override
    10108         public Builder clear() {
    10109         super.clear();
    10110         id_ = java.util.Collections.emptyList();
    10111         bitField0_ = (bitField0_ & ~0x00000001);
    10112         denseinfo_ = crosby.binary.Osmformat.DenseInfo.getDefaultInstance();
    10113         bitField0_ = (bitField0_ & ~0x00000002);
    10114         lat_ = java.util.Collections.emptyList();
    10115         bitField0_ = (bitField0_ & ~0x00000004);
    10116         lon_ = java.util.Collections.emptyList();
    10117         bitField0_ = (bitField0_ & ~0x00000008);
    10118         keysVals_ = java.util.Collections.emptyList();
    10119         bitField0_ = (bitField0_ & ~0x00000010);
    10120         return this;
    10121       }
    10122 
    10123       @Override
    10124         public Builder clone() {
    10125         return create().mergeFrom(buildPartial());
    10126       }
    10127 
    10128       @Override
    10129         public crosby.binary.Osmformat.DenseNodes getDefaultInstanceForType() {
    10130         return crosby.binary.Osmformat.DenseNodes.getDefaultInstance();
    10131       }
    10132 
    10133       @Override
    10134         public crosby.binary.Osmformat.DenseNodes build() {
    10135         crosby.binary.Osmformat.DenseNodes result = buildPartial();
    10136         if (!result.isInitialized()) {
    10137           throw newUninitializedMessageException(result);
    10138         }
    10139         return result;
    10140       }
    10141 
    10142       @Override
    10143         public crosby.binary.Osmformat.DenseNodes buildPartial() {
    10144         crosby.binary.Osmformat.DenseNodes result = new crosby.binary.Osmformat.DenseNodes(this);
    10145         int from_bitField0_ = bitField0_;
    10146         int to_bitField0_ = 0;
    10147         if (((bitField0_ & 0x00000001) == 0x00000001)) {
    10148           id_ = java.util.Collections.unmodifiableList(id_);
    10149           bitField0_ = (bitField0_ & ~0x00000001);
    10150         }
    10151         result.id_ = id_;
    10152         if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
    10153           to_bitField0_ |= 0x00000001;
    10154         }
    10155         result.denseinfo_ = denseinfo_;
    10156         if (((bitField0_ & 0x00000004) == 0x00000004)) {
    10157           lat_ = java.util.Collections.unmodifiableList(lat_);
    10158           bitField0_ = (bitField0_ & ~0x00000004);
    10159         }
    10160         result.lat_ = lat_;
    10161         if (((bitField0_ & 0x00000008) == 0x00000008)) {
    10162           lon_ = java.util.Collections.unmodifiableList(lon_);
    10163           bitField0_ = (bitField0_ & ~0x00000008);
    10164         }
    10165         result.lon_ = lon_;
    10166         if (((bitField0_ & 0x00000010) == 0x00000010)) {
    10167           keysVals_ = java.util.Collections.unmodifiableList(keysVals_);
    10168           bitField0_ = (bitField0_ & ~0x00000010);
    10169         }
    10170         result.keysVals_ = keysVals_;
    10171         result.bitField0_ = to_bitField0_;
    10172         return result;
    10173       }
    10174 
    10175       @Override
    10176         public Builder mergeFrom(crosby.binary.Osmformat.DenseNodes other) {
    10177         if (other == crosby.binary.Osmformat.DenseNodes.getDefaultInstance()) return this;
    10178         if (!other.id_.isEmpty()) {
    10179           if (id_.isEmpty()) {
    10180             id_ = other.id_;
    10181             bitField0_ = (bitField0_ & ~0x00000001);
    10182           } else {
    10183             ensureIdIsMutable();
    10184             id_.addAll(other.id_);
    10185           }
    10186 
    10187         }
    10188         if (other.hasDenseinfo()) {
    10189           mergeDenseinfo(other.getDenseinfo());
    10190         }
    10191         if (!other.lat_.isEmpty()) {
    10192           if (lat_.isEmpty()) {
    10193             lat_ = other.lat_;
    10194             bitField0_ = (bitField0_ & ~0x00000004);
    10195           } else {
    10196             ensureLatIsMutable();
    10197             lat_.addAll(other.lat_);
    10198           }
    10199 
    10200         }
    10201         if (!other.lon_.isEmpty()) {
    10202           if (lon_.isEmpty()) {
    10203             lon_ = other.lon_;
    10204             bitField0_ = (bitField0_ & ~0x00000008);
    10205           } else {
    10206             ensureLonIsMutable();
    10207             lon_.addAll(other.lon_);
    10208           }
    10209 
    10210         }
    10211         if (!other.keysVals_.isEmpty()) {
    10212           if (keysVals_.isEmpty()) {
    10213             keysVals_ = other.keysVals_;
    10214             bitField0_ = (bitField0_ & ~0x00000010);
    10215           } else {
    10216             ensureKeysValsIsMutable();
    10217             keysVals_.addAll(other.keysVals_);
    10218           }
    10219 
    10220         }
    10221         setUnknownFields(
    10222             getUnknownFields().concat(other.unknownFields));
    10223         return this;
    10224       }
    10225 
    10226       @Override
    10227         public final boolean isInitialized() {
    10228         return true;
    10229       }
    10230 
    10231       @Override
    10232         public Builder mergeFrom(
    10233           com.google.protobuf.CodedInputStream input,
    10234           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    10235           throws java.io.IOException {
    10236         crosby.binary.Osmformat.DenseNodes parsedMessage = null;
    10237         try {
    10238           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
    10239         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
    10240           parsedMessage = (crosby.binary.Osmformat.DenseNodes) e.getUnfinishedMessage();
    10241           throw e;
    10242         } finally {
    10243           if (parsedMessage != null) {
    10244             mergeFrom(parsedMessage);
    10245           }
    10246         }
    10247         return this;
    10248       }
    10249       private int bitField0_;
    10250 
    10251       private java.util.List<java.lang.Long> id_ = java.util.Collections.emptyList();
    10252       private void ensureIdIsMutable() {
    10253         if (!((bitField0_ & 0x00000001) == 0x00000001)) {
    10254           id_ = new java.util.ArrayList<>(id_);
    10255           bitField0_ |= 0x00000001;
    10256          }
    10257       }
    10258       /**
     9953        super(DEFAULT_INSTANCE);
     9954      }
     9955
     9956
     9957      /**
     9958       * <pre>
     9959       * DELTA coded
     9960       * </pre>
     9961       *
    102599962       * <code>repeated sint64 id = 1 [packed = true];</code>
    10260        *
     9963       */
     9964      public java.util.List<java.lang.Long>
     9965          getIdList() {
     9966        return java.util.Collections.unmodifiableList(
     9967            instance.getIdList());
     9968      }
     9969      /**
    102619970       * <pre>
    102629971       * DELTA coded
    102639972       * </pre>
    10264        */
    10265       @Override
    10266         public java.util.List<java.lang.Long>
    10267           getIdList() {
    10268         return java.util.Collections.unmodifiableList(id_);
    10269       }
    10270       /**
     9973       *
    102719974       * <code>repeated sint64 id = 1 [packed = true];</code>
    10272        *
     9975       */
     9976      public int getIdCount() {
     9977        return instance.getIdCount();
     9978      }
     9979      /**
    102739980       * <pre>
    102749981       * DELTA coded
    102759982       * </pre>
    10276        */
    10277       @Override
    10278         public int getIdCount() {
    10279         return id_.size();
    10280       }
    10281       /**
     9983       *
    102829984       * <code>repeated sint64 id = 1 [packed = true];</code>
    10283        *
     9985       */
     9986      public long getId(int index) {
     9987        return instance.getId(index);
     9988      }
     9989      /**
    102849990       * <pre>
    102859991       * DELTA coded
    102869992       * </pre>
    10287        */
    10288       @Override
    10289         public long getId(int index) {
    10290         return id_.get(index);
    10291       }
    10292       /**
     9993       *
    102939994       * <code>repeated sint64 id = 1 [packed = true];</code>
    10294        *
    10295        * <pre>
    10296        * DELTA coded
    10297        * </pre>
    102989995       */
    102999996      public Builder setId(
    103009997          int index, long value) {
    10301         ensureIdIsMutable();
    10302         id_.set(index, value);
    10303 
    10304         return this;
    10305       }
    10306       /**
     9998        copyOnWrite();
     9999        instance.setId(index, value);
     10000        return this;
     10001      }
     10002      /**
     10003       * <pre>
     10004       * DELTA coded
     10005       * </pre>
     10006       *
    1030710007       * <code>repeated sint64 id = 1 [packed = true];</code>
    10308        *
     10008       */
     10009      public Builder addId(long value) {
     10010        copyOnWrite();
     10011        instance.addId(value);
     10012        return this;
     10013      }
     10014      /**
    1030910015       * <pre>
    1031010016       * DELTA coded
    1031110017       * </pre>
    10312        */
    10313       public Builder addId(long value) {
    10314         ensureIdIsMutable();
    10315         id_.add(value);
    10316 
    10317         return this;
    10318       }
    10319       /**
     10018       *
    1032010019       * <code>repeated sint64 id = 1 [packed = true];</code>
    10321        *
    10322        * <pre>
    10323        * DELTA coded
    10324        * </pre>
    1032510020       */
    1032610021      public Builder addAllId(
    1032710022          java.lang.Iterable<? extends java.lang.Long> values) {
    10328         ensureIdIsMutable();
    10329         com.google.protobuf.AbstractMessageLite.Builder.addAll(
    10330             values, id_);
    10331 
    10332         return this;
    10333       }
    10334       /**
     10023        copyOnWrite();
     10024        instance.addAllId(values);
     10025        return this;
     10026      }
     10027      /**
     10028       * <pre>
     10029       * DELTA coded
     10030       * </pre>
     10031       *
    1033510032       * <code>repeated sint64 id = 1 [packed = true];</code>
    10336        *
    10337        * <pre>
    10338        * DELTA coded
    10339        * </pre>
    1034010033       */
    1034110034      public Builder clearId() {
    10342         id_ = java.util.Collections.emptyList();
    10343         bitField0_ = (bitField0_ & ~0x00000001);
    10344 
    10345         return this;
    10346       }
    10347 
    10348       private crosby.binary.Osmformat.DenseInfo denseinfo_ = crosby.binary.Osmformat.DenseInfo.getDefaultInstance();
    10349       /**
     10035        copyOnWrite();
     10036        instance.clearId();
     10037        return this;
     10038      }
     10039
     10040      /**
     10041       * <pre>
     10042       *repeated Info info = 4;
     10043       * </pre>
     10044       *
    1035010045       * <code>optional .OSMPBF.DenseInfo denseinfo = 5;</code>
    10351        *
     10046       */
     10047      public boolean hasDenseinfo() {
     10048        return instance.hasDenseinfo();
     10049      }
     10050      /**
    1035210051       * <pre>
    1035310052       *repeated Info info = 4;
    1035410053       * </pre>
    10355        */
    10356       @Override
    10357         public boolean hasDenseinfo() {
    10358         return ((bitField0_ & 0x00000002) == 0x00000002);
    10359       }
    10360       /**
     10054       *
    1036110055       * <code>optional .OSMPBF.DenseInfo denseinfo = 5;</code>
    10362        *
     10056       */
     10057      public crosby.binary.Osmformat.DenseInfo getDenseinfo() {
     10058        return instance.getDenseinfo();
     10059      }
     10060      /**
    1036310061       * <pre>
    1036410062       *repeated Info info = 4;
    1036510063       * </pre>
    10366        */
    10367       @Override
    10368         public crosby.binary.Osmformat.DenseInfo getDenseinfo() {
    10369         return denseinfo_;
    10370       }
    10371       /**
     10064       *
    1037210065       * <code>optional .OSMPBF.DenseInfo denseinfo = 5;</code>
    10373        *
     10066       */
     10067      public Builder setDenseinfo(crosby.binary.Osmformat.DenseInfo value) {
     10068        copyOnWrite();
     10069        instance.setDenseinfo(value);
     10070        return this;
     10071        }
     10072      /**
    1037410073       * <pre>
    1037510074       *repeated Info info = 4;
    1037610075       * </pre>
    10377        */
    10378       public Builder setDenseinfo(crosby.binary.Osmformat.DenseInfo value) {
    10379         if (value == null) {
    10380           throw new NullPointerException();
    10381         }
    10382         denseinfo_ = value;
    10383 
    10384         bitField0_ |= 0x00000002;
    10385         return this;
    10386       }
    10387       /**
     10076       *
    1038810077       * <code>optional .OSMPBF.DenseInfo denseinfo = 5;</code>
    10389        *
    10390        * <pre>
    10391        *repeated Info info = 4;
    10392        * </pre>
    1039310078       */
    1039410079      public Builder setDenseinfo(
    1039510080          crosby.binary.Osmformat.DenseInfo.Builder builderForValue) {
    10396         denseinfo_ = builderForValue.build();
    10397 
    10398         bitField0_ |= 0x00000002;
    10399         return this;
    10400       }
    10401       /**
     10081        copyOnWrite();
     10082        instance.setDenseinfo(builderForValue);
     10083        return this;
     10084      }
     10085      /**
     10086       * <pre>
     10087       *repeated Info info = 4;
     10088       * </pre>
     10089       *
    1040210090       * <code>optional .OSMPBF.DenseInfo denseinfo = 5;</code>
    10403        *
     10091       */
     10092      public Builder mergeDenseinfo(crosby.binary.Osmformat.DenseInfo value) {
     10093        copyOnWrite();
     10094        instance.mergeDenseinfo(value);
     10095        return this;
     10096      }
     10097      /**
    1040410098       * <pre>
    1040510099       *repeated Info info = 4;
    1040610100       * </pre>
    10407        */
    10408       public Builder mergeDenseinfo(crosby.binary.Osmformat.DenseInfo value) {
    10409         if (((bitField0_ & 0x00000002) == 0x00000002) &&
    10410             denseinfo_ != crosby.binary.Osmformat.DenseInfo.getDefaultInstance()) {
    10411           denseinfo_ =
    10412             crosby.binary.Osmformat.DenseInfo.newBuilder(denseinfo_).mergeFrom(value).buildPartial();
    10413         } else {
    10414           denseinfo_ = value;
    10415         }
    10416 
    10417         bitField0_ |= 0x00000002;
    10418         return this;
    10419       }
    10420       /**
     10101       *
    1042110102       * <code>optional .OSMPBF.DenseInfo denseinfo = 5;</code>
    10422        *
    10423        * <pre>
    10424        *repeated Info info = 4;
    10425        * </pre>
    10426        */
    10427       public Builder clearDenseinfo() {
    10428         denseinfo_ = crosby.binary.Osmformat.DenseInfo.getDefaultInstance();
    10429 
    10430         bitField0_ = (bitField0_ & ~0x00000002);
    10431         return this;
    10432       }
    10433 
    10434       private java.util.List<java.lang.Long> lat_ = java.util.Collections.emptyList();
    10435       private void ensureLatIsMutable() {
    10436         if (!((bitField0_ & 0x00000004) == 0x00000004)) {
    10437           lat_ = new java.util.ArrayList<>(lat_);
    10438           bitField0_ |= 0x00000004;
    10439          }
    10440       }
    10441       /**
     10103       */
     10104      public Builder clearDenseinfo() {  copyOnWrite();
     10105        instance.clearDenseinfo();
     10106        return this;
     10107      }
     10108
     10109      /**
     10110       * <pre>
     10111       * DELTA coded
     10112       * </pre>
     10113       *
    1044210114       * <code>repeated sint64 lat = 8 [packed = true];</code>
    10443        *
     10115       */
     10116      public java.util.List<java.lang.Long>
     10117          getLatList() {
     10118        return java.util.Collections.unmodifiableList(
     10119            instance.getLatList());
     10120      }
     10121      /**
    1044410122       * <pre>
    1044510123       * DELTA coded
    1044610124       * </pre>
    10447        */
    10448       @Override
    10449         public java.util.List<java.lang.Long>
    10450           getLatList() {
    10451         return java.util.Collections.unmodifiableList(lat_);
    10452       }
    10453       /**
     10125       *
    1045410126       * <code>repeated sint64 lat = 8 [packed = true];</code>
    10455        *
     10127       */
     10128      public int getLatCount() {
     10129        return instance.getLatCount();
     10130      }
     10131      /**
    1045610132       * <pre>
    1045710133       * DELTA coded
    1045810134       * </pre>
    10459        */
    10460       @Override
    10461         public int getLatCount() {
    10462         return lat_.size();
    10463       }
    10464       /**
     10135       *
    1046510136       * <code>repeated sint64 lat = 8 [packed = true];</code>
    10466        *
     10137       */
     10138      public long getLat(int index) {
     10139        return instance.getLat(index);
     10140      }
     10141      /**
    1046710142       * <pre>
    1046810143       * DELTA coded
    1046910144       * </pre>
    10470        */
    10471       @Override
    10472         public long getLat(int index) {
    10473         return lat_.get(index);
    10474       }
    10475       /**
     10145       *
    1047610146       * <code>repeated sint64 lat = 8 [packed = true];</code>
    10477        *
    10478        * <pre>
    10479        * DELTA coded
    10480        * </pre>
    1048110147       */
    1048210148      public Builder setLat(
    1048310149          int index, long value) {
    10484         ensureLatIsMutable();
    10485         lat_.set(index, value);
    10486 
    10487         return this;
    10488       }
    10489       /**
     10150        copyOnWrite();
     10151        instance.setLat(index, value);
     10152        return this;
     10153      }
     10154      /**
     10155       * <pre>
     10156       * DELTA coded
     10157       * </pre>
     10158       *
    1049010159       * <code>repeated sint64 lat = 8 [packed = true];</code>
    10491        *
     10160       */
     10161      public Builder addLat(long value) {
     10162        copyOnWrite();
     10163        instance.addLat(value);
     10164        return this;
     10165      }
     10166      /**
    1049210167       * <pre>
    1049310168       * DELTA coded
    1049410169       * </pre>
    10495        */
    10496       public Builder addLat(long value) {
    10497         ensureLatIsMutable();
    10498         lat_.add(value);
    10499 
    10500         return this;
    10501       }
    10502       /**
     10170       *
    1050310171       * <code>repeated sint64 lat = 8 [packed = true];</code>
    10504        *
    10505        * <pre>
    10506        * DELTA coded
    10507        * </pre>
    1050810172       */
    1050910173      public Builder addAllLat(
    1051010174          java.lang.Iterable<? extends java.lang.Long> values) {
    10511         ensureLatIsMutable();
    10512         com.google.protobuf.AbstractMessageLite.Builder.addAll(
    10513             values, lat_);
    10514 
    10515         return this;
    10516       }
    10517       /**
     10175        copyOnWrite();
     10176        instance.addAllLat(values);
     10177        return this;
     10178      }
     10179      /**
     10180       * <pre>
     10181       * DELTA coded
     10182       * </pre>
     10183       *
    1051810184       * <code>repeated sint64 lat = 8 [packed = true];</code>
    10519        *
     10185       */
     10186      public Builder clearLat() {
     10187        copyOnWrite();
     10188        instance.clearLat();
     10189        return this;
     10190      }
     10191
     10192      /**
    1052010193       * <pre>
    1052110194       * DELTA coded
    1052210195       * </pre>
    10523        */
    10524       public Builder clearLat() {
    10525         lat_ = java.util.Collections.emptyList();
    10526         bitField0_ = (bitField0_ & ~0x00000004);
    10527 
    10528         return this;
    10529       }
    10530 
    10531       private java.util.List<java.lang.Long> lon_ = java.util.Collections.emptyList();
    10532       private void ensureLonIsMutable() {
    10533         if (!((bitField0_ & 0x00000008) == 0x00000008)) {
    10534           lon_ = new java.util.ArrayList<>(lon_);
    10535           bitField0_ |= 0x00000008;
    10536          }
    10537       }
    10538       /**
     10196       *
    1053910197       * <code>repeated sint64 lon = 9 [packed = true];</code>
    10540        *
     10198       */
     10199      public java.util.List<java.lang.Long>
     10200          getLonList() {
     10201        return java.util.Collections.unmodifiableList(
     10202            instance.getLonList());
     10203      }
     10204      /**
    1054110205       * <pre>
    1054210206       * DELTA coded
    1054310207       * </pre>
    10544        */
    10545       @Override
    10546         public java.util.List<java.lang.Long>
    10547           getLonList() {
    10548         return java.util.Collections.unmodifiableList(lon_);
    10549       }
    10550       /**
     10208       *
    1055110209       * <code>repeated sint64 lon = 9 [packed = true];</code>
    10552        *
     10210       */
     10211      public int getLonCount() {
     10212        return instance.getLonCount();
     10213      }
     10214      /**
    1055310215       * <pre>
    1055410216       * DELTA coded
    1055510217       * </pre>
    10556        */
    10557       @Override
    10558         public int getLonCount() {
    10559         return lon_.size();
    10560       }
    10561       /**
     10218       *
    1056210219       * <code>repeated sint64 lon = 9 [packed = true];</code>
    10563        *
     10220       */
     10221      public long getLon(int index) {
     10222        return instance.getLon(index);
     10223      }
     10224      /**
    1056410225       * <pre>
    1056510226       * DELTA coded
    1056610227       * </pre>
    10567        */
    10568       @Override
    10569         public long getLon(int index) {
    10570         return lon_.get(index);
    10571       }
    10572       /**
     10228       *
    1057310229       * <code>repeated sint64 lon = 9 [packed = true];</code>
    10574        *
    10575        * <pre>
    10576        * DELTA coded
    10577        * </pre>
    1057810230       */
    1057910231      public Builder setLon(
    1058010232          int index, long value) {
    10581         ensureLonIsMutable();
    10582         lon_.set(index, value);
    10583 
    10584         return this;
    10585       }
    10586       /**
     10233        copyOnWrite();
     10234        instance.setLon(index, value);
     10235        return this;
     10236      }
     10237      /**
     10238       * <pre>
     10239       * DELTA coded
     10240       * </pre>
     10241       *
    1058710242       * <code>repeated sint64 lon = 9 [packed = true];</code>
    10588        *
     10243       */
     10244      public Builder addLon(long value) {
     10245        copyOnWrite();
     10246        instance.addLon(value);
     10247        return this;
     10248      }
     10249      /**
    1058910250       * <pre>
    1059010251       * DELTA coded
    1059110252       * </pre>
    10592        */
    10593       public Builder addLon(long value) {
    10594         ensureLonIsMutable();
    10595         lon_.add(value);
    10596 
    10597         return this;
    10598       }
    10599       /**
     10253       *
    1060010254       * <code>repeated sint64 lon = 9 [packed = true];</code>
    10601        *
    10602        * <pre>
    10603        * DELTA coded
    10604        * </pre>
    1060510255       */
    1060610256      public Builder addAllLon(
    1060710257          java.lang.Iterable<? extends java.lang.Long> values) {
    10608         ensureLonIsMutable();
    10609         com.google.protobuf.AbstractMessageLite.Builder.addAll(
    10610             values, lon_);
    10611 
    10612         return this;
    10613       }
    10614       /**
     10258        copyOnWrite();
     10259        instance.addAllLon(values);
     10260        return this;
     10261      }
     10262      /**
     10263       * <pre>
     10264       * DELTA coded
     10265       * </pre>
     10266       *
    1061510267       * <code>repeated sint64 lon = 9 [packed = true];</code>
    10616        *
    10617        * <pre>
    10618        * DELTA coded
    10619        * </pre>
    1062010268       */
    1062110269      public Builder clearLon() {
    10622         lon_ = java.util.Collections.emptyList();
    10623         bitField0_ = (bitField0_ & ~0x00000008);
    10624 
    10625         return this;
    10626       }
    10627 
    10628       private java.util.List<java.lang.Integer> keysVals_ = java.util.Collections.emptyList();
    10629       private void ensureKeysValsIsMutable() {
    10630         if (!((bitField0_ & 0x00000010) == 0x00000010)) {
    10631           keysVals_ = new java.util.ArrayList<>(keysVals_);
    10632           bitField0_ |= 0x00000010;
    10633          }
    10634       }
    10635       /**
     10270        copyOnWrite();
     10271        instance.clearLon();
     10272        return this;
     10273      }
     10274
     10275      /**
     10276       * <pre>
     10277       * Special packing of keys and vals into one array. May be empty if all nodes in this block are tagless.
     10278       * </pre>
     10279       *
    1063610280       * <code>repeated int32 keys_vals = 10 [packed = true];</code>
    10637        *
     10281       */
     10282      public java.util.List<java.lang.Integer>
     10283          getKeysValsList() {
     10284        return java.util.Collections.unmodifiableList(
     10285            instance.getKeysValsList());
     10286      }
     10287      /**
    1063810288       * <pre>
    1063910289       * Special packing of keys and vals into one array. May be empty if all nodes in this block are tagless.
    1064010290       * </pre>
    10641        */
    10642       @Override
    10643         public java.util.List<java.lang.Integer>
    10644           getKeysValsList() {
    10645         return java.util.Collections.unmodifiableList(keysVals_);
    10646       }
    10647       /**
     10291       *
    1064810292       * <code>repeated int32 keys_vals = 10 [packed = true];</code>
    10649        *
     10293       */
     10294      public int getKeysValsCount() {
     10295        return instance.getKeysValsCount();
     10296      }
     10297      /**
    1065010298       * <pre>
    1065110299       * Special packing of keys and vals into one array. May be empty if all nodes in this block are tagless.
    1065210300       * </pre>
    10653        */
    10654       @Override
    10655         public int getKeysValsCount() {
    10656         return keysVals_.size();
    10657       }
    10658       /**
     10301       *
    1065910302       * <code>repeated int32 keys_vals = 10 [packed = true];</code>
    10660        *
     10303       */
     10304      public int getKeysVals(int index) {
     10305        return instance.getKeysVals(index);
     10306      }
     10307      /**
    1066110308       * <pre>
    1066210309       * Special packing of keys and vals into one array. May be empty if all nodes in this block are tagless.
    1066310310       * </pre>
    10664        */
    10665       @Override
    10666         public int getKeysVals(int index) {
    10667         return keysVals_.get(index);
    10668       }
    10669       /**
     10311       *
    1067010312       * <code>repeated int32 keys_vals = 10 [packed = true];</code>
    10671        *
    10672        * <pre>
    10673        * Special packing of keys and vals into one array. May be empty if all nodes in this block are tagless.
    10674        * </pre>
    1067510313       */
    1067610314      public Builder setKeysVals(
    1067710315          int index, int value) {
    10678         ensureKeysValsIsMutable();
    10679         keysVals_.set(index, value);
    10680 
    10681         return this;
    10682       }
    10683       /**
     10316        copyOnWrite();
     10317        instance.setKeysVals(index, value);
     10318        return this;
     10319      }
     10320      /**
     10321       * <pre>
     10322       * Special packing of keys and vals into one array. May be empty if all nodes in this block are tagless.
     10323       * </pre>
     10324       *
    1068410325       * <code>repeated int32 keys_vals = 10 [packed = true];</code>
    10685        *
     10326       */
     10327      public Builder addKeysVals(int value) {
     10328        copyOnWrite();
     10329        instance.addKeysVals(value);
     10330        return this;
     10331      }
     10332      /**
    1068610333       * <pre>
    1068710334       * Special packing of keys and vals into one array. May be empty if all nodes in this block are tagless.
    1068810335       * </pre>
    10689        */
    10690       public Builder addKeysVals(int value) {
    10691         ensureKeysValsIsMutable();
    10692         keysVals_.add(value);
    10693 
    10694         return this;
    10695       }
    10696       /**
     10336       *
    1069710337       * <code>repeated int32 keys_vals = 10 [packed = true];</code>
    10698        *
    10699        * <pre>
    10700        * Special packing of keys and vals into one array. May be empty if all nodes in this block are tagless.
    10701        * </pre>
    1070210338       */
    1070310339      public Builder addAllKeysVals(
    1070410340          java.lang.Iterable<? extends java.lang.Integer> values) {
    10705         ensureKeysValsIsMutable();
    10706         com.google.protobuf.AbstractMessageLite.Builder.addAll(
    10707             values, keysVals_);
    10708 
    10709         return this;
    10710       }
    10711       /**
     10341        copyOnWrite();
     10342        instance.addAllKeysVals(values);
     10343        return this;
     10344      }
     10345      /**
     10346       * <pre>
     10347       * Special packing of keys and vals into one array. May be empty if all nodes in this block are tagless.
     10348       * </pre>
     10349       *
    1071210350       * <code>repeated int32 keys_vals = 10 [packed = true];</code>
    10713        *
    10714        * <pre>
    10715        * Special packing of keys and vals into one array. May be empty if all nodes in this block are tagless.
    10716        * </pre>
    1071710351       */
    1071810352      public Builder clearKeysVals() {
    10719         keysVals_ = java.util.Collections.emptyList();
    10720         bitField0_ = (bitField0_ & ~0x00000010);
    10721 
     10353        copyOnWrite();
     10354        instance.clearKeysVals();
    1072210355        return this;
    1072310356      }
     
    1072510358      // @@protoc_insertion_point(builder_scope:OSMPBF.DenseNodes)
    1072610359    }
    10727 
     10360    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
     10361    protected final java.lang.Object dynamicMethod(
     10362        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
     10363        java.lang.Object arg0, java.lang.Object arg1) {
     10364      switch (method) {
     10365        case NEW_MUTABLE_INSTANCE: {
     10366          return new crosby.binary.Osmformat.DenseNodes();
     10367        }
     10368        case IS_INITIALIZED: {
     10369          return DEFAULT_INSTANCE;
     10370        }
     10371        case MAKE_IMMUTABLE: {
     10372          id_.makeImmutable();
     10373          lat_.makeImmutable();
     10374          lon_.makeImmutable();
     10375          keysVals_.makeImmutable();
     10376          return null;
     10377        }
     10378        case NEW_BUILDER: {
     10379          return new Builder();
     10380        }
     10381        case VISIT: {
     10382          Visitor visitor = (Visitor) arg0;
     10383          crosby.binary.Osmformat.DenseNodes other = (crosby.binary.Osmformat.DenseNodes) arg1;
     10384          id_= visitor.visitLongList(id_, other.id_);
     10385          denseinfo_ = visitor.visitMessage(denseinfo_, other.denseinfo_);
     10386          lat_= visitor.visitLongList(lat_, other.lat_);
     10387          lon_= visitor.visitLongList(lon_, other.lon_);
     10388          keysVals_= visitor.visitIntList(keysVals_, other.keysVals_);
     10389          if (visitor == com.google.protobuf.GeneratedMessageLite.MergeFromVisitor
     10390              .INSTANCE) {
     10391            bitField0_ |= other.bitField0_;
     10392          }
     10393          return this;
     10394        }
     10395        case MERGE_FROM_STREAM: {
     10396          com.google.protobuf.CodedInputStream input =
     10397              (com.google.protobuf.CodedInputStream) arg0;
     10398          com.google.protobuf.ExtensionRegistryLite extensionRegistry =
     10399              (com.google.protobuf.ExtensionRegistryLite) arg1;
     10400          try {
     10401            boolean done = false;
     10402            while (!done) {
     10403              int tag = input.readTag();
     10404              switch (tag) {
     10405                case 0:
     10406                  done = true;
     10407                  break;
     10408                default: {
     10409                  if (!parseUnknownField(tag, input)) {
     10410                    done = true;
     10411                  }
     10412                  break;
     10413                }
     10414                case 8: {
     10415                  if (!id_.isModifiable()) {
     10416                    id_ =
     10417                        com.google.protobuf.GeneratedMessageLite.mutableCopy(id_);
     10418                  }
     10419                  id_.addLong(input.readSInt64());
     10420                  break;
     10421                }
     10422                case 10: {
     10423                  int length = input.readRawVarint32();
     10424                  int limit = input.pushLimit(length);
     10425                  if (!id_.isModifiable() && input.getBytesUntilLimit() > 0) {
     10426                    id_ =
     10427                        com.google.protobuf.GeneratedMessageLite.mutableCopy(id_);
     10428                  }
     10429                  while (input.getBytesUntilLimit() > 0) {
     10430                    id_.addLong(input.readSInt64());
     10431                  }
     10432                  input.popLimit(limit);
     10433                  break;
     10434                }
     10435                case 42: {
     10436                  crosby.binary.Osmformat.DenseInfo.Builder subBuilder = null;
     10437                  if (((bitField0_ & 0x00000001) == 0x00000001)) {
     10438                    subBuilder = denseinfo_.toBuilder();
     10439                  }
     10440                  denseinfo_ = input.readMessage(crosby.binary.Osmformat.DenseInfo.parser(), extensionRegistry);
     10441                  if (subBuilder != null) {
     10442                    subBuilder.mergeFrom(denseinfo_);
     10443                    denseinfo_ = subBuilder.buildPartial();
     10444                  }
     10445                  bitField0_ |= 0x00000001;
     10446                  break;
     10447                }
     10448                case 64: {
     10449                  if (!lat_.isModifiable()) {
     10450                    lat_ =
     10451                        com.google.protobuf.GeneratedMessageLite.mutableCopy(lat_);
     10452                  }
     10453                  lat_.addLong(input.readSInt64());
     10454                  break;
     10455                }
     10456                case 66: {
     10457                  int length = input.readRawVarint32();
     10458                  int limit = input.pushLimit(length);
     10459                  if (!lat_.isModifiable() && input.getBytesUntilLimit() > 0) {
     10460                    lat_ =
     10461                        com.google.protobuf.GeneratedMessageLite.mutableCopy(lat_);
     10462                  }
     10463                  while (input.getBytesUntilLimit() > 0) {
     10464                    lat_.addLong(input.readSInt64());
     10465                  }
     10466                  input.popLimit(limit);
     10467                  break;
     10468                }
     10469                case 72: {
     10470                  if (!lon_.isModifiable()) {
     10471                    lon_ =
     10472                        com.google.protobuf.GeneratedMessageLite.mutableCopy(lon_);
     10473                  }
     10474                  lon_.addLong(input.readSInt64());
     10475                  break;
     10476                }
     10477                case 74: {
     10478                  int length = input.readRawVarint32();
     10479                  int limit = input.pushLimit(length);
     10480                  if (!lon_.isModifiable() && input.getBytesUntilLimit() > 0) {
     10481                    lon_ =
     10482                        com.google.protobuf.GeneratedMessageLite.mutableCopy(lon_);
     10483                  }
     10484                  while (input.getBytesUntilLimit() > 0) {
     10485                    lon_.addLong(input.readSInt64());
     10486                  }
     10487                  input.popLimit(limit);
     10488                  break;
     10489                }
     10490                case 80: {
     10491                  if (!keysVals_.isModifiable()) {
     10492                    keysVals_ =
     10493                        com.google.protobuf.GeneratedMessageLite.mutableCopy(keysVals_);
     10494                  }
     10495                  keysVals_.addInt(input.readInt32());
     10496                  break;
     10497                }
     10498                case 82: {
     10499                  int length = input.readRawVarint32();
     10500                  int limit = input.pushLimit(length);
     10501                  if (!keysVals_.isModifiable() && input.getBytesUntilLimit() > 0) {
     10502                    keysVals_ =
     10503                        com.google.protobuf.GeneratedMessageLite.mutableCopy(keysVals_);
     10504                  }
     10505                  while (input.getBytesUntilLimit() > 0) {
     10506                    keysVals_.addInt(input.readInt32());
     10507                  }
     10508                  input.popLimit(limit);
     10509                  break;
     10510                }
     10511              }
     10512            }
     10513          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
     10514            throw new RuntimeException(e.setUnfinishedMessage(this));
     10515          } catch (java.io.IOException e) {
     10516            throw new RuntimeException(
     10517                new com.google.protobuf.InvalidProtocolBufferException(
     10518                    e.getMessage()).setUnfinishedMessage(this));
     10519          } finally {
     10520          }
     10521        }
     10522        // fall through
     10523        case GET_DEFAULT_INSTANCE: {
     10524          return DEFAULT_INSTANCE;
     10525        }
     10526        case GET_PARSER: {
     10527          if (PARSER == null) {    synchronized (crosby.binary.Osmformat.DenseNodes.class) {
     10528              if (PARSER == null) {
     10529                PARSER = new DefaultInstanceBasedParser(DEFAULT_INSTANCE);
     10530              }
     10531            }
     10532          }
     10533          return PARSER;
     10534        }
     10535      }
     10536      throw new UnsupportedOperationException();
     10537    }
     10538
     10539
     10540    // @@protoc_insertion_point(class_scope:OSMPBF.DenseNodes)
     10541    private static final crosby.binary.Osmformat.DenseNodes DEFAULT_INSTANCE;
    1072810542    static {
    10729       defaultInstance = new DenseNodes(true);
    10730       defaultInstance.initFields();
    10731     }
    10732 
    10733     // @@protoc_insertion_point(class_scope:OSMPBF.DenseNodes)
     10543      DEFAULT_INSTANCE = new DenseNodes();
     10544      DEFAULT_INSTANCE.makeImmutable();
     10545    }
     10546
     10547    public static crosby.binary.Osmformat.DenseNodes getDefaultInstance() {
     10548      return DEFAULT_INSTANCE;
     10549    }
     10550
     10551    private static volatile com.google.protobuf.Parser<DenseNodes> PARSER;
     10552
     10553    public static com.google.protobuf.Parser<DenseNodes> parser() {
     10554      return DEFAULT_INSTANCE.getParserForType();
     10555    }
    1073410556  }
    1073510557
     
    1074810570
    1074910571    /**
     10572     * <pre>
     10573     * Parallel arrays.
     10574     * </pre>
     10575     *
    1075010576     * <code>repeated uint32 keys = 2 [packed = true];</code>
    10751      *
     10577     */
     10578    java.util.List<java.lang.Integer> getKeysList();
     10579    /**
    1075210580     * <pre>
    1075310581     * Parallel arrays.
    1075410582     * </pre>
    10755      */
    10756     java.util.List<java.lang.Integer> getKeysList();
    10757     /**
     10583     *
    1075810584     * <code>repeated uint32 keys = 2 [packed = true];</code>
    10759      *
     10585     */
     10586    int getKeysCount();
     10587    /**
    1076010588     * <pre>
    1076110589     * Parallel arrays.
    1076210590     * </pre>
    10763      */
    10764     int getKeysCount();
    10765     /**
     10591     *
    1076610592     * <code>repeated uint32 keys = 2 [packed = true];</code>
    10767      *
    10768      * <pre>
    10769      * Parallel arrays.
    10770      * </pre>
    1077110593     */
    1077210594    int getKeys(int index);
     
    1079510617
    1079610618    /**
     10619     * <pre>
     10620     * DELTA coded
     10621     * </pre>
     10622     *
    1079710623     * <code>repeated sint64 refs = 8 [packed = true];</code>
    10798      *
     10624     */
     10625    java.util.List<java.lang.Long> getRefsList();
     10626    /**
    1079910627     * <pre>
    1080010628     * DELTA coded
    1080110629     * </pre>
    10802      */
    10803     java.util.List<java.lang.Long> getRefsList();
    10804     /**
     10630     *
    1080510631     * <code>repeated sint64 refs = 8 [packed = true];</code>
    10806      *
     10632     */
     10633    int getRefsCount();
     10634    /**
    1080710635     * <pre>
    1080810636     * DELTA coded
    1080910637     * </pre>
    10810      */
    10811     int getRefsCount();
    10812     /**
     10638     *
    1081310639     * <code>repeated sint64 refs = 8 [packed = true];</code>
    10814      *
    10815      * <pre>
    10816      * DELTA coded
    10817      * </pre>
    1081810640     */
    1081910641    long getRefs(int index);
     
    1082210644   * Protobuf type {@code OSMPBF.Way}
    1082310645   */
    10824   public static final class Way extends
    10825       com.google.protobuf.GeneratedMessageLite implements
     10646  public  static final class Way extends
     10647      com.google.protobuf.GeneratedMessageLite<
     10648          Way, Way.Builder> implements
    1082610649      // @@protoc_insertion_point(message_implements:OSMPBF.Way)
    1082710650      WayOrBuilder {
    10828     // Use Way.newBuilder() to construct.
    10829     private Way(com.google.protobuf.GeneratedMessageLite.Builder builder) {
    10830       super(builder);
    10831       this.unknownFields = builder.getUnknownFields();
    10832     }
    10833     private Way(boolean noInit) { this.unknownFields = com.google.protobuf.ByteString.EMPTY;}
    10834 
    10835     private static final Way defaultInstance;
    10836     public static Way getDefaultInstance() {
    10837       return defaultInstance;
    10838     }
    10839 
    10840     @Override
    10841         public Way getDefaultInstanceForType() {
    10842       return defaultInstance;
    10843     }
    10844 
    10845     private final com.google.protobuf.ByteString unknownFields;
    10846     private Way(
    10847         com.google.protobuf.CodedInputStream input,
    10848         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    10849         throws com.google.protobuf.InvalidProtocolBufferException {
    10850       initFields();
    10851       int mutable_bitField0_ = 0;
    10852       com.google.protobuf.ByteString.Output unknownFieldsOutput =
    10853           com.google.protobuf.ByteString.newOutput();
    10854       com.google.protobuf.CodedOutputStream unknownFieldsCodedOutput =
    10855           com.google.protobuf.CodedOutputStream.newInstance(
    10856               unknownFieldsOutput);
    10857       try {
    10858         boolean done = false;
    10859         while (!done) {
    10860           int tag = input.readTag();
    10861           switch (tag) {
    10862             case 0:
    10863               done = true;
    10864               break;
    10865             default: {
    10866               if (!parseUnknownField(input, unknownFieldsCodedOutput,
    10867                                      extensionRegistry, tag)) {
    10868                 done = true;
    10869               }
    10870               break;
    10871             }
    10872             case 8: {
    10873               bitField0_ |= 0x00000001;
    10874               id_ = input.readInt64();
    10875               break;
    10876             }
    10877             case 16: {
    10878               if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
    10879                 keys_ = new java.util.ArrayList<>();
    10880                 mutable_bitField0_ |= 0x00000002;
    10881               }
    10882               keys_.add(input.readUInt32());
    10883               break;
    10884             }
    10885             case 18: {
    10886               int length = input.readRawVarint32();
    10887               int limit = input.pushLimit(length);
    10888               if (!((mutable_bitField0_ & 0x00000002) == 0x00000002) && input.getBytesUntilLimit() > 0) {
    10889                 keys_ = new java.util.ArrayList<>();
    10890                 mutable_bitField0_ |= 0x00000002;
    10891               }
    10892               while (input.getBytesUntilLimit() > 0) {
    10893                 keys_.add(input.readUInt32());
    10894               }
    10895               input.popLimit(limit);
    10896               break;
    10897             }
    10898             case 24: {
    10899               if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
    10900                 vals_ = new java.util.ArrayList<>();
    10901                 mutable_bitField0_ |= 0x00000004;
    10902               }
    10903               vals_.add(input.readUInt32());
    10904               break;
    10905             }
    10906             case 26: {
    10907               int length = input.readRawVarint32();
    10908               int limit = input.pushLimit(length);
    10909               if (!((mutable_bitField0_ & 0x00000004) == 0x00000004) && input.getBytesUntilLimit() > 0) {
    10910                 vals_ = new java.util.ArrayList<>();
    10911                 mutable_bitField0_ |= 0x00000004;
    10912               }
    10913               while (input.getBytesUntilLimit() > 0) {
    10914                 vals_.add(input.readUInt32());
    10915               }
    10916               input.popLimit(limit);
    10917               break;
    10918             }
    10919             case 34: {
    10920               crosby.binary.Osmformat.Info.Builder subBuilder = null;
    10921               if (((bitField0_ & 0x00000002) == 0x00000002)) {
    10922                 subBuilder = info_.toBuilder();
    10923               }
    10924               info_ = input.readMessage(crosby.binary.Osmformat.Info.PARSER, extensionRegistry);
    10925               if (subBuilder != null) {
    10926                 subBuilder.mergeFrom(info_);
    10927                 info_ = subBuilder.buildPartial();
    10928               }
    10929               bitField0_ |= 0x00000002;
    10930               break;
    10931             }
    10932             case 64: {
    10933               if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
    10934                 refs_ = new java.util.ArrayList<>();
    10935                 mutable_bitField0_ |= 0x00000010;
    10936               }
    10937               refs_.add(input.readSInt64());
    10938               break;
    10939             }
    10940             case 66: {
    10941               int length = input.readRawVarint32();
    10942               int limit = input.pushLimit(length);
    10943               if (!((mutable_bitField0_ & 0x00000010) == 0x00000010) && input.getBytesUntilLimit() > 0) {
    10944                 refs_ = new java.util.ArrayList<>();
    10945                 mutable_bitField0_ |= 0x00000010;
    10946               }
    10947               while (input.getBytesUntilLimit() > 0) {
    10948                 refs_.add(input.readSInt64());
    10949               }
    10950               input.popLimit(limit);
    10951               break;
    10952             }
    10953           }
    10954         }
    10955       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
    10956         throw e.setUnfinishedMessage(this);
    10957       } catch (java.io.IOException e) {
    10958         throw new com.google.protobuf.InvalidProtocolBufferException(
    10959             e.getMessage()).setUnfinishedMessage(this);
    10960       } finally {
    10961         if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
    10962           keys_ = java.util.Collections.unmodifiableList(keys_);
    10963         }
    10964         if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
    10965           vals_ = java.util.Collections.unmodifiableList(vals_);
    10966         }
    10967         if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
    10968           refs_ = java.util.Collections.unmodifiableList(refs_);
    10969         }
    10970         try {
    10971           unknownFieldsCodedOutput.flush();
    10972         } catch (java.io.IOException e) {
    10973         // Should not happen
    10974         } finally {
    10975           unknownFields = unknownFieldsOutput.toByteString();
    10976         }
    10977         makeExtensionsImmutable();
    10978       }
    10979     }
    10980     public static com.google.protobuf.Parser<Way> PARSER =
    10981         new com.google.protobuf.AbstractParser<Way>() {
    10982       @Override
    10983         public Way parsePartialFrom(
    10984           com.google.protobuf.CodedInputStream input,
    10985           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    10986           throws com.google.protobuf.InvalidProtocolBufferException {
    10987         return new Way(input, extensionRegistry);
    10988       }
    10989     };
    10990 
    10991     @java.lang.Override
    10992     public com.google.protobuf.Parser<Way> getParserForType() {
    10993       return PARSER;
    10994     }
    10995 
     10651    private Way() {
     10652      keys_ = emptyIntList();
     10653      vals_ = emptyIntList();
     10654      refs_ = emptyLongList();
     10655    }
    1099610656    private int bitField0_;
    1099710657    public static final int ID_FIELD_NUMBER = 1;
     
    1100010660     * <code>required int64 id = 1;</code>
    1100110661     */
    11002     @Override
    11003         public boolean hasId() {
     10662    public boolean hasId() {
    1100410663      return ((bitField0_ & 0x00000001) == 0x00000001);
    1100510664    }
     
    1100710666     * <code>required int64 id = 1;</code>
    1100810667     */
    11009     @Override
    11010         public long getId() {
     10668    public long getId() {
    1101110669      return id_;
    1101210670    }
     10671    /**
     10672     * <code>required int64 id = 1;</code>
     10673     */
     10674    private void setId(long value) {
     10675      bitField0_ |= 0x00000001;
     10676      id_ = value;
     10677    }
     10678    /**
     10679     * <code>required int64 id = 1;</code>
     10680     */
     10681    private void clearId() {
     10682      bitField0_ = (bitField0_ & ~0x00000001);
     10683      id_ = 0L;
     10684    }
    1101310685
    1101410686    public static final int KEYS_FIELD_NUMBER = 2;
    11015     private java.util.List<java.lang.Integer> keys_;
    11016     /**
     10687    private com.google.protobuf.Internal.IntList keys_;
     10688    /**
     10689     * <pre>
     10690     * Parallel arrays.
     10691     * </pre>
     10692     *
    1101710693     * <code>repeated uint32 keys = 2 [packed = true];</code>
    11018      *
    11019      * <pre>
    11020      * Parallel arrays.
    11021      * </pre>
    11022      */
    11023     @Override
    11024         public java.util.List<java.lang.Integer>
     10694     */
     10695    public java.util.List<java.lang.Integer>
    1102510696        getKeysList() {
    1102610697      return keys_;
    1102710698    }
    1102810699    /**
     10700     * <pre>
     10701     * Parallel arrays.
     10702     * </pre>
     10703     *
    1102910704     * <code>repeated uint32 keys = 2 [packed = true];</code>
    11030      *
     10705     */
     10706    public int getKeysCount() {
     10707      return keys_.size();
     10708    }
     10709    /**
    1103110710     * <pre>
    1103210711     * Parallel arrays.
    1103310712     * </pre>
    11034      */
    11035     @Override
    11036         public int getKeysCount() {
    11037       return keys_.size();
    11038     }
    11039     /**
     10713     *
    1104010714     * <code>repeated uint32 keys = 2 [packed = true];</code>
    11041      *
     10715     */
     10716    public int getKeys(int index) {
     10717      return keys_.getInt(index);
     10718    }
     10719    private int keysMemoizedSerializedSize = -1;
     10720    private void ensureKeysIsMutable() {
     10721      if (!keys_.isModifiable()) {
     10722        keys_ =
     10723            com.google.protobuf.GeneratedMessageLite.mutableCopy(keys_);
     10724       }
     10725    }
     10726    /**
    1104210727     * <pre>
    1104310728     * Parallel arrays.
    1104410729     * </pre>
    11045      */
    11046     @Override
    11047         public int getKeys(int index) {
    11048       return keys_.get(index);
    11049     }
    11050     private int keysMemoizedSerializedSize = -1;
     10730     *
     10731     * <code>repeated uint32 keys = 2 [packed = true];</code>
     10732     */
     10733    private void setKeys(
     10734        int index, int value) {
     10735      ensureKeysIsMutable();
     10736      keys_.setInt(index, value);
     10737    }
     10738    /**
     10739     * <pre>
     10740     * Parallel arrays.
     10741     * </pre>
     10742     *
     10743     * <code>repeated uint32 keys = 2 [packed = true];</code>
     10744     */
     10745    private void addKeys(int value) {
     10746      ensureKeysIsMutable();
     10747      keys_.addInt(value);
     10748    }
     10749    /**
     10750     * <pre>
     10751     * Parallel arrays.
     10752     * </pre>
     10753     *
     10754     * <code>repeated uint32 keys = 2 [packed = true];</code>
     10755     */
     10756    private void addAllKeys(
     10757        java.lang.Iterable<? extends java.lang.Integer> values) {
     10758      ensureKeysIsMutable();
     10759      com.google.protobuf.AbstractMessageLite.addAll(
     10760          values, keys_);
     10761    }
     10762    /**
     10763     * <pre>
     10764     * Parallel arrays.
     10765     * </pre>
     10766     *
     10767     * <code>repeated uint32 keys = 2 [packed = true];</code>
     10768     */
     10769    private void clearKeys() {
     10770      keys_ = emptyIntList();
     10771    }
    1105110772
    1105210773    public static final int VALS_FIELD_NUMBER = 3;
    11053     private java.util.List<java.lang.Integer> vals_;
     10774    private com.google.protobuf.Internal.IntList vals_;
    1105410775    /**
    1105510776     * <code>repeated uint32 vals = 3 [packed = true];</code>
    1105610777     */
    11057     @Override
    11058         public java.util.List<java.lang.Integer>
     10778    public java.util.List<java.lang.Integer>
    1105910779        getValsList() {
    1106010780      return vals_;
     
    1106310783     * <code>repeated uint32 vals = 3 [packed = true];</code>
    1106410784     */
    11065     @Override
    11066         public int getValsCount() {
     10785    public int getValsCount() {
    1106710786      return vals_.size();
    1106810787    }
     
    1107010789     * <code>repeated uint32 vals = 3 [packed = true];</code>
    1107110790     */
    11072     @Override
    11073         public int getVals(int index) {
    11074       return vals_.get(index);
     10791    public int getVals(int index) {
     10792      return vals_.getInt(index);
    1107510793    }
    1107610794    private int valsMemoizedSerializedSize = -1;
     10795    private void ensureValsIsMutable() {
     10796      if (!vals_.isModifiable()) {
     10797        vals_ =
     10798            com.google.protobuf.GeneratedMessageLite.mutableCopy(vals_);
     10799       }
     10800    }
     10801    /**
     10802     * <code>repeated uint32 vals = 3 [packed = true];</code>
     10803     */
     10804    private void setVals(
     10805        int index, int value) {
     10806      ensureValsIsMutable();
     10807      vals_.setInt(index, value);
     10808    }
     10809    /**
     10810     * <code>repeated uint32 vals = 3 [packed = true];</code>
     10811     */
     10812    private void addVals(int value) {
     10813      ensureValsIsMutable();
     10814      vals_.addInt(value);
     10815    }
     10816    /**
     10817     * <code>repeated uint32 vals = 3 [packed = true];</code>
     10818     */
     10819    private void addAllVals(
     10820        java.lang.Iterable<? extends java.lang.Integer> values) {
     10821      ensureValsIsMutable();
     10822      com.google.protobuf.AbstractMessageLite.addAll(
     10823          values, vals_);
     10824    }
     10825    /**
     10826     * <code>repeated uint32 vals = 3 [packed = true];</code>
     10827     */
     10828    private void clearVals() {
     10829      vals_ = emptyIntList();
     10830    }
    1107710831
    1107810832    public static final int INFO_FIELD_NUMBER = 4;
     
    1108110835     * <code>optional .OSMPBF.Info info = 4;</code>
    1108210836     */
    11083     @Override
    11084         public boolean hasInfo() {
     10837    public boolean hasInfo() {
    1108510838      return ((bitField0_ & 0x00000002) == 0x00000002);
    1108610839    }
     
    1108810841     * <code>optional .OSMPBF.Info info = 4;</code>
    1108910842     */
    11090     @Override
    11091         public crosby.binary.Osmformat.Info getInfo() {
    11092       return info_;
     10843    public crosby.binary.Osmformat.Info getInfo() {
     10844      return info_ == null ? crosby.binary.Osmformat.Info.getDefaultInstance() : info_;
     10845    }
     10846    /**
     10847     * <code>optional .OSMPBF.Info info = 4;</code>
     10848     */
     10849    private void setInfo(crosby.binary.Osmformat.Info value) {
     10850      if (value == null) {
     10851        throw new NullPointerException();
     10852      }
     10853      info_ = value;
     10854      bitField0_ |= 0x00000002;
     10855      }
     10856    /**
     10857     * <code>optional .OSMPBF.Info info = 4;</code>
     10858     */
     10859    private void setInfo(
     10860        crosby.binary.Osmformat.Info.Builder builderForValue) {
     10861      info_ = builderForValue.build();
     10862      bitField0_ |= 0x00000002;
     10863    }
     10864    /**
     10865     * <code>optional .OSMPBF.Info info = 4;</code>
     10866     */
     10867    private void mergeInfo(crosby.binary.Osmformat.Info value) {
     10868      if (info_ != null &&
     10869          info_ != crosby.binary.Osmformat.Info.getDefaultInstance()) {
     10870        info_ =
     10871          crosby.binary.Osmformat.Info.newBuilder(info_).mergeFrom(value).buildPartial();
     10872      } else {
     10873        info_ = value;
     10874      }
     10875      bitField0_ |= 0x00000002;
     10876    }
     10877    /**
     10878     * <code>optional .OSMPBF.Info info = 4;</code>
     10879     */
     10880    private void clearInfo() {  info_ = null;
     10881      bitField0_ = (bitField0_ & ~0x00000002);
    1109310882    }
    1109410883
    1109510884    public static final int REFS_FIELD_NUMBER = 8;
    11096     private java.util.List<java.lang.Long> refs_;
    11097     /**
     10885    private com.google.protobuf.Internal.LongList refs_;
     10886    /**
     10887     * <pre>
     10888     * DELTA coded
     10889     * </pre>
     10890     *
    1109810891     * <code>repeated sint64 refs = 8 [packed = true];</code>
    11099      *
    11100      * <pre>
    11101      * DELTA coded
    11102      * </pre>
    11103      */
    11104     @Override
    11105         public java.util.List<java.lang.Long>
     10892     */
     10893    public java.util.List<java.lang.Long>
    1110610894        getRefsList() {
    1110710895      return refs_;
    1110810896    }
    1110910897    /**
     10898     * <pre>
     10899     * DELTA coded
     10900     * </pre>
     10901     *
    1111010902     * <code>repeated sint64 refs = 8 [packed = true];</code>
    11111      *
     10903     */
     10904    public int getRefsCount() {
     10905      return refs_.size();
     10906    }
     10907    /**
    1111210908     * <pre>
    1111310909     * DELTA coded
    1111410910     * </pre>
    11115      */
    11116     @Override
    11117         public int getRefsCount() {
    11118       return refs_.size();
    11119     }
    11120     /**
     10911     *
    1112110912     * <code>repeated sint64 refs = 8 [packed = true];</code>
    11122      *
     10913     */
     10914    public long getRefs(int index) {
     10915      return refs_.getLong(index);
     10916    }
     10917    private int refsMemoizedSerializedSize = -1;
     10918    private void ensureRefsIsMutable() {
     10919      if (!refs_.isModifiable()) {
     10920        refs_ =
     10921            com.google.protobuf.GeneratedMessageLite.mutableCopy(refs_);
     10922       }
     10923    }
     10924    /**
    1112310925     * <pre>
    1112410926     * DELTA coded
    1112510927     * </pre>
    11126      */
    11127     @Override
    11128         public long getRefs(int index) {
    11129       return refs_.get(index);
    11130     }
    11131     private int refsMemoizedSerializedSize = -1;
    11132 
    11133     private void initFields() {
    11134       id_ = 0L;
    11135       keys_ = java.util.Collections.emptyList();
    11136       vals_ = java.util.Collections.emptyList();
    11137       info_ = crosby.binary.Osmformat.Info.getDefaultInstance();
    11138       refs_ = java.util.Collections.emptyList();
    11139     }
    11140     private byte memoizedIsInitialized = -1;
    11141     @Override
    11142         public final boolean isInitialized() {
    11143       byte isInitialized = memoizedIsInitialized;
    11144       if (isInitialized == 1) return true;
    11145       if (isInitialized == 0) return false;
    11146 
    11147       if (!hasId()) {
    11148         memoizedIsInitialized = 0;
    11149         return false;
    11150       }
    11151       memoizedIsInitialized = 1;
    11152       return true;
    11153     }
    11154 
    11155     @Override
    11156         public void writeTo(com.google.protobuf.CodedOutputStream output)
     10928     *
     10929     * <code>repeated sint64 refs = 8 [packed = true];</code>
     10930     */
     10931    private void setRefs(
     10932        int index, long value) {
     10933      ensureRefsIsMutable();
     10934      refs_.setLong(index, value);
     10935    }
     10936    /**
     10937     * <pre>
     10938     * DELTA coded
     10939     * </pre>
     10940     *
     10941     * <code>repeated sint64 refs = 8 [packed = true];</code>
     10942     */
     10943    private void addRefs(long value) {
     10944      ensureRefsIsMutable();
     10945      refs_.addLong(value);
     10946    }
     10947    /**
     10948     * <pre>
     10949     * DELTA coded
     10950     * </pre>
     10951     *
     10952     * <code>repeated sint64 refs = 8 [packed = true];</code>
     10953     */
     10954    private void addAllRefs(
     10955        java.lang.Iterable<? extends java.lang.Long> values) {
     10956      ensureRefsIsMutable();
     10957      com.google.protobuf.AbstractMessageLite.addAll(
     10958          values, refs_);
     10959    }
     10960    /**
     10961     * <pre>
     10962     * DELTA coded
     10963     * </pre>
     10964     *
     10965     * <code>repeated sint64 refs = 8 [packed = true];</code>
     10966     */
     10967    private void clearRefs() {
     10968      refs_ = emptyLongList();
     10969    }
     10970
     10971    public void writeTo(com.google.protobuf.CodedOutputStream output)
    1115710972                        throws java.io.IOException {
    1115810973      getSerializedSize();
     
    1116110976      }
    1116210977      if (getKeysList().size() > 0) {
    11163         output.writeRawVarint32(18);
    11164         output.writeRawVarint32(keysMemoizedSerializedSize);
     10978        output.writeUInt32NoTag(18);
     10979        output.writeUInt32NoTag(keysMemoizedSerializedSize);
    1116510980      }
    1116610981      for (int i = 0; i < keys_.size(); i++) {
    11167         output.writeUInt32NoTag(keys_.get(i));
     10982        output.writeUInt32NoTag(keys_.getInt(i));
    1116810983      }
    1116910984      if (getValsList().size() > 0) {
    11170         output.writeRawVarint32(26);
    11171         output.writeRawVarint32(valsMemoizedSerializedSize);
     10985        output.writeUInt32NoTag(26);
     10986        output.writeUInt32NoTag(valsMemoizedSerializedSize);
    1117210987      }
    1117310988      for (int i = 0; i < vals_.size(); i++) {
    11174         output.writeUInt32NoTag(vals_.get(i));
     10989        output.writeUInt32NoTag(vals_.getInt(i));
    1117510990      }
    1117610991      if (((bitField0_ & 0x00000002) == 0x00000002)) {
    11177         output.writeMessage(4, info_);
     10992        output.writeMessage(4, getInfo());
    1117810993      }
    1117910994      if (getRefsList().size() > 0) {
    11180         output.writeRawVarint32(66);
    11181         output.writeRawVarint32(refsMemoizedSerializedSize);
     10995        output.writeUInt32NoTag(66);
     10996        output.writeUInt32NoTag(refsMemoizedSerializedSize);
    1118210997      }
    1118310998      for (int i = 0; i < refs_.size(); i++) {
    11184         output.writeSInt64NoTag(refs_.get(i));
    11185       }
    11186       output.writeRawBytes(unknownFields);
    11187     }
    11188 
    11189     private int memoizedSerializedSize = -1;
    11190     @Override
    11191         public int getSerializedSize() {
     10999        output.writeSInt64NoTag(refs_.getLong(i));
     11000      }
     11001      unknownFields.writeTo(output);
     11002    }
     11003
     11004    public int getSerializedSize() {
    1119211005      int size = memoizedSerializedSize;
    1119311006      if (size != -1) return size;
     
    1120211015        for (int i = 0; i < keys_.size(); i++) {
    1120311016          dataSize += com.google.protobuf.CodedOutputStream
    11204             .computeUInt32SizeNoTag(keys_.get(i));
     11017            .computeUInt32SizeNoTag(keys_.getInt(i));
    1120511018        }
    1120611019        size += dataSize;
     
    1121611029        for (int i = 0; i < vals_.size(); i++) {
    1121711030          dataSize += com.google.protobuf.CodedOutputStream
    11218             .computeUInt32SizeNoTag(vals_.get(i));
     11031            .computeUInt32SizeNoTag(vals_.getInt(i));
    1121911032        }
    1122011033        size += dataSize;
     
    1122811041      if (((bitField0_ & 0x00000002) == 0x00000002)) {
    1122911042        size += com.google.protobuf.CodedOutputStream
    11230           .computeMessageSize(4, info_);
     11043          .computeMessageSize(4, getInfo());
    1123111044      }
    1123211045      {
     
    1123411047        for (int i = 0; i < refs_.size(); i++) {
    1123511048          dataSize += com.google.protobuf.CodedOutputStream
    11236             .computeSInt64SizeNoTag(refs_.get(i));
     11049            .computeSInt64SizeNoTag(refs_.getLong(i));
    1123711050        }
    1123811051        size += dataSize;
     
    1124411057        refsMemoizedSerializedSize = dataSize;
    1124511058      }
    11246       size += unknownFields.size();
     11059      size += unknownFields.getSerializedSize();
    1124711060      memoizedSerializedSize = size;
    1124811061      return size;
    1124911062    }
    1125011063
    11251     private static final long serialVersionUID = 0L;
    11252     @java.lang.Override
    11253     protected java.lang.Object writeReplace()
    11254         throws java.io.ObjectStreamException {
    11255       return super.writeReplace();
    11256     }
    11257 
     11064    public static crosby.binary.Osmformat.Way parseFrom(
     11065        java.nio.ByteBuffer data)
     11066        throws com.google.protobuf.InvalidProtocolBufferException {
     11067      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     11068          DEFAULT_INSTANCE, data);
     11069    }
     11070    public static crosby.binary.Osmformat.Way parseFrom(
     11071        java.nio.ByteBuffer data,
     11072        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     11073        throws com.google.protobuf.InvalidProtocolBufferException {
     11074      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     11075          DEFAULT_INSTANCE, data, extensionRegistry);
     11076    }
    1125811077    public static crosby.binary.Osmformat.Way parseFrom(
    1125911078        com.google.protobuf.ByteString data)
    1126011079        throws com.google.protobuf.InvalidProtocolBufferException {
    11261       return PARSER.parseFrom(data);
     11080      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     11081          DEFAULT_INSTANCE, data);
    1126211082    }
    1126311083    public static crosby.binary.Osmformat.Way parseFrom(
     
    1126511085        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    1126611086        throws com.google.protobuf.InvalidProtocolBufferException {
    11267       return PARSER.parseFrom(data, extensionRegistry);
     11087      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     11088          DEFAULT_INSTANCE, data, extensionRegistry);
    1126811089    }
    1126911090    public static crosby.binary.Osmformat.Way parseFrom(byte[] data)
    1127011091        throws com.google.protobuf.InvalidProtocolBufferException {
    11271       return PARSER.parseFrom(data);
     11092      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     11093          DEFAULT_INSTANCE, data);
    1127211094    }
    1127311095    public static crosby.binary.Osmformat.Way parseFrom(
     
    1127511097        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    1127611098        throws com.google.protobuf.InvalidProtocolBufferException {
    11277       return PARSER.parseFrom(data, extensionRegistry);
     11099      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     11100          DEFAULT_INSTANCE, data, extensionRegistry);
    1127811101    }
    1127911102    public static crosby.binary.Osmformat.Way parseFrom(java.io.InputStream input)
    1128011103        throws java.io.IOException {
    11281       return PARSER.parseFrom(input);
     11104      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     11105          DEFAULT_INSTANCE, input);
    1128211106    }
    1128311107    public static crosby.binary.Osmformat.Way parseFrom(
     
    1128511109        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    1128611110        throws java.io.IOException {
    11287       return PARSER.parseFrom(input, extensionRegistry);
     11111      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     11112          DEFAULT_INSTANCE, input, extensionRegistry);
    1128811113    }
    1128911114    public static crosby.binary.Osmformat.Way parseDelimitedFrom(java.io.InputStream input)
    1129011115        throws java.io.IOException {
    11291       return PARSER.parseDelimitedFrom(input);
     11116      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    1129211117    }
    1129311118    public static crosby.binary.Osmformat.Way parseDelimitedFrom(
     
    1129511120        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    1129611121        throws java.io.IOException {
    11297       return PARSER.parseDelimitedFrom(input, extensionRegistry);
     11122      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    1129811123    }
    1129911124    public static crosby.binary.Osmformat.Way parseFrom(
    1130011125        com.google.protobuf.CodedInputStream input)
    1130111126        throws java.io.IOException {
    11302       return PARSER.parseFrom(input);
     11127      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     11128          DEFAULT_INSTANCE, input);
    1130311129    }
    1130411130    public static crosby.binary.Osmformat.Way parseFrom(
     
    1130611132        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    1130711133        throws java.io.IOException {
    11308       return PARSER.parseFrom(input, extensionRegistry);
    11309     }
    11310 
    11311     public static Builder newBuilder() { return Builder.create(); }
    11312     @Override
    11313         public Builder newBuilderForType() { return newBuilder(); }
     11134      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     11135          DEFAULT_INSTANCE, input, extensionRegistry);
     11136    }
     11137
     11138    public static Builder newBuilder() {
     11139      return DEFAULT_INSTANCE.toBuilder();
     11140    }
    1131411141    public static Builder newBuilder(crosby.binary.Osmformat.Way prototype) {
    11315       return newBuilder().mergeFrom(prototype);
    11316     }
    11317     @Override
    11318         public Builder toBuilder() { return newBuilder(this); }
     11142      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     11143    }
    1131911144
    1132011145    /**
     
    1132311148    public static final class Builder extends
    1132411149        com.google.protobuf.GeneratedMessageLite.Builder<
    11325           crosby.binary.Osmformat.Way, Builder>
    11326         implements
     11150          crosby.binary.Osmformat.Way, Builder> implements
    1132711151        // @@protoc_insertion_point(builder_implements:OSMPBF.Way)
    1132811152        crosby.binary.Osmformat.WayOrBuilder {
    1132911153      // Construct using crosby.binary.Osmformat.Way.newBuilder()
    1133011154      private Builder() {
    11331         maybeForceBuilderInitialization();
    11332       }
    11333 
    11334       private void maybeForceBuilderInitialization() {
    11335       }
    11336       private static Builder create() {
    11337         return new Builder();
    11338       }
    11339 
    11340       @Override
    11341         public Builder clear() {
    11342         super.clear();
    11343         id_ = 0L;
    11344         bitField0_ = (bitField0_ & ~0x00000001);
    11345         keys_ = java.util.Collections.emptyList();
    11346         bitField0_ = (bitField0_ & ~0x00000002);
    11347         vals_ = java.util.Collections.emptyList();
    11348         bitField0_ = (bitField0_ & ~0x00000004);
    11349         info_ = crosby.binary.Osmformat.Info.getDefaultInstance();
    11350         bitField0_ = (bitField0_ & ~0x00000008);
    11351         refs_ = java.util.Collections.emptyList();
    11352         bitField0_ = (bitField0_ & ~0x00000010);
    11353         return this;
    11354       }
    11355 
    11356       @Override
    11357         public Builder clone() {
    11358         return create().mergeFrom(buildPartial());
    11359       }
    11360 
    11361       @Override
    11362         public crosby.binary.Osmformat.Way getDefaultInstanceForType() {
    11363         return crosby.binary.Osmformat.Way.getDefaultInstance();
    11364       }
    11365 
    11366       @Override
    11367         public crosby.binary.Osmformat.Way build() {
    11368         crosby.binary.Osmformat.Way result = buildPartial();
    11369         if (!result.isInitialized()) {
    11370           throw newUninitializedMessageException(result);
    11371         }
    11372         return result;
    11373       }
    11374 
    11375       @Override
    11376         public crosby.binary.Osmformat.Way buildPartial() {
    11377         crosby.binary.Osmformat.Way result = new crosby.binary.Osmformat.Way(this);
    11378         int from_bitField0_ = bitField0_;
    11379         int to_bitField0_ = 0;
    11380         if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
    11381           to_bitField0_ |= 0x00000001;
    11382         }
    11383         result.id_ = id_;
    11384         if (((bitField0_ & 0x00000002) == 0x00000002)) {
    11385           keys_ = java.util.Collections.unmodifiableList(keys_);
    11386           bitField0_ = (bitField0_ & ~0x00000002);
    11387         }
    11388         result.keys_ = keys_;
    11389         if (((bitField0_ & 0x00000004) == 0x00000004)) {
    11390           vals_ = java.util.Collections.unmodifiableList(vals_);
    11391           bitField0_ = (bitField0_ & ~0x00000004);
    11392         }
    11393         result.vals_ = vals_;
    11394         if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
    11395           to_bitField0_ |= 0x00000002;
    11396         }
    11397         result.info_ = info_;
    11398         if (((bitField0_ & 0x00000010) == 0x00000010)) {
    11399           refs_ = java.util.Collections.unmodifiableList(refs_);
    11400           bitField0_ = (bitField0_ & ~0x00000010);
    11401         }
    11402         result.refs_ = refs_;
    11403         result.bitField0_ = to_bitField0_;
    11404         return result;
    11405       }
    11406 
    11407       @Override
    11408         public Builder mergeFrom(crosby.binary.Osmformat.Way other) {
    11409         if (other == crosby.binary.Osmformat.Way.getDefaultInstance()) return this;
    11410         if (other.hasId()) {
    11411           setId(other.getId());
    11412         }
    11413         if (!other.keys_.isEmpty()) {
    11414           if (keys_.isEmpty()) {
    11415             keys_ = other.keys_;
    11416             bitField0_ = (bitField0_ & ~0x00000002);
    11417           } else {
    11418             ensureKeysIsMutable();
    11419             keys_.addAll(other.keys_);
    11420           }
    11421 
    11422         }
    11423         if (!other.vals_.isEmpty()) {
    11424           if (vals_.isEmpty()) {
    11425             vals_ = other.vals_;
    11426             bitField0_ = (bitField0_ & ~0x00000004);
    11427           } else {
    11428             ensureValsIsMutable();
    11429             vals_.addAll(other.vals_);
    11430           }
    11431 
    11432         }
    11433         if (other.hasInfo()) {
    11434           mergeInfo(other.getInfo());
    11435         }
    11436         if (!other.refs_.isEmpty()) {
    11437           if (refs_.isEmpty()) {
    11438             refs_ = other.refs_;
    11439             bitField0_ = (bitField0_ & ~0x00000010);
    11440           } else {
    11441             ensureRefsIsMutable();
    11442             refs_.addAll(other.refs_);
    11443           }
    11444 
    11445         }
    11446         setUnknownFields(
    11447             getUnknownFields().concat(other.unknownFields));
    11448         return this;
    11449       }
    11450 
    11451       @Override
    11452         public final boolean isInitialized() {
    11453         if (!hasId()) {
    11454 
    11455           return false;
    11456         }
    11457         return true;
    11458       }
    11459 
    11460       @Override
    11461         public Builder mergeFrom(
    11462           com.google.protobuf.CodedInputStream input,
    11463           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    11464           throws java.io.IOException {
    11465         crosby.binary.Osmformat.Way parsedMessage = null;
    11466         try {
    11467           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
    11468         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
    11469           parsedMessage = (crosby.binary.Osmformat.Way) e.getUnfinishedMessage();
    11470           throw e;
    11471         } finally {
    11472           if (parsedMessage != null) {
    11473             mergeFrom(parsedMessage);
    11474           }
    11475         }
    11476         return this;
    11477       }
    11478       private int bitField0_;
    11479 
    11480       private long id_ ;
     11155        super(DEFAULT_INSTANCE);
     11156      }
     11157
     11158
    1148111159      /**
    1148211160       * <code>required int64 id = 1;</code>
    1148311161       */
    11484       @Override
    11485         public boolean hasId() {
    11486         return ((bitField0_ & 0x00000001) == 0x00000001);
     11162      public boolean hasId() {
     11163        return instance.hasId();
    1148711164      }
    1148811165      /**
    1148911166       * <code>required int64 id = 1;</code>
    1149011167       */
    11491       @Override
    11492         public long getId() {
    11493         return id_;
     11168      public long getId() {
     11169        return instance.getId();
    1149411170      }
    1149511171      /**
     
    1149711173       */
    1149811174      public Builder setId(long value) {
    11499         bitField0_ |= 0x00000001;
    11500         id_ = value;
    11501 
     11175        copyOnWrite();
     11176        instance.setId(value);
    1150211177        return this;
    1150311178      }
     
    1150611181       */
    1150711182      public Builder clearId() {
    11508         bitField0_ = (bitField0_ & ~0x00000001);
    11509         id_ = 0L;
    11510 
    11511         return this;
    11512       }
    11513 
    11514       private java.util.List<java.lang.Integer> keys_ = java.util.Collections.emptyList();
    11515       private void ensureKeysIsMutable() {
    11516         if (!((bitField0_ & 0x00000002) == 0x00000002)) {
    11517           keys_ = new java.util.ArrayList<>(keys_);
    11518           bitField0_ |= 0x00000002;
    11519          }
    11520       }
    11521       /**
     11183        copyOnWrite();
     11184        instance.clearId();
     11185        return this;
     11186      }
     11187
     11188      /**
     11189       * <pre>
     11190       * Parallel arrays.
     11191       * </pre>
     11192       *
    1152211193       * <code>repeated uint32 keys = 2 [packed = true];</code>
    11523        *
     11194       */
     11195      public java.util.List<java.lang.Integer>
     11196          getKeysList() {
     11197        return java.util.Collections.unmodifiableList(
     11198            instance.getKeysList());
     11199      }
     11200      /**
    1152411201       * <pre>
    1152511202       * Parallel arrays.
    1152611203       * </pre>
    11527        */
    11528       @Override
    11529         public java.util.List<java.lang.Integer>
    11530           getKeysList() {
    11531         return java.util.Collections.unmodifiableList(keys_);
    11532       }
    11533       /**
     11204       *
    1153411205       * <code>repeated uint32 keys = 2 [packed = true];</code>
    11535        *
     11206       */
     11207      public int getKeysCount() {
     11208        return instance.getKeysCount();
     11209      }
     11210      /**
    1153611211       * <pre>
    1153711212       * Parallel arrays.
    1153811213       * </pre>
    11539        */
    11540       @Override
    11541         public int getKeysCount() {
    11542         return keys_.size();
    11543       }
    11544       /**
     11214       *
    1154511215       * <code>repeated uint32 keys = 2 [packed = true];</code>
    11546        *
     11216       */
     11217      public int getKeys(int index) {
     11218        return instance.getKeys(index);
     11219      }
     11220      /**
    1154711221       * <pre>
    1154811222       * Parallel arrays.
    1154911223       * </pre>
    11550        */
    11551       @Override
    11552         public int getKeys(int index) {
    11553         return keys_.get(index);
    11554       }
    11555       /**
     11224       *
    1155611225       * <code>repeated uint32 keys = 2 [packed = true];</code>
    11557        *
    11558        * <pre>
    11559        * Parallel arrays.
    11560        * </pre>
    1156111226       */
    1156211227      public Builder setKeys(
    1156311228          int index, int value) {
    11564         ensureKeysIsMutable();
    11565         keys_.set(index, value);
    11566 
    11567         return this;
    11568       }
    11569       /**
     11229        copyOnWrite();
     11230        instance.setKeys(index, value);
     11231        return this;
     11232      }
     11233      /**
     11234       * <pre>
     11235       * Parallel arrays.
     11236       * </pre>
     11237       *
    1157011238       * <code>repeated uint32 keys = 2 [packed = true];</code>
    11571        *
     11239       */
     11240      public Builder addKeys(int value) {
     11241        copyOnWrite();
     11242        instance.addKeys(value);
     11243        return this;
     11244      }
     11245      /**
    1157211246       * <pre>
    1157311247       * Parallel arrays.
    1157411248       * </pre>
    11575        */
    11576       public Builder addKeys(int value) {
    11577         ensureKeysIsMutable();
    11578         keys_.add(value);
    11579 
    11580         return this;
    11581       }
    11582       /**
     11249       *
    1158311250       * <code>repeated uint32 keys = 2 [packed = true];</code>
    11584        *
    11585        * <pre>
    11586        * Parallel arrays.
    11587        * </pre>
    1158811251       */
    1158911252      public Builder addAllKeys(
    1159011253          java.lang.Iterable<? extends java.lang.Integer> values) {
    11591         ensureKeysIsMutable();
    11592         com.google.protobuf.AbstractMessageLite.Builder.addAll(
    11593             values, keys_);
    11594 
    11595         return this;
    11596       }
    11597       /**
     11254        copyOnWrite();
     11255        instance.addAllKeys(values);
     11256        return this;
     11257      }
     11258      /**
     11259       * <pre>
     11260       * Parallel arrays.
     11261       * </pre>
     11262       *
    1159811263       * <code>repeated uint32 keys = 2 [packed = true];</code>
    11599        *
    11600        * <pre>
    11601        * Parallel arrays.
    11602        * </pre>
    1160311264       */
    1160411265      public Builder clearKeys() {
    11605         keys_ = java.util.Collections.emptyList();
    11606         bitField0_ = (bitField0_ & ~0x00000002);
    11607 
    11608         return this;
    11609       }
    11610 
    11611       private java.util.List<java.lang.Integer> vals_ = java.util.Collections.emptyList();
    11612       private void ensureValsIsMutable() {
    11613         if (!((bitField0_ & 0x00000004) == 0x00000004)) {
    11614           vals_ = new java.util.ArrayList<>(vals_);
    11615           bitField0_ |= 0x00000004;
    11616          }
    11617       }
     11266        copyOnWrite();
     11267        instance.clearKeys();
     11268        return this;
     11269      }
     11270
    1161811271      /**
    1161911272       * <code>repeated uint32 vals = 3 [packed = true];</code>
    1162011273       */
    11621       @Override
    11622         public java.util.List<java.lang.Integer>
     11274      public java.util.List<java.lang.Integer>
    1162311275          getValsList() {
    11624         return java.util.Collections.unmodifiableList(vals_);
     11276        return java.util.Collections.unmodifiableList(
     11277            instance.getValsList());
    1162511278      }
    1162611279      /**
    1162711280       * <code>repeated uint32 vals = 3 [packed = true];</code>
    1162811281       */
    11629       @Override
    11630         public int getValsCount() {
    11631         return vals_.size();
     11282      public int getValsCount() {
     11283        return instance.getValsCount();
    1163211284      }
    1163311285      /**
    1163411286       * <code>repeated uint32 vals = 3 [packed = true];</code>
    1163511287       */
    11636       @Override
    11637         public int getVals(int index) {
    11638         return vals_.get(index);
     11288      public int getVals(int index) {
     11289        return instance.getVals(index);
    1163911290      }
    1164011291      /**
     
    1164311294      public Builder setVals(
    1164411295          int index, int value) {
    11645         ensureValsIsMutable();
    11646         vals_.set(index, value);
    11647 
     11296        copyOnWrite();
     11297        instance.setVals(index, value);
    1164811298        return this;
    1164911299      }
     
    1165211302       */
    1165311303      public Builder addVals(int value) {
    11654         ensureValsIsMutable();
    11655         vals_.add(value);
    11656 
     11304        copyOnWrite();
     11305        instance.addVals(value);
    1165711306        return this;
    1165811307      }
     
    1166211311      public Builder addAllVals(
    1166311312          java.lang.Iterable<? extends java.lang.Integer> values) {
    11664         ensureValsIsMutable();
    11665         com.google.protobuf.AbstractMessageLite.Builder.addAll(
    11666             values, vals_);
    11667 
     11313        copyOnWrite();
     11314        instance.addAllVals(values);
    1166811315        return this;
    1166911316      }
     
    1167211319       */
    1167311320      public Builder clearVals() {
    11674         vals_ = java.util.Collections.emptyList();
    11675         bitField0_ = (bitField0_ & ~0x00000004);
    11676 
    11677         return this;
    11678       }
    11679 
    11680       private crosby.binary.Osmformat.Info info_ = crosby.binary.Osmformat.Info.getDefaultInstance();
     11321        copyOnWrite();
     11322        instance.clearVals();
     11323        return this;
     11324      }
     11325
    1168111326      /**
    1168211327       * <code>optional .OSMPBF.Info info = 4;</code>
    1168311328       */
    11684       @Override
    11685         public boolean hasInfo() {
    11686         return ((bitField0_ & 0x00000008) == 0x00000008);
     11329      public boolean hasInfo() {
     11330        return instance.hasInfo();
    1168711331      }
    1168811332      /**
    1168911333       * <code>optional .OSMPBF.Info info = 4;</code>
    1169011334       */
    11691       @Override
    11692         public crosby.binary.Osmformat.Info getInfo() {
    11693         return info_;
     11335      public crosby.binary.Osmformat.Info getInfo() {
     11336        return instance.getInfo();
    1169411337      }
    1169511338      /**
     
    1169711340       */
    1169811341      public Builder setInfo(crosby.binary.Osmformat.Info value) {
    11699         if (value == null) {
    11700           throw new NullPointerException();
    11701         }
    11702         info_ = value;
    11703 
    11704         bitField0_ |= 0x00000008;
    11705         return this;
    11706       }
     11342        copyOnWrite();
     11343        instance.setInfo(value);
     11344        return this;
     11345        }
    1170711346      /**
    1170811347       * <code>optional .OSMPBF.Info info = 4;</code>
     
    1171011349      public Builder setInfo(
    1171111350          crosby.binary.Osmformat.Info.Builder builderForValue) {
    11712         info_ = builderForValue.build();
    11713 
    11714         bitField0_ |= 0x00000008;
     11351        copyOnWrite();
     11352        instance.setInfo(builderForValue);
    1171511353        return this;
    1171611354      }
     
    1171911357       */
    1172011358      public Builder mergeInfo(crosby.binary.Osmformat.Info value) {
    11721         if (((bitField0_ & 0x00000008) == 0x00000008) &&
    11722             info_ != crosby.binary.Osmformat.Info.getDefaultInstance()) {
    11723           info_ =
    11724             crosby.binary.Osmformat.Info.newBuilder(info_).mergeFrom(value).buildPartial();
    11725         } else {
    11726           info_ = value;
    11727         }
    11728 
    11729         bitField0_ |= 0x00000008;
     11359        copyOnWrite();
     11360        instance.mergeInfo(value);
    1173011361        return this;
    1173111362      }
     
    1173311364       * <code>optional .OSMPBF.Info info = 4;</code>
    1173411365       */
    11735       public Builder clearInfo() {
    11736         info_ = crosby.binary.Osmformat.Info.getDefaultInstance();
    11737 
    11738         bitField0_ = (bitField0_ & ~0x00000008);
    11739         return this;
    11740       }
    11741 
    11742       private java.util.List<java.lang.Long> refs_ = java.util.Collections.emptyList();
    11743       private void ensureRefsIsMutable() {
    11744         if (!((bitField0_ & 0x00000010) == 0x00000010)) {
    11745           refs_ = new java.util.ArrayList<>(refs_);
    11746           bitField0_ |= 0x00000010;
    11747          }
    11748       }
    11749       /**
     11366      public Builder clearInfo() {  copyOnWrite();
     11367        instance.clearInfo();
     11368        return this;
     11369      }
     11370
     11371      /**
     11372       * <pre>
     11373       * DELTA coded
     11374       * </pre>
     11375       *
    1175011376       * <code>repeated sint64 refs = 8 [packed = true];</code>
    11751        *
     11377       */
     11378      public java.util.List<java.lang.Long>
     11379          getRefsList() {
     11380        return java.util.Collections.unmodifiableList(
     11381            instance.getRefsList());
     11382      }
     11383      /**
    1175211384       * <pre>
    1175311385       * DELTA coded
    1175411386       * </pre>
    11755        */
    11756       @Override
    11757         public java.util.List<java.lang.Long>
    11758           getRefsList() {
    11759         return java.util.Collections.unmodifiableList(refs_);
    11760       }
    11761       /**
     11387       *
    1176211388       * <code>repeated sint64 refs = 8 [packed = true];</code>
    11763        *
     11389       */
     11390      public int getRefsCount() {
     11391        return instance.getRefsCount();
     11392      }
     11393      /**
    1176411394       * <pre>
    1176511395       * DELTA coded
    1176611396       * </pre>
    11767        */
    11768       @Override
    11769         public int getRefsCount() {
    11770         return refs_.size();
    11771       }
    11772       /**
     11397       *
    1177311398       * <code>repeated sint64 refs = 8 [packed = true];</code>
    11774        *
     11399       */
     11400      public long getRefs(int index) {
     11401        return instance.getRefs(index);
     11402      }
     11403      /**
    1177511404       * <pre>
    1177611405       * DELTA coded
    1177711406       * </pre>
    11778        */
    11779       @Override
    11780         public long getRefs(int index) {
    11781         return refs_.get(index);
    11782       }
    11783       /**
     11407       *
    1178411408       * <code>repeated sint64 refs = 8 [packed = true];</code>
    11785        *
    11786        * <pre>
    11787        * DELTA coded
    11788        * </pre>
    1178911409       */
    1179011410      public Builder setRefs(
    1179111411          int index, long value) {
    11792         ensureRefsIsMutable();
    11793         refs_.set(index, value);
    11794 
    11795         return this;
    11796       }
    11797       /**
     11412        copyOnWrite();
     11413        instance.setRefs(index, value);
     11414        return this;
     11415      }
     11416      /**
     11417       * <pre>
     11418       * DELTA coded
     11419       * </pre>
     11420       *
    1179811421       * <code>repeated sint64 refs = 8 [packed = true];</code>
    11799        *
     11422       */
     11423      public Builder addRefs(long value) {
     11424        copyOnWrite();
     11425        instance.addRefs(value);
     11426        return this;
     11427      }
     11428      /**
    1180011429       * <pre>
    1180111430       * DELTA coded
    1180211431       * </pre>
    11803        */
    11804       public Builder addRefs(long value) {
    11805         ensureRefsIsMutable();
    11806         refs_.add(value);
    11807 
    11808         return this;
    11809       }
    11810       /**
     11432       *
    1181111433       * <code>repeated sint64 refs = 8 [packed = true];</code>
    11812        *
    11813        * <pre>
    11814        * DELTA coded
    11815        * </pre>
    1181611434       */
    1181711435      public Builder addAllRefs(
    1181811436          java.lang.Iterable<? extends java.lang.Long> values) {
    11819         ensureRefsIsMutable();
    11820         com.google.protobuf.AbstractMessageLite.Builder.addAll(
    11821             values, refs_);
    11822 
    11823         return this;
    11824       }
    11825       /**
     11437        copyOnWrite();
     11438        instance.addAllRefs(values);
     11439        return this;
     11440      }
     11441      /**
     11442       * <pre>
     11443       * DELTA coded
     11444       * </pre>
     11445       *
    1182611446       * <code>repeated sint64 refs = 8 [packed = true];</code>
    11827        *
    11828        * <pre>
    11829        * DELTA coded
    11830        * </pre>
    1183111447       */
    1183211448      public Builder clearRefs() {
    11833         refs_ = java.util.Collections.emptyList();
    11834         bitField0_ = (bitField0_ & ~0x00000010);
    11835 
     11449        copyOnWrite();
     11450        instance.clearRefs();
    1183611451        return this;
    1183711452      }
     
    1183911454      // @@protoc_insertion_point(builder_scope:OSMPBF.Way)
    1184011455    }
    11841 
     11456    private byte memoizedIsInitialized = -1;
     11457    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
     11458    protected final java.lang.Object dynamicMethod(
     11459        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
     11460        java.lang.Object arg0, java.lang.Object arg1) {
     11461      switch (method) {
     11462        case NEW_MUTABLE_INSTANCE: {
     11463          return new crosby.binary.Osmformat.Way();
     11464        }
     11465        case IS_INITIALIZED: {
     11466          byte isInitialized = memoizedIsInitialized;
     11467          if (isInitialized == 1) return DEFAULT_INSTANCE;
     11468          if (isInitialized == 0) return null;
     11469
     11470          boolean shouldMemoize = ((Boolean) arg0).booleanValue();
     11471          if (!hasId()) {
     11472            if (shouldMemoize) {
     11473              memoizedIsInitialized = 0;
     11474            }
     11475            return null;
     11476          }
     11477          if (shouldMemoize) memoizedIsInitialized = 1;
     11478          return DEFAULT_INSTANCE;
     11479
     11480        }
     11481        case MAKE_IMMUTABLE: {
     11482          keys_.makeImmutable();
     11483          vals_.makeImmutable();
     11484          refs_.makeImmutable();
     11485          return null;
     11486        }
     11487        case NEW_BUILDER: {
     11488          return new Builder();
     11489        }
     11490        case VISIT: {
     11491          Visitor visitor = (Visitor) arg0;
     11492          crosby.binary.Osmformat.Way other = (crosby.binary.Osmformat.Way) arg1;
     11493          id_ = visitor.visitLong(
     11494              hasId(), id_,
     11495              other.hasId(), other.id_);
     11496          keys_= visitor.visitIntList(keys_, other.keys_);
     11497          vals_= visitor.visitIntList(vals_, other.vals_);
     11498          info_ = visitor.visitMessage(info_, other.info_);
     11499          refs_= visitor.visitLongList(refs_, other.refs_);
     11500          if (visitor == com.google.protobuf.GeneratedMessageLite.MergeFromVisitor
     11501              .INSTANCE) {
     11502            bitField0_ |= other.bitField0_;
     11503          }
     11504          return this;
     11505        }
     11506        case MERGE_FROM_STREAM: {
     11507          com.google.protobuf.CodedInputStream input =
     11508              (com.google.protobuf.CodedInputStream) arg0;
     11509          com.google.protobuf.ExtensionRegistryLite extensionRegistry =
     11510              (com.google.protobuf.ExtensionRegistryLite) arg1;
     11511          try {
     11512            boolean done = false;
     11513            while (!done) {
     11514              int tag = input.readTag();
     11515              switch (tag) {
     11516                case 0:
     11517                  done = true;
     11518                  break;
     11519                default: {
     11520                  if (!parseUnknownField(tag, input)) {
     11521                    done = true;
     11522                  }
     11523                  break;
     11524                }
     11525                case 8: {
     11526                  bitField0_ |= 0x00000001;
     11527                  id_ = input.readInt64();
     11528                  break;
     11529                }
     11530                case 16: {
     11531                  if (!keys_.isModifiable()) {
     11532                    keys_ =
     11533                        com.google.protobuf.GeneratedMessageLite.mutableCopy(keys_);
     11534                  }
     11535                  keys_.addInt(input.readUInt32());
     11536                  break;
     11537                }
     11538                case 18: {
     11539                  int length = input.readRawVarint32();
     11540                  int limit = input.pushLimit(length);
     11541                  if (!keys_.isModifiable() && input.getBytesUntilLimit() > 0) {
     11542                    keys_ =
     11543                        com.google.protobuf.GeneratedMessageLite.mutableCopy(keys_);
     11544                  }
     11545                  while (input.getBytesUntilLimit() > 0) {
     11546                    keys_.addInt(input.readUInt32());
     11547                  }
     11548                  input.popLimit(limit);
     11549                  break;
     11550                }
     11551                case 24: {
     11552                  if (!vals_.isModifiable()) {
     11553                    vals_ =
     11554                        com.google.protobuf.GeneratedMessageLite.mutableCopy(vals_);
     11555                  }
     11556                  vals_.addInt(input.readUInt32());
     11557                  break;
     11558                }
     11559                case 26: {
     11560                  int length = input.readRawVarint32();
     11561                  int limit = input.pushLimit(length);
     11562                  if (!vals_.isModifiable() && input.getBytesUntilLimit() > 0) {
     11563                    vals_ =
     11564                        com.google.protobuf.GeneratedMessageLite.mutableCopy(vals_);
     11565                  }
     11566                  while (input.getBytesUntilLimit() > 0) {
     11567                    vals_.addInt(input.readUInt32());
     11568                  }
     11569                  input.popLimit(limit);
     11570                  break;
     11571                }
     11572                case 34: {
     11573                  crosby.binary.Osmformat.Info.Builder subBuilder = null;
     11574                  if (((bitField0_ & 0x00000002) == 0x00000002)) {
     11575                    subBuilder = info_.toBuilder();
     11576                  }
     11577                  info_ = input.readMessage(crosby.binary.Osmformat.Info.parser(), extensionRegistry);
     11578                  if (subBuilder != null) {
     11579                    subBuilder.mergeFrom(info_);
     11580                    info_ = subBuilder.buildPartial();
     11581                  }
     11582                  bitField0_ |= 0x00000002;
     11583                  break;
     11584                }
     11585                case 64: {
     11586                  if (!refs_.isModifiable()) {
     11587                    refs_ =
     11588                        com.google.protobuf.GeneratedMessageLite.mutableCopy(refs_);
     11589                  }
     11590                  refs_.addLong(input.readSInt64());
     11591                  break;
     11592                }
     11593                case 66: {
     11594                  int length = input.readRawVarint32();
     11595                  int limit = input.pushLimit(length);
     11596                  if (!refs_.isModifiable() && input.getBytesUntilLimit() > 0) {
     11597                    refs_ =
     11598                        com.google.protobuf.GeneratedMessageLite.mutableCopy(refs_);
     11599                  }
     11600                  while (input.getBytesUntilLimit() > 0) {
     11601                    refs_.addLong(input.readSInt64());
     11602                  }
     11603                  input.popLimit(limit);
     11604                  break;
     11605                }
     11606              }
     11607            }
     11608          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
     11609            throw new RuntimeException(e.setUnfinishedMessage(this));
     11610          } catch (java.io.IOException e) {
     11611            throw new RuntimeException(
     11612                new com.google.protobuf.InvalidProtocolBufferException(
     11613                    e.getMessage()).setUnfinishedMessage(this));
     11614          } finally {
     11615          }
     11616        }
     11617        // fall through
     11618        case GET_DEFAULT_INSTANCE: {
     11619          return DEFAULT_INSTANCE;
     11620        }
     11621        case GET_PARSER: {
     11622          if (PARSER == null) {    synchronized (crosby.binary.Osmformat.Way.class) {
     11623              if (PARSER == null) {
     11624                PARSER = new DefaultInstanceBasedParser(DEFAULT_INSTANCE);
     11625              }
     11626            }
     11627          }
     11628          return PARSER;
     11629        }
     11630      }
     11631      throw new UnsupportedOperationException();
     11632    }
     11633
     11634
     11635    // @@protoc_insertion_point(class_scope:OSMPBF.Way)
     11636    private static final crosby.binary.Osmformat.Way DEFAULT_INSTANCE;
    1184211637    static {
    11843       defaultInstance = new Way(true);
    11844       defaultInstance.initFields();
    11845     }
    11846 
    11847     // @@protoc_insertion_point(class_scope:OSMPBF.Way)
     11638      DEFAULT_INSTANCE = new Way();
     11639      DEFAULT_INSTANCE.makeImmutable();
     11640    }
     11641
     11642    public static crosby.binary.Osmformat.Way getDefaultInstance() {
     11643      return DEFAULT_INSTANCE;
     11644    }
     11645
     11646    private static volatile com.google.protobuf.Parser<Way> PARSER;
     11647
     11648    public static com.google.protobuf.Parser<Way> parser() {
     11649      return DEFAULT_INSTANCE.getParserForType();
     11650    }
    1184811651  }
    1184911652
     
    1186211665
    1186311666    /**
     11667     * <pre>
     11668     * Parallel arrays.
     11669     * </pre>
     11670     *
    1186411671     * <code>repeated uint32 keys = 2 [packed = true];</code>
    11865      *
     11672     */
     11673    java.util.List<java.lang.Integer> getKeysList();
     11674    /**
    1186611675     * <pre>
    1186711676     * Parallel arrays.
    1186811677     * </pre>
    11869      */
    11870     java.util.List<java.lang.Integer> getKeysList();
    11871     /**
     11678     *
    1187211679     * <code>repeated uint32 keys = 2 [packed = true];</code>
    11873      *
     11680     */
     11681    int getKeysCount();
     11682    /**
    1187411683     * <pre>
    1187511684     * Parallel arrays.
    1187611685     * </pre>
    11877      */
    11878     int getKeysCount();
    11879     /**
     11686     *
    1188011687     * <code>repeated uint32 keys = 2 [packed = true];</code>
    11881      *
    11882      * <pre>
    11883      * Parallel arrays.
    11884      * </pre>
    1188511688     */
    1188611689    int getKeys(int index);
     
    1190911712
    1191011713    /**
     11714     * <pre>
     11715     * Parallel arrays
     11716     * </pre>
     11717     *
    1191111718     * <code>repeated int32 roles_sid = 8 [packed = true];</code>
    11912      *
     11719     */
     11720    java.util.List<java.lang.Integer> getRolesSidList();
     11721    /**
    1191311722     * <pre>
    1191411723     * Parallel arrays
    1191511724     * </pre>
    11916      */
    11917     java.util.List<java.lang.Integer> getRolesSidList();
    11918     /**
     11725     *
    1191911726     * <code>repeated int32 roles_sid = 8 [packed = true];</code>
    11920      *
     11727     */
     11728    int getRolesSidCount();
     11729    /**
    1192111730     * <pre>
    1192211731     * Parallel arrays
    1192311732     * </pre>
    11924      */
    11925     int getRolesSidCount();
    11926     /**
     11733     *
    1192711734     * <code>repeated int32 roles_sid = 8 [packed = true];</code>
    11928      *
    11929      * <pre>
    11930      * Parallel arrays
    11931      * </pre>
    1193211735     */
    1193311736    int getRolesSid(int index);
    1193411737
    1193511738    /**
     11739     * <pre>
     11740     * DELTA encoded
     11741     * </pre>
     11742     *
    1193611743     * <code>repeated sint64 memids = 9 [packed = true];</code>
    11937      *
     11744     */
     11745    java.util.List<java.lang.Long> getMemidsList();
     11746    /**
    1193811747     * <pre>
    1193911748     * DELTA encoded
    1194011749     * </pre>
    11941      */
    11942     java.util.List<java.lang.Long> getMemidsList();
    11943     /**
     11750     *
    1194411751     * <code>repeated sint64 memids = 9 [packed = true];</code>
    11945      *
     11752     */
     11753    int getMemidsCount();
     11754    /**
    1194611755     * <pre>
    1194711756     * DELTA encoded
    1194811757     * </pre>
    11949      */
    11950     int getMemidsCount();
    11951     /**
     11758     *
    1195211759     * <code>repeated sint64 memids = 9 [packed = true];</code>
    11953      *
    11954      * <pre>
    11955      * DELTA encoded
    11956      * </pre>
    1195711760     */
    1195811761    long getMemids(int index);
     
    1197411777   * Protobuf type {@code OSMPBF.Relation}
    1197511778   */
    11976   public static final class Relation extends
    11977       com.google.protobuf.GeneratedMessageLite implements
     11779  public  static final class Relation extends
     11780      com.google.protobuf.GeneratedMessageLite<
     11781          Relation, Relation.Builder> implements
    1197811782      // @@protoc_insertion_point(message_implements:OSMPBF.Relation)
    1197911783      RelationOrBuilder {
    11980     // Use Relation.newBuilder() to construct.
    11981     private Relation(com.google.protobuf.GeneratedMessageLite.Builder builder) {
    11982       super(builder);
    11983       this.unknownFields = builder.getUnknownFields();
    11984     }
    11985     private Relation(boolean noInit) { this.unknownFields = com.google.protobuf.ByteString.EMPTY;}
    11986 
    11987     private static final Relation defaultInstance;
    11988     public static Relation getDefaultInstance() {
    11989       return defaultInstance;
    11990     }
    11991 
    11992     @Override
    11993         public Relation getDefaultInstanceForType() {
    11994       return defaultInstance;
    11995     }
    11996 
    11997     private final com.google.protobuf.ByteString unknownFields;
    11998     private Relation(
    11999         com.google.protobuf.CodedInputStream input,
    12000         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    12001         throws com.google.protobuf.InvalidProtocolBufferException {
    12002       initFields();
    12003       int mutable_bitField0_ = 0;
    12004       com.google.protobuf.ByteString.Output unknownFieldsOutput =
    12005           com.google.protobuf.ByteString.newOutput();
    12006       com.google.protobuf.CodedOutputStream unknownFieldsCodedOutput =
    12007           com.google.protobuf.CodedOutputStream.newInstance(
    12008               unknownFieldsOutput);
    12009       try {
    12010         boolean done = false;
    12011         while (!done) {
    12012           int tag = input.readTag();
    12013           switch (tag) {
    12014             case 0:
    12015               done = true;
    12016               break;
    12017             default: {
    12018               if (!parseUnknownField(input, unknownFieldsCodedOutput,
    12019                                      extensionRegistry, tag)) {
    12020                 done = true;
    12021               }
    12022               break;
    12023             }
    12024             case 8: {
    12025               bitField0_ |= 0x00000001;
    12026               id_ = input.readInt64();
    12027               break;
    12028             }
    12029             case 16: {
    12030               if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
    12031                 keys_ = new java.util.ArrayList<>();
    12032                 mutable_bitField0_ |= 0x00000002;
    12033               }
    12034               keys_.add(input.readUInt32());
    12035               break;
    12036             }
    12037             case 18: {
    12038               int length = input.readRawVarint32();
    12039               int limit = input.pushLimit(length);
    12040               if (!((mutable_bitField0_ & 0x00000002) == 0x00000002) && input.getBytesUntilLimit() > 0) {
    12041                 keys_ = new java.util.ArrayList<>();
    12042                 mutable_bitField0_ |= 0x00000002;
    12043               }
    12044               while (input.getBytesUntilLimit() > 0) {
    12045                 keys_.add(input.readUInt32());
    12046               }
    12047               input.popLimit(limit);
    12048               break;
    12049             }
    12050             case 24: {
    12051               if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
    12052                 vals_ = new java.util.ArrayList<>();
    12053                 mutable_bitField0_ |= 0x00000004;
    12054               }
    12055               vals_.add(input.readUInt32());
    12056               break;
    12057             }
    12058             case 26: {
    12059               int length = input.readRawVarint32();
    12060               int limit = input.pushLimit(length);
    12061               if (!((mutable_bitField0_ & 0x00000004) == 0x00000004) && input.getBytesUntilLimit() > 0) {
    12062                 vals_ = new java.util.ArrayList<>();
    12063                 mutable_bitField0_ |= 0x00000004;
    12064               }
    12065               while (input.getBytesUntilLimit() > 0) {
    12066                 vals_.add(input.readUInt32());
    12067               }
    12068               input.popLimit(limit);
    12069               break;
    12070             }
    12071             case 34: {
    12072               crosby.binary.Osmformat.Info.Builder subBuilder = null;
    12073               if (((bitField0_ & 0x00000002) == 0x00000002)) {
    12074                 subBuilder = info_.toBuilder();
    12075               }
    12076               info_ = input.readMessage(crosby.binary.Osmformat.Info.PARSER, extensionRegistry);
    12077               if (subBuilder != null) {
    12078                 subBuilder.mergeFrom(info_);
    12079                 info_ = subBuilder.buildPartial();
    12080               }
    12081               bitField0_ |= 0x00000002;
    12082               break;
    12083             }
    12084             case 64: {
    12085               if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
    12086                 rolesSid_ = new java.util.ArrayList<>();
    12087                 mutable_bitField0_ |= 0x00000010;
    12088               }
    12089               rolesSid_.add(input.readInt32());
    12090               break;
    12091             }
    12092             case 66: {
    12093               int length = input.readRawVarint32();
    12094               int limit = input.pushLimit(length);
    12095               if (!((mutable_bitField0_ & 0x00000010) == 0x00000010) && input.getBytesUntilLimit() > 0) {
    12096                 rolesSid_ = new java.util.ArrayList<>();
    12097                 mutable_bitField0_ |= 0x00000010;
    12098               }
    12099               while (input.getBytesUntilLimit() > 0) {
    12100                 rolesSid_.add(input.readInt32());
    12101               }
    12102               input.popLimit(limit);
    12103               break;
    12104             }
    12105             case 72: {
    12106               if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
    12107                 memids_ = new java.util.ArrayList<>();
    12108                 mutable_bitField0_ |= 0x00000020;
    12109               }
    12110               memids_.add(input.readSInt64());
    12111               break;
    12112             }
    12113             case 74: {
    12114               int length = input.readRawVarint32();
    12115               int limit = input.pushLimit(length);
    12116               if (!((mutable_bitField0_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) {
    12117                 memids_ = new java.util.ArrayList<>();
    12118                 mutable_bitField0_ |= 0x00000020;
    12119               }
    12120               while (input.getBytesUntilLimit() > 0) {
    12121                 memids_.add(input.readSInt64());
    12122               }
    12123               input.popLimit(limit);
    12124               break;
    12125             }
    12126             case 80: {
    12127               int rawValue = input.readEnum();
    12128               crosby.binary.Osmformat.Relation.MemberType value = crosby.binary.Osmformat.Relation.MemberType.valueOf(rawValue);
    12129               if (value == null) {
    12130                 unknownFieldsCodedOutput.writeRawVarint32(tag);
    12131                 unknownFieldsCodedOutput.writeRawVarint32(rawValue);
    12132                 } else {
    12133                 if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
    12134                   types_ = new java.util.ArrayList<>();
    12135                   mutable_bitField0_ |= 0x00000040;
    12136                 }
    12137                 types_.add(value);
    12138               }
    12139               break;
    12140             }
    12141             case 82: {
    12142               int length = input.readRawVarint32();
    12143               int oldLimit = input.pushLimit(length);
    12144               while(input.getBytesUntilLimit() > 0) {
    12145                 int rawValue = input.readEnum();
    12146                 crosby.binary.Osmformat.Relation.MemberType value = crosby.binary.Osmformat.Relation.MemberType.valueOf(rawValue);
    12147                 if (value == null) {
    12148                   unknownFieldsCodedOutput.writeRawVarint32(tag);
    12149                   unknownFieldsCodedOutput.writeRawVarint32(rawValue);
    12150                   } else {
    12151                   if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
    12152                     types_ = new java.util.ArrayList<>();
    12153                     mutable_bitField0_ |= 0x00000040;
    12154                   }
    12155                   types_.add(value);
    12156                 }
    12157               }
    12158               input.popLimit(oldLimit);
    12159               break;
    12160             }
    12161           }
    12162         }
    12163       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
    12164         throw e.setUnfinishedMessage(this);
    12165       } catch (java.io.IOException e) {
    12166         throw new com.google.protobuf.InvalidProtocolBufferException(
    12167             e.getMessage()).setUnfinishedMessage(this);
    12168       } finally {
    12169         if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
    12170           keys_ = java.util.Collections.unmodifiableList(keys_);
    12171         }
    12172         if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
    12173           vals_ = java.util.Collections.unmodifiableList(vals_);
    12174         }
    12175         if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
    12176           rolesSid_ = java.util.Collections.unmodifiableList(rolesSid_);
    12177         }
    12178         if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
    12179           memids_ = java.util.Collections.unmodifiableList(memids_);
    12180         }
    12181         if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
    12182           types_ = java.util.Collections.unmodifiableList(types_);
    12183         }
    12184         try {
    12185           unknownFieldsCodedOutput.flush();
    12186         } catch (java.io.IOException e) {
    12187         // Should not happen
    12188         } finally {
    12189           unknownFields = unknownFieldsOutput.toByteString();
    12190         }
    12191         makeExtensionsImmutable();
    12192       }
    12193     }
    12194     public static com.google.protobuf.Parser<Relation> PARSER =
    12195         new com.google.protobuf.AbstractParser<Relation>() {
    12196       @Override
    12197         public Relation parsePartialFrom(
    12198           com.google.protobuf.CodedInputStream input,
    12199           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    12200           throws com.google.protobuf.InvalidProtocolBufferException {
    12201         return new Relation(input, extensionRegistry);
    12202       }
    12203     };
    12204 
    12205     @java.lang.Override
    12206     public com.google.protobuf.Parser<Relation> getParserForType() {
    12207       return PARSER;
    12208     }
    12209 
     11784    private Relation() {
     11785      keys_ = emptyIntList();
     11786      vals_ = emptyIntList();
     11787      rolesSid_ = emptyIntList();
     11788      memids_ = emptyLongList();
     11789      types_ = emptyIntList();
     11790    }
    1221011791    /**
    1221111792     * Protobuf enum {@code OSMPBF.Relation.MemberType}
     
    1221611797       * <code>NODE = 0;</code>
    1221711798       */
    12218       NODE(0, 0),
     11799      NODE(0),
    1221911800      /**
    1222011801       * <code>WAY = 1;</code>
    1222111802       */
    12222       WAY(1, 1),
     11803      WAY(1),
    1222311804      /**
    1222411805       * <code>RELATION = 2;</code>
    1222511806       */
    12226       RELATION(2, 2),
     11807      RELATION(2),
    1222711808      ;
    1222811809
     
    1224111822
    1224211823
    12243       @Override
    12244         public final int getNumber() { return value; }
    12245 
     11824      public final int getNumber() {
     11825        return value;
     11826      }
     11827
     11828      /**
     11829       * @deprecated Use {@link #forNumber(int)} instead.
     11830       */
     11831      @java.lang.Deprecated
    1224611832      public static MemberType valueOf(int value) {
     11833        return forNumber(value);
     11834      }
     11835
     11836      public static MemberType forNumber(int value) {
    1224711837        switch (value) {
    1224811838          case 0: return NODE;
     
    1225711847        return internalValueMap;
    1225811848      }
    12259       private static com.google.protobuf.Internal.EnumLiteMap<MemberType>
    12260           internalValueMap =
     11849      private static final com.google.protobuf.Internal.EnumLiteMap<
     11850          MemberType> internalValueMap =
    1226111851            new com.google.protobuf.Internal.EnumLiteMap<MemberType>() {
    12262               @Override
    12263                         public MemberType findValueByNumber(int number) {
    12264                 return MemberType.valueOf(number);
     11852              public MemberType findValueByNumber(int number) {
     11853                return MemberType.forNumber(number);
    1226511854              }
    1226611855            };
     
    1226811857      private final int value;
    1226911858
    12270       private MemberType(int index, int value) {
     11859      private MemberType(int value) {
    1227111860        this.value = value;
    1227211861      }
     
    1228111870     * <code>required int64 id = 1;</code>
    1228211871     */
    12283     @Override
    12284         public boolean hasId() {
     11872    public boolean hasId() {
    1228511873      return ((bitField0_ & 0x00000001) == 0x00000001);
    1228611874    }
     
    1228811876     * <code>required int64 id = 1;</code>
    1228911877     */
    12290     @Override
    12291         public long getId() {
     11878    public long getId() {
    1229211879      return id_;
    1229311880    }
     11881    /**
     11882     * <code>required int64 id = 1;</code>
     11883     */
     11884    private void setId(long value) {
     11885      bitField0_ |= 0x00000001;
     11886      id_ = value;
     11887    }
     11888    /**
     11889     * <code>required int64 id = 1;</code>
     11890     */
     11891    private void clearId() {
     11892      bitField0_ = (bitField0_ & ~0x00000001);
     11893      id_ = 0L;
     11894    }
    1229411895
    1229511896    public static final int KEYS_FIELD_NUMBER = 2;
    12296     private java.util.List<java.lang.Integer> keys_;
    12297     /**
     11897    private com.google.protobuf.Internal.IntList keys_;
     11898    /**
     11899     * <pre>
     11900     * Parallel arrays.
     11901     * </pre>
     11902     *
    1229811903     * <code>repeated uint32 keys = 2 [packed = true];</code>
    12299      *
    12300      * <pre>
    12301      * Parallel arrays.
    12302      * </pre>
    12303      */
    12304     @Override
    12305         public java.util.List<java.lang.Integer>
     11904     */
     11905    public java.util.List<java.lang.Integer>
    1230611906        getKeysList() {
    1230711907      return keys_;
    1230811908    }
    1230911909    /**
     11910     * <pre>
     11911     * Parallel arrays.
     11912     * </pre>
     11913     *
    1231011914     * <code>repeated uint32 keys = 2 [packed = true];</code>
    12311      *
     11915     */
     11916    public int getKeysCount() {
     11917      return keys_.size();
     11918    }
     11919    /**
    1231211920     * <pre>
    1231311921     * Parallel arrays.
    1231411922     * </pre>
    12315      */
    12316     @Override
    12317         public int getKeysCount() {
    12318       return keys_.size();
    12319     }
    12320     /**
     11923     *
    1232111924     * <code>repeated uint32 keys = 2 [packed = true];</code>
    12322      *
     11925     */
     11926    public int getKeys(int index) {
     11927      return keys_.getInt(index);
     11928    }
     11929    private int keysMemoizedSerializedSize = -1;
     11930    private void ensureKeysIsMutable() {
     11931      if (!keys_.isModifiable()) {
     11932        keys_ =
     11933            com.google.protobuf.GeneratedMessageLite.mutableCopy(keys_);
     11934       }
     11935    }
     11936    /**
    1232311937     * <pre>
    1232411938     * Parallel arrays.
    1232511939     * </pre>
    12326      */
    12327     @Override
    12328         public int getKeys(int index) {
    12329       return keys_.get(index);
    12330     }
    12331     private int keysMemoizedSerializedSize = -1;
     11940     *
     11941     * <code>repeated uint32 keys = 2 [packed = true];</code>
     11942     */
     11943    private void setKeys(
     11944        int index, int value) {
     11945      ensureKeysIsMutable();
     11946      keys_.setInt(index, value);
     11947    }
     11948    /**
     11949     * <pre>
     11950     * Parallel arrays.
     11951     * </pre>
     11952     *
     11953     * <code>repeated uint32 keys = 2 [packed = true];</code>
     11954     */
     11955    private void addKeys(int value) {
     11956      ensureKeysIsMutable();
     11957      keys_.addInt(value);
     11958    }
     11959    /**
     11960     * <pre>
     11961     * Parallel arrays.
     11962     * </pre>
     11963     *
     11964     * <code>repeated uint32 keys = 2 [packed = true];</code>
     11965     */
     11966    private void addAllKeys(
     11967        java.lang.Iterable<? extends java.lang.Integer> values) {
     11968      ensureKeysIsMutable();
     11969      com.google.protobuf.AbstractMessageLite.addAll(
     11970          values, keys_);
     11971    }
     11972    /**
     11973     * <pre>
     11974     * Parallel arrays.
     11975     * </pre>
     11976     *
     11977     * <code>repeated uint32 keys = 2 [packed = true];</code>
     11978     */
     11979    private void clearKeys() {
     11980      keys_ = emptyIntList();
     11981    }
    1233211982
    1233311983    public static final int VALS_FIELD_NUMBER = 3;
    12334     private java.util.List<java.lang.Integer> vals_;
     11984    private com.google.protobuf.Internal.IntList vals_;
    1233511985    /**
    1233611986     * <code>repeated uint32 vals = 3 [packed = true];</code>
    1233711987     */
    12338     @Override
    12339         public java.util.List<java.lang.Integer>
     11988    public java.util.List<java.lang.Integer>
    1234011989        getValsList() {
    1234111990      return vals_;
     
    1234411993     * <code>repeated uint32 vals = 3 [packed = true];</code>
    1234511994     */
    12346     @Override
    12347         public int getValsCount() {
     11995    public int getValsCount() {
    1234811996      return vals_.size();
    1234911997    }
     
    1235111999     * <code>repeated uint32 vals = 3 [packed = true];</code>
    1235212000     */
    12353     @Override
    12354         public int getVals(int index) {
    12355       return vals_.get(index);
     12001    public int getVals(int index) {
     12002      return vals_.getInt(index);
    1235612003    }
    1235712004    private int valsMemoizedSerializedSize = -1;
     12005    private void ensureValsIsMutable() {
     12006      if (!vals_.isModifiable()) {
     12007        vals_ =
     12008            com.google.protobuf.GeneratedMessageLite.mutableCopy(vals_);
     12009       }
     12010    }
     12011    /**
     12012     * <code>repeated uint32 vals = 3 [packed = true];</code>
     12013     */
     12014    private void setVals(
     12015        int index, int value) {
     12016      ensureValsIsMutable();
     12017      vals_.setInt(index, value);
     12018    }
     12019    /**
     12020     * <code>repeated uint32 vals = 3 [packed = true];</code>
     12021     */
     12022    private void addVals(int value) {
     12023      ensureValsIsMutable();
     12024      vals_.addInt(value);
     12025    }
     12026    /**
     12027     * <code>repeated uint32 vals = 3 [packed = true];</code>
     12028     */
     12029    private void addAllVals(
     12030        java.lang.Iterable<? extends java.lang.Integer> values) {
     12031      ensureValsIsMutable();
     12032      com.google.protobuf.AbstractMessageLite.addAll(
     12033          values, vals_);
     12034    }
     12035    /**
     12036     * <code>repeated uint32 vals = 3 [packed = true];</code>
     12037     */
     12038    private void clearVals() {
     12039      vals_ = emptyIntList();
     12040    }
    1235812041
    1235912042    public static final int INFO_FIELD_NUMBER = 4;
     
    1236212045     * <code>optional .OSMPBF.Info info = 4;</code>
    1236312046     */
    12364     @Override
    12365         public boolean hasInfo() {
     12047    public boolean hasInfo() {
    1236612048      return ((bitField0_ & 0x00000002) == 0x00000002);
    1236712049    }
     
    1236912051     * <code>optional .OSMPBF.Info info = 4;</code>
    1237012052     */
    12371     @Override
    12372         public crosby.binary.Osmformat.Info getInfo() {
    12373       return info_;
     12053    public crosby.binary.Osmformat.Info getInfo() {
     12054      return info_ == null ? crosby.binary.Osmformat.Info.getDefaultInstance() : info_;
     12055    }
     12056    /**
     12057     * <code>optional .OSMPBF.Info info = 4;</code>
     12058     */
     12059    private void setInfo(crosby.binary.Osmformat.Info value) {
     12060      if (value == null) {
     12061        throw new NullPointerException();
     12062      }
     12063      info_ = value;
     12064      bitField0_ |= 0x00000002;
     12065      }
     12066    /**
     12067     * <code>optional .OSMPBF.Info info = 4;</code>
     12068     */
     12069    private void setInfo(
     12070        crosby.binary.Osmformat.Info.Builder builderForValue) {
     12071      info_ = builderForValue.build();
     12072      bitField0_ |= 0x00000002;
     12073    }
     12074    /**
     12075     * <code>optional .OSMPBF.Info info = 4;</code>
     12076     */
     12077    private void mergeInfo(crosby.binary.Osmformat.Info value) {
     12078      if (info_ != null &&
     12079          info_ != crosby.binary.Osmformat.Info.getDefaultInstance()) {
     12080        info_ =
     12081          crosby.binary.Osmformat.Info.newBuilder(info_).mergeFrom(value).buildPartial();
     12082      } else {
     12083        info_ = value;
     12084      }
     12085      bitField0_ |= 0x00000002;
     12086    }
     12087    /**
     12088     * <code>optional .OSMPBF.Info info = 4;</code>
     12089     */
     12090    private void clearInfo() {  info_ = null;
     12091      bitField0_ = (bitField0_ & ~0x00000002);
    1237412092    }
    1237512093
    1237612094    public static final int ROLES_SID_FIELD_NUMBER = 8;
    12377     private java.util.List<java.lang.Integer> rolesSid_;
    12378     /**
     12095    private com.google.protobuf.Internal.IntList rolesSid_;
     12096    /**
     12097     * <pre>
     12098     * Parallel arrays
     12099     * </pre>
     12100     *
    1237912101     * <code>repeated int32 roles_sid = 8 [packed = true];</code>
    12380      *
    12381      * <pre>
    12382      * Parallel arrays
    12383      * </pre>
    12384      */
    12385     @Override
    12386         public java.util.List<java.lang.Integer>
     12102     */
     12103    public java.util.List<java.lang.Integer>
    1238712104        getRolesSidList() {
    1238812105      return rolesSid_;
    1238912106    }
    1239012107    /**
     12108     * <pre>
     12109     * Parallel arrays
     12110     * </pre>
     12111     *
    1239112112     * <code>repeated int32 roles_sid = 8 [packed = true];</code>
    12392      *
     12113     */
     12114    public int getRolesSidCount() {
     12115      return rolesSid_.size();
     12116    }
     12117    /**
    1239312118     * <pre>
    1239412119     * Parallel arrays
    1239512120     * </pre>
    12396      */
    12397     @Override
    12398         public int getRolesSidCount() {
    12399       return rolesSid_.size();
    12400     }
    12401     /**
     12121     *
    1240212122     * <code>repeated int32 roles_sid = 8 [packed = true];</code>
    12403      *
     12123     */
     12124    public int getRolesSid(int index) {
     12125      return rolesSid_.getInt(index);
     12126    }
     12127    private int rolesSidMemoizedSerializedSize = -1;
     12128    private void ensureRolesSidIsMutable() {
     12129      if (!rolesSid_.isModifiable()) {
     12130        rolesSid_ =
     12131            com.google.protobuf.GeneratedMessageLite.mutableCopy(rolesSid_);
     12132       }
     12133    }
     12134    /**
    1240412135     * <pre>
    1240512136     * Parallel arrays
    1240612137     * </pre>
    12407      */
    12408     @Override
    12409         public int getRolesSid(int index) {
    12410       return rolesSid_.get(index);
    12411     }
    12412     private int rolesSidMemoizedSerializedSize = -1;
     12138     *
     12139     * <code>repeated int32 roles_sid = 8 [packed = true];</code>
     12140     */
     12141    private void setRolesSid(
     12142        int index, int value) {
     12143      ensureRolesSidIsMutable();
     12144      rolesSid_.setInt(index, value);
     12145    }
     12146    /**
     12147     * <pre>
     12148     * Parallel arrays
     12149     * </pre>
     12150     *
     12151     * <code>repeated int32 roles_sid = 8 [packed = true];</code>
     12152     */
     12153    private void addRolesSid(int value) {
     12154      ensureRolesSidIsMutable();
     12155      rolesSid_.addInt(value);
     12156    }
     12157    /**
     12158     * <pre>
     12159     * Parallel arrays
     12160     * </pre>
     12161     *
     12162     * <code>repeated int32 roles_sid = 8 [packed = true];</code>
     12163     */
     12164    private void addAllRolesSid(
     12165        java.lang.Iterable<? extends java.lang.Integer> values) {
     12166      ensureRolesSidIsMutable();
     12167      com.google.protobuf.AbstractMessageLite.addAll(
     12168          values, rolesSid_);
     12169    }
     12170    /**
     12171     * <pre>
     12172     * Parallel arrays
     12173     * </pre>
     12174     *
     12175     * <code>repeated int32 roles_sid = 8 [packed = true];</code>
     12176     */
     12177    private void clearRolesSid() {
     12178      rolesSid_ = emptyIntList();
     12179    }
    1241312180
    1241412181    public static final int MEMIDS_FIELD_NUMBER = 9;
    12415     private java.util.List<java.lang.Long> memids_;
    12416     /**
     12182    private com.google.protobuf.Internal.LongList memids_;
     12183    /**
     12184     * <pre>
     12185     * DELTA encoded
     12186     * </pre>
     12187     *
    1241712188     * <code>repeated sint64 memids = 9 [packed = true];</code>
    12418      *
    12419      * <pre>
    12420      * DELTA encoded
    12421      * </pre>
    12422      */
    12423     @Override
    12424         public java.util.List<java.lang.Long>
     12189     */
     12190    public java.util.List<java.lang.Long>
    1242512191        getMemidsList() {
    1242612192      return memids_;
    1242712193    }
    1242812194    /**
     12195     * <pre>
     12196     * DELTA encoded
     12197     * </pre>
     12198     *
    1242912199     * <code>repeated sint64 memids = 9 [packed = true];</code>
    12430      *
     12200     */
     12201    public int getMemidsCount() {
     12202      return memids_.size();
     12203    }
     12204    /**
    1243112205     * <pre>
    1243212206     * DELTA encoded
    1243312207     * </pre>
    12434      */
    12435     @Override
    12436         public int getMemidsCount() {
    12437       return memids_.size();
    12438     }
    12439     /**
     12208     *
    1244012209     * <code>repeated sint64 memids = 9 [packed = true];</code>
    12441      *
     12210     */
     12211    public long getMemids(int index) {
     12212      return memids_.getLong(index);
     12213    }
     12214    private int memidsMemoizedSerializedSize = -1;
     12215    private void ensureMemidsIsMutable() {
     12216      if (!memids_.isModifiable()) {
     12217        memids_ =
     12218            com.google.protobuf.GeneratedMessageLite.mutableCopy(memids_);
     12219       }
     12220    }
     12221    /**
    1244212222     * <pre>
    1244312223     * DELTA encoded
    1244412224     * </pre>
    12445      */
    12446     @Override
    12447         public long getMemids(int index) {
    12448       return memids_.get(index);
    12449     }
    12450     private int memidsMemoizedSerializedSize = -1;
     12225     *
     12226     * <code>repeated sint64 memids = 9 [packed = true];</code>
     12227     */
     12228    private void setMemids(
     12229        int index, long value) {
     12230      ensureMemidsIsMutable();
     12231      memids_.setLong(index, value);
     12232    }
     12233    /**
     12234     * <pre>
     12235     * DELTA encoded
     12236     * </pre>
     12237     *
     12238     * <code>repeated sint64 memids = 9 [packed = true];</code>
     12239     */
     12240    private void addMemids(long value) {
     12241      ensureMemidsIsMutable();
     12242      memids_.addLong(value);
     12243    }
     12244    /**
     12245     * <pre>
     12246     * DELTA encoded
     12247     * </pre>
     12248     *
     12249     * <code>repeated sint64 memids = 9 [packed = true];</code>
     12250     */
     12251    private void addAllMemids(
     12252        java.lang.Iterable<? extends java.lang.Long> values) {
     12253      ensureMemidsIsMutable();
     12254      com.google.protobuf.AbstractMessageLite.addAll(
     12255          values, memids_);
     12256    }
     12257    /**
     12258     * <pre>
     12259     * DELTA encoded
     12260     * </pre>
     12261     *
     12262     * <code>repeated sint64 memids = 9 [packed = true];</code>
     12263     */
     12264    private void clearMemids() {
     12265      memids_ = emptyLongList();
     12266    }
    1245112267
    1245212268    public static final int TYPES_FIELD_NUMBER = 10;
    12453     private java.util.List<crosby.binary.Osmformat.Relation.MemberType> types_;
     12269    private com.google.protobuf.Internal.IntList types_;
     12270    private static final com.google.protobuf.Internal.ListAdapter.Converter<
     12271        java.lang.Integer, crosby.binary.Osmformat.Relation.MemberType> types_converter_ =
     12272            new com.google.protobuf.Internal.ListAdapter.Converter<
     12273                java.lang.Integer, crosby.binary.Osmformat.Relation.MemberType>() {
     12274              public crosby.binary.Osmformat.Relation.MemberType convert(java.lang.Integer from) {
     12275                crosby.binary.Osmformat.Relation.MemberType result = crosby.binary.Osmformat.Relation.MemberType.forNumber(from);
     12276                return result == null ? crosby.binary.Osmformat.Relation.MemberType.NODE : result;
     12277              }
     12278            };
    1245412279    /**
    1245512280     * <code>repeated .OSMPBF.Relation.MemberType types = 10 [packed = true];</code>
    1245612281     */
    12457     @Override
    12458         public java.util.List<crosby.binary.Osmformat.Relation.MemberType> getTypesList() {
    12459       return types_;
     12282    public java.util.List<crosby.binary.Osmformat.Relation.MemberType> getTypesList() {
     12283      return new com.google.protobuf.Internal.ListAdapter<
     12284          java.lang.Integer, crosby.binary.Osmformat.Relation.MemberType>(types_, types_converter_);
    1246012285    }
    1246112286    /**
    1246212287     * <code>repeated .OSMPBF.Relation.MemberType types = 10 [packed = true];</code>
    1246312288     */
    12464     @Override
    12465         public int getTypesCount() {
     12289    public int getTypesCount() {
    1246612290      return types_.size();
    1246712291    }
     
    1246912293     * <code>repeated .OSMPBF.Relation.MemberType types = 10 [packed = true];</code>
    1247012294     */
    12471     @Override
    12472         public crosby.binary.Osmformat.Relation.MemberType getTypes(int index) {
    12473       return types_.get(index);
     12295    public crosby.binary.Osmformat.Relation.MemberType getTypes(int index) {
     12296      return types_converter_.convert(types_.getInt(index));
    1247412297    }
    1247512298    private int typesMemoizedSerializedSize;
    12476 
    12477     private void initFields() {
    12478       id_ = 0L;
    12479       keys_ = java.util.Collections.emptyList();
    12480       vals_ = java.util.Collections.emptyList();
    12481       info_ = crosby.binary.Osmformat.Info.getDefaultInstance();
    12482       rolesSid_ = java.util.Collections.emptyList();
    12483       memids_ = java.util.Collections.emptyList();
    12484       types_ = java.util.Collections.emptyList();
    12485     }
    12486     private byte memoizedIsInitialized = -1;
    12487     @Override
    12488         public final boolean isInitialized() {
    12489       byte isInitialized = memoizedIsInitialized;
    12490       if (isInitialized == 1) return true;
    12491       if (isInitialized == 0) return false;
    12492 
    12493       if (!hasId()) {
    12494         memoizedIsInitialized = 0;
    12495         return false;
    12496       }
    12497       memoizedIsInitialized = 1;
    12498       return true;
    12499     }
    12500 
    12501     @Override
    12502         public void writeTo(com.google.protobuf.CodedOutputStream output)
     12299    private void ensureTypesIsMutable() {
     12300      if (!types_.isModifiable()) {
     12301        types_ =
     12302            com.google.protobuf.GeneratedMessageLite.mutableCopy(types_);
     12303      }
     12304    }
     12305    /**
     12306     * <code>repeated .OSMPBF.Relation.MemberType types = 10 [packed = true];</code>
     12307     */
     12308    private void setTypes(
     12309        int index, crosby.binary.Osmformat.Relation.MemberType value) {
     12310      if (value == null) {
     12311        throw new NullPointerException();
     12312      }
     12313      ensureTypesIsMutable();
     12314      types_.setInt(index, value.getNumber());
     12315    }
     12316    /**
     12317     * <code>repeated .OSMPBF.Relation.MemberType types = 10 [packed = true];</code>
     12318     */
     12319    private void addTypes(crosby.binary.Osmformat.Relation.MemberType value) {
     12320      if (value == null) {
     12321        throw new NullPointerException();
     12322      }
     12323      ensureTypesIsMutable();
     12324      types_.addInt(value.getNumber());
     12325    }
     12326    /**
     12327     * <code>repeated .OSMPBF.Relation.MemberType types = 10 [packed = true];</code>
     12328     */
     12329    private void addAllTypes(
     12330        java.lang.Iterable<? extends crosby.binary.Osmformat.Relation.MemberType> values) {
     12331      ensureTypesIsMutable();
     12332      for (crosby.binary.Osmformat.Relation.MemberType value : values) {
     12333        types_.addInt(value.getNumber());
     12334      }
     12335    }
     12336    /**
     12337     * <code>repeated .OSMPBF.Relation.MemberType types = 10 [packed = true];</code>
     12338     */
     12339    private void clearTypes() {
     12340      types_ = emptyIntList();
     12341    }
     12342
     12343    public void writeTo(com.google.protobuf.CodedOutputStream output)
    1250312344                        throws java.io.IOException {
    1250412345      getSerializedSize();
     
    1250712348      }
    1250812349      if (getKeysList().size() > 0) {
    12509         output.writeRawVarint32(18);
    12510         output.writeRawVarint32(keysMemoizedSerializedSize);
     12350        output.writeUInt32NoTag(18);
     12351        output.writeUInt32NoTag(keysMemoizedSerializedSize);
    1251112352      }
    1251212353      for (int i = 0; i < keys_.size(); i++) {
    12513         output.writeUInt32NoTag(keys_.get(i));
     12354        output.writeUInt32NoTag(keys_.getInt(i));
    1251412355      }
    1251512356      if (getValsList().size() > 0) {
    12516         output.writeRawVarint32(26);
    12517         output.writeRawVarint32(valsMemoizedSerializedSize);
     12357        output.writeUInt32NoTag(26);
     12358        output.writeUInt32NoTag(valsMemoizedSerializedSize);
    1251812359      }
    1251912360      for (int i = 0; i < vals_.size(); i++) {
    12520         output.writeUInt32NoTag(vals_.get(i));
     12361        output.writeUInt32NoTag(vals_.getInt(i));
    1252112362      }
    1252212363      if (((bitField0_ & 0x00000002) == 0x00000002)) {
    12523         output.writeMessage(4, info_);
     12364        output.writeMessage(4, getInfo());
    1252412365      }
    1252512366      if (getRolesSidList().size() > 0) {
    12526         output.writeRawVarint32(66);
    12527         output.writeRawVarint32(rolesSidMemoizedSerializedSize);
     12367        output.writeUInt32NoTag(66);
     12368        output.writeUInt32NoTag(rolesSidMemoizedSerializedSize);
    1252812369      }
    1252912370      for (int i = 0; i < rolesSid_.size(); i++) {
    12530         output.writeInt32NoTag(rolesSid_.get(i));
     12371        output.writeInt32NoTag(rolesSid_.getInt(i));
    1253112372      }
    1253212373      if (getMemidsList().size() > 0) {
    12533         output.writeRawVarint32(74);
    12534         output.writeRawVarint32(memidsMemoizedSerializedSize);
     12374        output.writeUInt32NoTag(74);
     12375        output.writeUInt32NoTag(memidsMemoizedSerializedSize);
    1253512376      }
    1253612377      for (int i = 0; i < memids_.size(); i++) {
    12537         output.writeSInt64NoTag(memids_.get(i));
     12378        output.writeSInt64NoTag(memids_.getLong(i));
    1253812379      }
    1253912380      if (getTypesList().size() > 0) {
    12540         output.writeRawVarint32(82);
    12541         output.writeRawVarint32(typesMemoizedSerializedSize);
     12381        output.writeUInt32NoTag(82);
     12382        output.writeUInt32NoTag(typesMemoizedSerializedSize);
    1254212383      }
    1254312384      for (int i = 0; i < types_.size(); i++) {
    12544         output.writeEnumNoTag(types_.get(i).getNumber());
    12545       }
    12546       output.writeRawBytes(unknownFields);
    12547     }
    12548 
    12549     private int memoizedSerializedSize = -1;
    12550     @Override
    12551         public int getSerializedSize() {
     12385        output.writeEnumNoTag(types_.getInt(i));
     12386      }
     12387      unknownFields.writeTo(output);
     12388    }
     12389
     12390    public int getSerializedSize() {
    1255212391      int size = memoizedSerializedSize;
    1255312392      if (size != -1) return size;
     
    1256212401        for (int i = 0; i < keys_.size(); i++) {
    1256312402          dataSize += com.google.protobuf.CodedOutputStream
    12564             .computeUInt32SizeNoTag(keys_.get(i));
     12403            .computeUInt32SizeNoTag(keys_.getInt(i));
    1256512404        }
    1256612405        size += dataSize;
     
    1257612415        for (int i = 0; i < vals_.size(); i++) {
    1257712416          dataSize += com.google.protobuf.CodedOutputStream
    12578             .computeUInt32SizeNoTag(vals_.get(i));
     12417            .computeUInt32SizeNoTag(vals_.getInt(i));
    1257912418        }
    1258012419        size += dataSize;
     
    1258812427      if (((bitField0_ & 0x00000002) == 0x00000002)) {
    1258912428        size += com.google.protobuf.CodedOutputStream
    12590           .computeMessageSize(4, info_);
     12429          .computeMessageSize(4, getInfo());
    1259112430      }
    1259212431      {
     
    1259412433        for (int i = 0; i < rolesSid_.size(); i++) {
    1259512434          dataSize += com.google.protobuf.CodedOutputStream
    12596             .computeInt32SizeNoTag(rolesSid_.get(i));
     12435            .computeInt32SizeNoTag(rolesSid_.getInt(i));
    1259712436        }
    1259812437        size += dataSize;
     
    1260812447        for (int i = 0; i < memids_.size(); i++) {
    1260912448          dataSize += com.google.protobuf.CodedOutputStream
    12610             .computeSInt64SizeNoTag(memids_.get(i));
     12449            .computeSInt64SizeNoTag(memids_.getLong(i));
    1261112450        }
    1261212451        size += dataSize;
     
    1262212461        for (int i = 0; i < types_.size(); i++) {
    1262312462          dataSize += com.google.protobuf.CodedOutputStream
    12624             .computeEnumSizeNoTag(types_.get(i).getNumber());
     12463            .computeEnumSizeNoTag(types_.getInt(i));
    1262512464        }
    1262612465        size += dataSize;
    1262712466        if (!getTypesList().isEmpty()) {  size += 1;
    1262812467          size += com.google.protobuf.CodedOutputStream
    12629             .computeRawVarint32Size(dataSize);
     12468            .computeUInt32SizeNoTag(dataSize);
    1263012469        }typesMemoizedSerializedSize = dataSize;
    1263112470      }
    12632       size += unknownFields.size();
     12471      size += unknownFields.getSerializedSize();
    1263312472      memoizedSerializedSize = size;
    1263412473      return size;
    1263512474    }
    1263612475
    12637     private static final long serialVersionUID = 0L;
    12638     @java.lang.Override
    12639     protected java.lang.Object writeReplace()
    12640         throws java.io.ObjectStreamException {
    12641       return super.writeReplace();
    12642     }
    12643 
     12476    public static crosby.binary.Osmformat.Relation parseFrom(
     12477        java.nio.ByteBuffer data)
     12478        throws com.google.protobuf.InvalidProtocolBufferException {
     12479      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     12480          DEFAULT_INSTANCE, data);
     12481    }
     12482    public static crosby.binary.Osmformat.Relation parseFrom(
     12483        java.nio.ByteBuffer data,
     12484        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     12485        throws com.google.protobuf.InvalidProtocolBufferException {
     12486      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     12487          DEFAULT_INSTANCE, data, extensionRegistry);
     12488    }
    1264412489    public static crosby.binary.Osmformat.Relation parseFrom(
    1264512490        com.google.protobuf.ByteString data)
    1264612491        throws com.google.protobuf.InvalidProtocolBufferException {
    12647       return PARSER.parseFrom(data);
     12492      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     12493          DEFAULT_INSTANCE, data);
    1264812494    }
    1264912495    public static crosby.binary.Osmformat.Relation parseFrom(
     
    1265112497        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    1265212498        throws com.google.protobuf.InvalidProtocolBufferException {
    12653       return PARSER.parseFrom(data, extensionRegistry);
     12499      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     12500          DEFAULT_INSTANCE, data, extensionRegistry);
    1265412501    }
    1265512502    public static crosby.binary.Osmformat.Relation parseFrom(byte[] data)
    1265612503        throws com.google.protobuf.InvalidProtocolBufferException {
    12657       return PARSER.parseFrom(data);
     12504      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     12505          DEFAULT_INSTANCE, data);
    1265812506    }
    1265912507    public static crosby.binary.Osmformat.Relation parseFrom(
     
    1266112509        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    1266212510        throws com.google.protobuf.InvalidProtocolBufferException {
    12663       return PARSER.parseFrom(data, extensionRegistry);
     12511      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     12512          DEFAULT_INSTANCE, data, extensionRegistry);
    1266412513    }
    1266512514    public static crosby.binary.Osmformat.Relation parseFrom(java.io.InputStream input)
    1266612515        throws java.io.IOException {
    12667       return PARSER.parseFrom(input);
     12516      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     12517          DEFAULT_INSTANCE, input);
    1266812518    }
    1266912519    public static crosby.binary.Osmformat.Relation parseFrom(
     
    1267112521        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    1267212522        throws java.io.IOException {
    12673       return PARSER.parseFrom(input, extensionRegistry);
     12523      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     12524          DEFAULT_INSTANCE, input, extensionRegistry);
    1267412525    }
    1267512526    public static crosby.binary.Osmformat.Relation parseDelimitedFrom(java.io.InputStream input)
    1267612527        throws java.io.IOException {
    12677       return PARSER.parseDelimitedFrom(input);
     12528      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    1267812529    }
    1267912530    public static crosby.binary.Osmformat.Relation parseDelimitedFrom(
     
    1268112532        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    1268212533        throws java.io.IOException {
    12683       return PARSER.parseDelimitedFrom(input, extensionRegistry);
     12534      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    1268412535    }
    1268512536    public static crosby.binary.Osmformat.Relation parseFrom(
    1268612537        com.google.protobuf.CodedInputStream input)
    1268712538        throws java.io.IOException {
    12688       return PARSER.parseFrom(input);
     12539      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     12540          DEFAULT_INSTANCE, input);
    1268912541    }
    1269012542    public static crosby.binary.Osmformat.Relation parseFrom(
     
    1269212544        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    1269312545        throws java.io.IOException {
    12694       return PARSER.parseFrom(input, extensionRegistry);
    12695     }
    12696 
    12697     public static Builder newBuilder() { return Builder.create(); }
    12698     @Override
    12699         public Builder newBuilderForType() { return newBuilder(); }
     12546      return com.google.protobuf.GeneratedMessageLite.parseFrom(
     12547          DEFAULT_INSTANCE, input, extensionRegistry);
     12548    }
     12549
     12550    public static Builder newBuilder() {
     12551      return DEFAULT_INSTANCE.toBuilder();
     12552    }
    1270012553    public static Builder newBuilder(crosby.binary.Osmformat.Relation prototype) {
    12701       return newBuilder().mergeFrom(prototype);
    12702     }
    12703     @Override
    12704         public Builder toBuilder() { return newBuilder(this); }
     12554      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     12555    }
    1270512556
    1270612557    /**
     
    1270912560    public static final class Builder extends
    1271012561        com.google.protobuf.GeneratedMessageLite.Builder<
    12711           crosby.binary.Osmformat.Relation, Builder>
    12712         implements
     12562          crosby.binary.Osmformat.Relation, Builder> implements
    1271312563        // @@protoc_insertion_point(builder_implements:OSMPBF.Relation)
    1271412564        crosby.binary.Osmformat.RelationOrBuilder {
    1271512565      // Construct using crosby.binary.Osmformat.Relation.newBuilder()
    1271612566      private Builder() {
    12717         maybeForceBuilderInitialization();
    12718       }
    12719 
    12720       private void maybeForceBuilderInitialization() {
    12721       }
    12722       private static Builder create() {
    12723         return new Builder();
    12724       }
    12725 
    12726       @Override
    12727         public Builder clear() {
    12728         super.clear();
    12729         id_ = 0L;
    12730         bitField0_ = (bitField0_ & ~0x00000001);
    12731         keys_ = java.util.Collections.emptyList();
    12732         bitField0_ = (bitField0_ & ~0x00000002);
    12733         vals_ = java.util.Collections.emptyList();
    12734         bitField0_ = (bitField0_ & ~0x00000004);
    12735         info_ = crosby.binary.Osmformat.Info.getDefaultInstance();
    12736         bitField0_ = (bitField0_ & ~0x00000008);
    12737         rolesSid_ = java.util.Collections.emptyList();
    12738         bitField0_ = (bitField0_ & ~0x00000010);
    12739         memids_ = java.util.Collections.emptyList();
    12740         bitField0_ = (bitField0_ & ~0x00000020);
    12741         types_ = java.util.Collections.emptyList();
    12742         bitField0_ = (bitField0_ & ~0x00000040);
    12743         return this;
    12744       }
    12745 
    12746       @Override
    12747         public Builder clone() {
    12748         return create().mergeFrom(buildPartial());
    12749       }
    12750 
    12751       @Override
    12752         public crosby.binary.Osmformat.Relation getDefaultInstanceForType() {
    12753         return crosby.binary.Osmformat.Relation.getDefaultInstance();
    12754       }
    12755 
    12756       @Override
    12757         public crosby.binary.Osmformat.Relation build() {
    12758         crosby.binary.Osmformat.Relation result = buildPartial();
    12759         if (!result.isInitialized()) {
    12760           throw newUninitializedMessageException(result);
    12761         }
    12762         return result;
    12763       }
    12764 
    12765       @Override
    12766         public crosby.binary.Osmformat.Relation buildPartial() {
    12767         crosby.binary.Osmformat.Relation result = new crosby.binary.Osmformat.Relation(this);
    12768         int from_bitField0_ = bitField0_;
    12769         int to_bitField0_ = 0;
    12770         if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
    12771           to_bitField0_ |= 0x00000001;
    12772         }
    12773         result.id_ = id_;
    12774         if (((bitField0_ & 0x00000002) == 0x00000002)) {
    12775           keys_ = java.util.Collections.unmodifiableList(keys_);
    12776           bitField0_ = (bitField0_ & ~0x00000002);
    12777         }
    12778         result.keys_ = keys_;
    12779         if (((bitField0_ & 0x00000004) == 0x00000004)) {
    12780           vals_ = java.util.Collections.unmodifiableList(vals_);
    12781           bitField0_ = (bitField0_ & ~0x00000004);
    12782         }
    12783         result.vals_ = vals_;
    12784         if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
    12785           to_bitField0_ |= 0x00000002;
    12786         }
    12787         result.info_ = info_;
    12788         if (((bitField0_ & 0x00000010) == 0x00000010)) {
    12789           rolesSid_ = java.util.Collections.unmodifiableList(rolesSid_);
    12790           bitField0_ = (bitField0_ & ~0x00000010);
    12791         }
    12792         result.rolesSid_ = rolesSid_;
    12793         if (((bitField0_ & 0x00000020) == 0x00000020)) {
    12794           memids_ = java.util.Collections.unmodifiableList(memids_);
    12795           bitField0_ = (bitField0_ & ~0x00000020);
    12796         }
    12797         result.memids_ = memids_;
    12798         if (((bitField0_ & 0x00000040) == 0x00000040)) {
    12799           types_ = java.util.Collections.unmodifiableList(types_);
    12800           bitField0_ = (bitField0_ & ~0x00000040);
    12801         }
    12802         result.types_ = types_;
    12803         result.bitField0_ = to_bitField0_;
    12804         return result;
    12805       }
    12806 
    12807       @Override
    12808         public Builder mergeFrom(crosby.binary.Osmformat.Relation other) {
    12809         if (other == crosby.binary.Osmformat.Relation.getDefaultInstance()) return this;
    12810         if (other.hasId()) {
    12811           setId(other.getId());
    12812         }
    12813         if (!other.keys_.isEmpty()) {
    12814           if (keys_.isEmpty()) {
    12815             keys_ = other.keys_;
    12816             bitField0_ = (bitField0_ & ~0x00000002);
    12817           } else {
    12818             ensureKeysIsMutable();
    12819             keys_.addAll(other.keys_);
    12820           }
    12821 
    12822         }
    12823         if (!other.vals_.isEmpty()) {
    12824           if (vals_.isEmpty()) {
    12825             vals_ = other.vals_;
    12826             bitField0_ = (bitField0_ & ~0x00000004);
    12827           } else {
    12828             ensureValsIsMutable();
    12829             vals_.addAll(other.vals_);
    12830           }
    12831 
    12832         }
    12833         if (other.hasInfo()) {
    12834           mergeInfo(other.getInfo());
    12835         }
    12836         if (!other.rolesSid_.isEmpty()) {
    12837           if (rolesSid_.isEmpty()) {
    12838             rolesSid_ = other.rolesSid_;
    12839             bitField0_ = (bitField0_ & ~0x00000010);
    12840           } else {
    12841             ensureRolesSidIsMutable();
    12842             rolesSid_.addAll(other.rolesSid_);
    12843           }
    12844 
    12845         }
    12846         if (!other.memids_.isEmpty()) {
    12847           if (memids_.isEmpty()) {
    12848             memids_ = other.memids_;
    12849             bitField0_ = (bitField0_ & ~0x00000020);
    12850           } else {
    12851             ensureMemidsIsMutable();
    12852             memids_.addAll(other.memids_);
    12853           }
    12854 
    12855         }
    12856         if (!other.types_.isEmpty()) {
    12857           if (types_.isEmpty()) {
    12858             types_ = other.types_;
    12859             bitField0_ = (bitField0_ & ~0x00000040);
    12860           } else {
    12861             ensureTypesIsMutable();
    12862             types_.addAll(other.types_);
    12863           }
    12864 
    12865         }
    12866         setUnknownFields(
    12867             getUnknownFields().concat(other.unknownFields));
    12868         return this;
    12869       }
    12870 
    12871       @Override
    12872         public final boolean isInitialized() {
    12873         if (!hasId()) {
    12874 
    12875           return false;
    12876         }
    12877         return true;
    12878       }
    12879 
    12880       @Override
    12881         public Builder mergeFrom(
    12882           com.google.protobuf.CodedInputStream input,
    12883           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    12884           throws java.io.IOException {
    12885         crosby.binary.Osmformat.Relation parsedMessage = null;
    12886         try {
    12887           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
    12888         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
    12889           parsedMessage = (crosby.binary.Osmformat.Relation) e.getUnfinishedMessage();
    12890           throw e;
    12891         } finally {
    12892           if (parsedMessage != null) {
    12893             mergeFrom(parsedMessage);
    12894           }
    12895         }
    12896         return this;
    12897       }
    12898       private int bitField0_;
    12899 
    12900       private long id_ ;
     12567        super(DEFAULT_INSTANCE);
     12568      }
     12569
     12570
    1290112571      /**
    1290212572       * <code>required int64 id = 1;</code>
    1290312573       */
    12904       @Override
    12905         public boolean hasId() {
    12906         return ((bitField0_ & 0x00000001) == 0x00000001);
     12574      public boolean hasId() {
     12575        return instance.hasId();
    1290712576      }
    1290812577      /**
    1290912578       * <code>required int64 id = 1;</code>
    1291012579       */
    12911       @Override
    12912         public long getId() {
    12913         return id_;
     12580      public long getId() {
     12581        return instance.getId();
    1291412582      }
    1291512583      /**
     
    1291712585       */
    1291812586      public Builder setId(long value) {
    12919         bitField0_ |= 0x00000001;
    12920         id_ = value;
    12921 
     12587        copyOnWrite();
     12588        instance.setId(value);
    1292212589        return this;
    1292312590      }
     
    1292612593       */
    1292712594      public Builder clearId() {
    12928         bitField0_ = (bitField0_ & ~0x00000001);
    12929         id_ = 0L;
    12930 
    12931         return this;
    12932       }
    12933 
    12934       private java.util.List<java.lang.Integer> keys_ = java.util.Collections.emptyList();
    12935       private void ensureKeysIsMutable() {
    12936         if (!((bitField0_ & 0x00000002) == 0x00000002)) {
    12937           keys_ = new java.util.ArrayList<>(keys_);
    12938           bitField0_ |= 0x00000002;
    12939          }
    12940       }
    12941       /**
     12595        copyOnWrite();
     12596        instance.clearId();
     12597        return this;
     12598      }
     12599
     12600      /**
     12601       * <pre>
     12602       * Parallel arrays.
     12603       * </pre>
     12604       *
    1294212605       * <code>repeated uint32 keys = 2 [packed = true];</code>
    12943        *
     12606       */
     12607      public java.util.List<java.lang.Integer>
     12608          getKeysList() {
     12609        return java.util.Collections.unmodifiableList(
     12610            instance.getKeysList());
     12611      }
     12612      /**
    1294412613       * <pre>
    1294512614       * Parallel arrays.
    1294612615       * </pre>
    12947        */
    12948       @Override
    12949         public java.util.List<java.lang.Integer>
    12950           getKeysList() {
    12951         return java.util.Collections.unmodifiableList(keys_);
    12952       }
    12953       /**
     12616       *
    1295412617       * <code>repeated uint32 keys = 2 [packed = true];</code>
    12955        *
     12618       */
     12619      public int getKeysCount() {
     12620        return instance.getKeysCount();
     12621      }
     12622      /**
    1295612623       * <pre>
    1295712624       * Parallel arrays.
    1295812625       * </pre>
    12959        */
    12960       @Override
    12961         public int getKeysCount() {
    12962         return keys_.size();
    12963       }
    12964       /**
     12626       *
    1296512627       * <code>repeated uint32 keys = 2 [packed = true];</code>
    12966        *
     12628       */
     12629      public int getKeys(int index) {
     12630        return instance.getKeys(index);
     12631      }
     12632      /**
    1296712633       * <pre>
    1296812634       * Parallel arrays.
    1296912635       * </pre>
    12970        */
    12971       @Override
    12972         public int getKeys(int index) {
    12973         return keys_.get(index);
    12974       }
    12975       /**
     12636       *
    1297612637       * <code>repeated uint32 keys = 2 [packed = true];</code>
    12977        *
    12978        * <pre>
    12979        * Parallel arrays.
    12980        * </pre>
    1298112638       */
    1298212639      public Builder setKeys(
    1298312640          int index, int value) {
    12984         ensureKeysIsMutable();
    12985         keys_.set(index, value);
    12986 
    12987         return this;
    12988       }
    12989       /**
     12641        copyOnWrite();
     12642        instance.setKeys(index, value);
     12643        return this;
     12644      }
     12645      /**
     12646       * <pre>
     12647       * Parallel arrays.
     12648       * </pre>
     12649       *
    1299012650       * <code>repeated uint32 keys = 2 [packed = true];</code>
    12991        *
     12651       */
     12652      public Builder addKeys(int value) {
     12653        copyOnWrite();
     12654        instance.addKeys(value);
     12655        return this;
     12656      }
     12657      /**
    1299212658       * <pre>
    1299312659       * Parallel arrays.
    1299412660       * </pre>
    12995        */
    12996       public Builder addKeys(int value) {
    12997         ensureKeysIsMutable();
    12998         keys_.add(value);
    12999 
    13000         return this;
    13001       }
    13002       /**
     12661       *
    1300312662       * <code>repeated uint32 keys = 2 [packed = true];</code>
    13004        *
    13005        * <pre>
    13006        * Parallel arrays.
    13007        * </pre>
    1300812663       */
    1300912664      public Builder addAllKeys(
    1301012665          java.lang.Iterable<? extends java.lang.Integer> values) {
    13011         ensureKeysIsMutable();
    13012         com.google.protobuf.AbstractMessageLite.Builder.addAll(
    13013             values, keys_);
    13014 
    13015         return this;
    13016       }
    13017       /**
     12666        copyOnWrite();
     12667        instance.addAllKeys(values);
     12668        return this;
     12669      }
     12670      /**
     12671       * <pre>
     12672       * Parallel arrays.
     12673       * </pre>
     12674       *
    1301812675       * <code>repeated uint32 keys = 2 [packed = true];</code>
    13019        *
    13020        * <pre>
    13021        * Parallel arrays.
    13022        * </pre>
    1302312676       */
    1302412677      public Builder clearKeys() {
    13025         keys_ = java.util.Collections.emptyList();
    13026         bitField0_ = (bitField0_ & ~0x00000002);
    13027 
    13028         return this;
    13029       }
    13030 
    13031       private java.util.List<java.lang.Integer> vals_ = java.util.Collections.emptyList();
    13032       private void ensureValsIsMutable() {
    13033         if (!((bitField0_ & 0x00000004) == 0x00000004)) {
    13034           vals_ = new java.util.ArrayList<>(vals_);
    13035           bitField0_ |= 0x00000004;
    13036          }
    13037       }
     12678        copyOnWrite();
     12679        instance.clearKeys();
     12680        return this;
     12681      }
     12682
    1303812683      /**
    1303912684       * <code>repeated uint32 vals = 3 [packed = true];</code>
    1304012685       */
    13041       @Override
    13042         public java.util.List<java.lang.Integer>
     12686      public java.util.List<java.lang.Integer>
    1304312687          getValsList() {
    13044         return java.util.Collections.unmodifiableList(vals_);
     12688        return java.util.Collections.unmodifiableList(
     12689            instance.getValsList());
    1304512690      }
    1304612691      /**
    1304712692       * <code>repeated uint32 vals = 3 [packed = true];</code>
    1304812693       */
    13049       @Override
    13050         public int getValsCount() {
    13051         return vals_.size();
     12694      public int getValsCount() {
     12695        return instance.getValsCount();
    1305212696      }
    1305312697      /**
    1305412698       * <code>repeated uint32 vals = 3 [packed = true];</code>
    1305512699       */
    13056       @Override
    13057         public int getVals(int index) {
    13058         return vals_.get(index);
     12700      public int getVals(int index) {
     12701        return instance.getVals(index);
    1305912702      }
    1306012703      /**
     
    1306312706      public Builder setVals(
    1306412707          int index, int value) {
    13065         ensureValsIsMutable();
    13066         vals_.set(index, value);
    13067 
     12708        copyOnWrite();
     12709        instance.setVals(index, value);
    1306812710        return this;
    1306912711      }
     
    1307212714       */
    1307312715      public Builder addVals(int value) {
    13074         ensureValsIsMutable();
    13075         vals_.add(value);
    13076 
     12716        copyOnWrite();
     12717        instance.addVals(value);
    1307712718        return this;
    1307812719      }
     
    1308212723      public Builder addAllVals(
    1308312724          java.lang.Iterable<? extends java.lang.Integer> values) {
    13084         ensureValsIsMutable();
    13085         com.google.protobuf.AbstractMessageLite.Builder.addAll(
    13086             values, vals_);
    13087 
     12725        copyOnWrite();
     12726        instance.addAllVals(values);
    1308812727        return this;
    1308912728      }
     
    1309212731       */
    1309312732      public Builder clearVals() {
    13094         vals_ = java.util.Collections.emptyList();
    13095         bitField0_ = (bitField0_ & ~0x00000004);
    13096 
    13097         return this;
    13098       }
    13099 
    13100       private crosby.binary.Osmformat.Info info_ = crosby.binary.Osmformat.Info.getDefaultInstance();
     12733        copyOnWrite();
     12734        instance.clearVals();
     12735        return this;
     12736      }
     12737
    1310112738      /**
    1310212739       * <code>optional .OSMPBF.Info info = 4;</code>
    1310312740       */
    13104       @Override
    13105         public boolean hasInfo() {
    13106         return ((bitField0_ & 0x00000008) == 0x00000008);
     12741      public boolean hasInfo() {
     12742        return instance.hasInfo();
    1310712743      }
    1310812744      /**
    1310912745       * <code>optional .OSMPBF.Info info = 4;</code>
    1311012746       */
    13111       @Override
    13112         public crosby.binary.Osmformat.Info getInfo() {
    13113         return info_;
     12747      public crosby.binary.Osmformat.Info getInfo() {
     12748        return instance.getInfo();
    1311412749      }
    1311512750      /**
     
    1311712752       */
    1311812753      public Builder setInfo(crosby.binary.Osmformat.Info value) {
    13119         if (value == null) {
    13120           throw new NullPointerException();
    13121         }
    13122         info_ = value;
    13123 
    13124         bitField0_ |= 0x00000008;
    13125         return this;
    13126       }
     12754        copyOnWrite();
     12755        instance.setInfo(value);
     12756        return this;
     12757        }
    1312712758      /**
    1312812759       * <code>optional .OSMPBF.Info info = 4;</code>
     
    1313012761      public Builder setInfo(
    1313112762          crosby.binary.Osmformat.Info.Builder builderForValue) {
    13132         info_ = builderForValue.build();
    13133 
    13134         bitField0_ |= 0x00000008;
     12763        copyOnWrite();
     12764        instance.setInfo(builderForValue);
    1313512765        return this;
    1313612766      }
     
    1313912769       */
    1314012770      public Builder mergeInfo(crosby.binary.Osmformat.Info value) {
    13141         if (((bitField0_ & 0x00000008) == 0x00000008) &&
    13142             info_ != crosby.binary.Osmformat.Info.getDefaultInstance()) {
    13143           info_ =
    13144             crosby.binary.Osmformat.Info.newBuilder(info_).mergeFrom(value).buildPartial();
    13145         } else {
    13146           info_ = value;
    13147         }
    13148 
    13149         bitField0_ |= 0x00000008;
     12771        copyOnWrite();
     12772        instance.mergeInfo(value);
    1315012773        return this;
    1315112774      }
     
    1315312776       * <code>optional .OSMPBF.Info info = 4;</code>
    1315412777       */
    13155       public Builder clearInfo() {
    13156         info_ = crosby.binary.Osmformat.Info.getDefaultInstance();
    13157 
    13158         bitField0_ = (bitField0_ & ~0x00000008);
    13159         return this;
    13160       }
    13161 
    13162       private java.util.List<java.lang.Integer> rolesSid_ = java.util.Collections.emptyList();
    13163       private void ensureRolesSidIsMutable() {
    13164         if (!((bitField0_ & 0x00000010) == 0x00000010)) {
    13165           rolesSid_ = new java.util.ArrayList<>(rolesSid_);
    13166           bitField0_ |= 0x00000010;
    13167          }
    13168       }
    13169       /**
     12778      public Builder clearInfo() {  copyOnWrite();
     12779        instance.clearInfo();
     12780        return this;
     12781      }
     12782
     12783      /**
     12784       * <pre>
     12785       * Parallel arrays
     12786       * </pre>
     12787       *
    1317012788       * <code>repeated int32 roles_sid = 8 [packed = true];</code>
    13171        *
     12789       */
     12790      public java.util.List<java.lang.Integer>
     12791          getRolesSidList() {
     12792        return java.util.Collections.unmodifiableList(
     12793            instance.getRolesSidList());
     12794      }
     12795      /**
    1317212796       * <pre>
    1317312797       * Parallel arrays
    1317412798       * </pre>
    13175        */
    13176       @Override
    13177         public java.util.List<java.lang.Integer>
    13178           getRolesSidList() {
    13179         return java.util.Collections.unmodifiableList(rolesSid_);
    13180       }
    13181       /**
     12799       *
    1318212800       * <code>repeated int32 roles_sid = 8 [packed = true];</code>
    13183        *
     12801       */
     12802      public int getRolesSidCount() {
     12803        return instance.getRolesSidCount();
     12804      }
     12805      /**
    1318412806       * <pre>
    1318512807       * Parallel arrays
    1318612808       * </pre>
    13187        */
    13188       @Override
    13189         public int getRolesSidCount() {
    13190         return rolesSid_.size();
    13191       }
    13192       /**
     12809       *
    1319312810       * <code>repeated int32 roles_sid = 8 [packed = true];</code>
    13194        *
     12811       */
     12812      public int getRolesSid(int index) {
     12813        return instance.getRolesSid(index);
     12814      }
     12815      /**
    1319512816       * <pre>
    1319612817       * Parallel arrays
    1319712818       * </pre>
    13198        */
    13199       @Override
    13200         public int getRolesSid(int index) {
    13201         return rolesSid_.get(index);
    13202       }
    13203       /**
     12819       *
    1320412820       * <code>repeated int32 roles_sid = 8 [packed = true];</code>
    13205        *
    13206        * <pre>
    13207        * Parallel arrays
    13208        * </pre>
    1320912821       */
    1321012822      public Builder setRolesSid(
    1321112823          int index, int value) {
    13212         ensureRolesSidIsMutable();
    13213         rolesSid_.set(index, value);
    13214 
    13215         return this;
    13216       }
    13217       /**
     12824        copyOnWrite();
     12825        instance.setRolesSid(index, value);
     12826        return this;
     12827      }
     12828      /**
     12829       * <pre>
     12830       * Parallel arrays
     12831       * </pre>
     12832       *
    1321812833       * <code>repeated int32 roles_sid = 8 [packed = true];</code>
    13219        *
     12834       */
     12835      public Builder addRolesSid(int value) {
     12836        copyOnWrite();
     12837        instance.addRolesSid(value);
     12838        return this;
     12839      }
     12840      /**
    1322012841       * <pre>
    1322112842       * Parallel arrays
    1322212843       * </pre>
    13223        */
    13224       public Builder addRolesSid(int value) {
    13225         ensureRolesSidIsMutable();
    13226         rolesSid_.add(value);
    13227 
    13228         return this;
    13229       }
    13230       /**
     12844       *
    1323112845       * <code>repeated int32 roles_sid = 8 [packed = true];</code>
    13232        *
    13233        * <pre>
    13234        * Parallel arrays
    13235        * </pre>
    1323612846       */
    1323712847      public Builder addAllRolesSid(
    1323812848          java.lang.Iterable<? extends java.lang.Integer> values) {
    13239         ensureRolesSidIsMutable();
    13240         com.google.protobuf.AbstractMessageLite.Builder.addAll(
    13241             values, rolesSid_);
    13242 
    13243         return this;
    13244       }
    13245       /**
     12849        copyOnWrite();
     12850        instance.addAllRolesSid(values);
     12851        return this;
     12852      }
     12853      /**
     12854       * <pre>
     12855       * Parallel arrays
     12856       * </pre>
     12857       *
    1324612858       * <code>repeated int32 roles_sid = 8 [packed = true];</code>
    13247        *
    13248        * <pre>
    13249        * Parallel arrays
    13250        * </pre>
    1325112859       */
    1325212860      public Builder clearRolesSid() {
    13253         rolesSid_ = java.util.Collections.emptyList();
    13254         bitField0_ = (bitField0_ & ~0x00000010);
    13255 
    13256         return this;
    13257       }
    13258 
    13259       private java.util.List<java.lang.Long> memids_ = java.util.Collections.emptyList();
    13260       private void ensureMemidsIsMutable() {
    13261         if (!((bitField0_ & 0x00000020) == 0x00000020)) {
    13262           memids_ = new java.util.ArrayList<>(memids_);
    13263           bitField0_ |= 0x00000020;
    13264          }
    13265       }
    13266       /**
     12861        copyOnWrite();
     12862        instance.clearRolesSid();
     12863        return this;
     12864      }
     12865
     12866      /**
     12867       * <pre>
     12868       * DELTA encoded
     12869       * </pre>
     12870       *
    1326712871       * <code>repeated sint64 memids = 9 [packed = true];</code>
    13268        *
     12872       */
     12873      public java.util.List<java.lang.Long>
     12874          getMemidsList() {
     12875        return java.util.Collections.unmodifiableList(
     12876            instance.getMemidsList());
     12877      }
     12878      /**
    1326912879       * <pre>
    1327012880       * DELTA encoded
    1327112881       * </pre>
    13272        */
    13273       @Override
    13274         public java.util.List<java.lang.Long>
    13275           getMemidsList() {
    13276         return java.util.Collections.unmodifiableList(memids_);
    13277       }
    13278       /**
     12882       *
    1327912883       * <code>repeated sint64 memids = 9 [packed = true];</code>
    13280        *
     12884       */
     12885      public int getMemidsCount() {
     12886        return instance.getMemidsCount();
     12887      }
     12888      /**
    1328112889       * <pre>
    1328212890       * DELTA encoded
    1328312891       * </pre>
    13284        */
    13285       @Override
    13286         public int getMemidsCount() {
    13287         return memids_.size();
    13288       }
    13289       /**
     12892       *
    1329012893       * <code>repeated sint64 memids = 9 [packed = true];</code>
    13291        *
     12894       */
     12895      public long getMemids(int index) {
     12896        return instance.getMemids(index);
     12897      }
     12898      /**
    1329212899       * <pre>
    1329312900       * DELTA encoded
    1329412901       * </pre>
    13295        */
    13296       @Override
    13297         public long getMemids(int index) {
    13298         return memids_.get(index);
    13299       }
    13300       /**
     12902       *
    1330112903       * <code>repeated sint64 memids = 9 [packed = true];</code>
    13302        *
    13303        * <pre>
    13304        * DELTA encoded
    13305        * </pre>
    1330612904       */
    1330712905      public Builder setMemids(
    1330812906          int index, long value) {
    13309         ensureMemidsIsMutable();
    13310         memids_.set(index, value);
    13311 
    13312         return this;
    13313       }
    13314       /**
     12907        copyOnWrite();
     12908        instance.setMemids(index, value);
     12909        return this;
     12910      }
     12911      /**
     12912       * <pre>
     12913       * DELTA encoded
     12914       * </pre>
     12915       *
    1331512916       * <code>repeated sint64 memids = 9 [packed = true];</code>
    13316        *
     12917       */
     12918      public Builder addMemids(long value) {
     12919        copyOnWrite();
     12920        instance.addMemids(value);
     12921        return this;
     12922      }
     12923      /**
    1331712924       * <pre>
    1331812925       * DELTA encoded
    1331912926       * </pre>
    13320        */
    13321       public Builder addMemids(long value) {
    13322         ensureMemidsIsMutable();
    13323         memids_.add(value);
    13324 
    13325         return this;
    13326       }
    13327       /**
     12927       *
    1332812928       * <code>repeated sint64 memids = 9 [packed = true];</code>
    13329        *
    13330        * <pre>
    13331        * DELTA encoded
    13332        * </pre>
    1333312929       */
    1333412930      public Builder addAllMemids(
    1333512931          java.lang.Iterable<? extends java.lang.Long> values) {
    13336         ensureMemidsIsMutable();
    13337         com.google.protobuf.AbstractMessageLite.Builder.addAll(
    13338             values, memids_);
    13339 
    13340         return this;
    13341       }
    13342       /**
     12932        copyOnWrite();
     12933        instance.addAllMemids(values);
     12934        return this;
     12935      }
     12936      /**
     12937       * <pre>
     12938       * DELTA encoded
     12939       * </pre>
     12940       *
    1334312941       * <code>repeated sint64 memids = 9 [packed = true];</code>
    13344        *
    13345        * <pre>
    13346        * DELTA encoded
    13347        * </pre>
    1334812942       */
    1334912943      public Builder clearMemids() {
    13350         memids_ = java.util.Collections.emptyList();
    13351         bitField0_ = (bitField0_ & ~0x00000020);
    13352 
    13353         return this;
    13354       }
    13355 
    13356       private java.util.List<crosby.binary.Osmformat.Relation.MemberType> types_ =
    13357         java.util.Collections.emptyList();
    13358       private void ensureTypesIsMutable() {
    13359         if (!((bitField0_ & 0x00000040) == 0x00000040)) {
    13360           types_ = new java.util.ArrayList<>(types_);
    13361           bitField0_ |= 0x00000040;
    13362         }
    13363       }
     12944        copyOnWrite();
     12945        instance.clearMemids();
     12946        return this;
     12947      }
     12948
    1336412949      /**
    1336512950       * <code>repeated .OSMPBF.Relation.MemberType types = 10 [packed = true];</code>
    1336612951       */
    13367       @Override
    13368         public java.util.List<crosby.binary.Osmformat.Relation.MemberType> getTypesList() {
    13369         return java.util.Collections.unmodifiableList(types_);
     12952      public java.util.List<crosby.binary.Osmformat.Relation.MemberType> getTypesList() {
     12953        return instance.getTypesList();
    1337012954      }
    1337112955      /**
    1337212956       * <code>repeated .OSMPBF.Relation.MemberType types = 10 [packed = true];</code>
    1337312957       */
    13374       @Override
    13375         public int getTypesCount() {
    13376         return types_.size();
     12958      public int getTypesCount() {
     12959        return instance.getTypesCount();
    1337712960      }
    1337812961      /**
    1337912962       * <code>repeated .OSMPBF.Relation.MemberType types = 10 [packed = true];</code>
    1338012963       */
    13381       @Override
    13382         public crosby.binary.Osmformat.Relation.MemberType getTypes(int index) {
    13383         return types_.get(index);
     12964      public crosby.binary.Osmformat.Relation.MemberType getTypes(int index) {
     12965        return instance.getTypes(index);
    1338412966      }
    1338512967      /**
     
    1338812970      public Builder setTypes(
    1338912971          int index, crosby.binary.Osmformat.Relation.MemberType value) {
    13390         if (value == null) {
    13391           throw new NullPointerException();
    13392         }
    13393         ensureTypesIsMutable();
    13394         types_.set(index, value);
    13395 
     12972        copyOnWrite();
     12973        instance.setTypes(index, value);
    1339612974        return this;
    1339712975      }
     
    1340012978       */
    1340112979      public Builder addTypes(crosby.binary.Osmformat.Relation.MemberType value) {
    13402         if (value == null) {
    13403           throw new NullPointerException();
    13404         }
    13405         ensureTypesIsMutable();
    13406         types_.add(value);
    13407 
     12980        copyOnWrite();
     12981        instance.addTypes(value);
    1340812982        return this;
    1340912983      }
     
    1341312987      public Builder addAllTypes(
    1341412988          java.lang.Iterable<? extends crosby.binary.Osmformat.Relation.MemberType> values) {
    13415         ensureTypesIsMutable();
    13416         com.google.protobuf.AbstractMessageLite.Builder.addAll(
    13417             values, types_);
    13418 
    13419         return this;
     12989        copyOnWrite();
     12990        instance.addAllTypes(values);  return this;
    1342012991      }
    1342112992      /**
     
    1342312994       */
    1342412995      public Builder clearTypes() {
    13425         types_ = java.util.Collections.emptyList();
    13426         bitField0_ = (bitField0_ & ~0x00000040);
    13427 
     12996        copyOnWrite();
     12997        instance.clearTypes();
    1342812998        return this;
    1342912999      }
     
    1343113001      // @@protoc_insertion_point(builder_scope:OSMPBF.Relation)
    1343213002    }
    13433 
     13003    private byte memoizedIsInitialized = -1;
     13004    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
     13005    protected final java.lang.Object dynamicMethod(
     13006        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
     13007        java.lang.Object arg0, java.lang.Object arg1) {
     13008      switch (method) {
     13009        case NEW_MUTABLE_INSTANCE: {
     13010          return new crosby.binary.Osmformat.Relation();
     13011        }
     13012        case IS_INITIALIZED: {
     13013          byte isInitialized = memoizedIsInitialized;
     13014          if (isInitialized == 1) return DEFAULT_INSTANCE;
     13015          if (isInitialized == 0) return null;
     13016
     13017          boolean shouldMemoize = ((Boolean) arg0).booleanValue();
     13018          if (!hasId()) {
     13019            if (shouldMemoize) {
     13020              memoizedIsInitialized = 0;
     13021            }
     13022            return null;
     13023          }
     13024          if (shouldMemoize) memoizedIsInitialized = 1;
     13025          return DEFAULT_INSTANCE;
     13026
     13027        }
     13028        case MAKE_IMMUTABLE: {
     13029          keys_.makeImmutable();
     13030          vals_.makeImmutable();
     13031          rolesSid_.makeImmutable();
     13032          memids_.makeImmutable();
     13033          types_.makeImmutable();
     13034          return null;
     13035        }
     13036        case NEW_BUILDER: {
     13037          return new Builder();
     13038        }
     13039        case VISIT: {
     13040          Visitor visitor = (Visitor) arg0;
     13041          crosby.binary.Osmformat.Relation other = (crosby.binary.Osmformat.Relation) arg1;
     13042          id_ = visitor.visitLong(
     13043              hasId(), id_,
     13044              other.hasId(), other.id_);
     13045          keys_= visitor.visitIntList(keys_, other.keys_);
     13046          vals_= visitor.visitIntList(vals_, other.vals_);
     13047          info_ = visitor.visitMessage(info_, other.info_);
     13048          rolesSid_= visitor.visitIntList(rolesSid_, other.rolesSid_);
     13049          memids_= visitor.visitLongList(memids_, other.memids_);
     13050          types_= visitor.visitIntList(types_, other.types_);
     13051          if (visitor == com.google.protobuf.GeneratedMessageLite.MergeFromVisitor
     13052              .INSTANCE) {
     13053            bitField0_ |= other.bitField0_;
     13054          }
     13055          return this;
     13056        }
     13057        case MERGE_FROM_STREAM: {
     13058          com.google.protobuf.CodedInputStream input =
     13059              (com.google.protobuf.CodedInputStream) arg0;
     13060          com.google.protobuf.ExtensionRegistryLite extensionRegistry =
     13061              (com.google.protobuf.ExtensionRegistryLite) arg1;
     13062          try {
     13063            boolean done = false;
     13064            while (!done) {
     13065              int tag = input.readTag();
     13066              switch (tag) {
     13067                case 0:
     13068                  done = true;
     13069                  break;
     13070                default: {
     13071                  if (!parseUnknownField(tag, input)) {
     13072                    done = true;
     13073                  }
     13074                  break;
     13075                }
     13076                case 8: {
     13077                  bitField0_ |= 0x00000001;
     13078                  id_ = input.readInt64();
     13079                  break;
     13080                }
     13081                case 16: {
     13082                  if (!keys_.isModifiable()) {
     13083                    keys_ =
     13084                        com.google.protobuf.GeneratedMessageLite.mutableCopy(keys_);
     13085                  }
     13086                  keys_.addInt(input.readUInt32());
     13087                  break;
     13088                }
     13089                case 18: {
     13090                  int length = input.readRawVarint32();
     13091                  int limit = input.pushLimit(length);
     13092                  if (!keys_.isModifiable() && input.getBytesUntilLimit() > 0) {
     13093                    keys_ =
     13094                        com.google.protobuf.GeneratedMessageLite.mutableCopy(keys_);
     13095                  }
     13096                  while (input.getBytesUntilLimit() > 0) {
     13097                    keys_.addInt(input.readUInt32());
     13098                  }
     13099                  input.popLimit(limit);
     13100                  break;
     13101                }
     13102                case 24: {
     13103                  if (!vals_.isModifiable()) {
     13104                    vals_ =
     13105                        com.google.protobuf.GeneratedMessageLite.mutableCopy(vals_);
     13106                  }
     13107                  vals_.addInt(input.readUInt32());
     13108                  break;
     13109                }
     13110                case 26: {
     13111                  int length = input.readRawVarint32();
     13112                  int limit = input.pushLimit(length);
     13113                  if (!vals_.isModifiable() && input.getBytesUntilLimit() > 0) {
     13114                    vals_ =
     13115                        com.google.protobuf.GeneratedMessageLite.mutableCopy(vals_);
     13116                  }
     13117                  while (input.getBytesUntilLimit() > 0) {
     13118                    vals_.addInt(input.readUInt32());
     13119                  }
     13120                  input.popLimit(limit);
     13121                  break;
     13122                }
     13123                case 34: {
     13124                  crosby.binary.Osmformat.Info.Builder subBuilder = null;
     13125                  if (((bitField0_ & 0x00000002) == 0x00000002)) {
     13126                    subBuilder = info_.toBuilder();
     13127                  }
     13128                  info_ = input.readMessage(crosby.binary.Osmformat.Info.parser(), extensionRegistry);
     13129                  if (subBuilder != null) {
     13130                    subBuilder.mergeFrom(info_);
     13131                    info_ = subBuilder.buildPartial();
     13132                  }
     13133                  bitField0_ |= 0x00000002;
     13134                  break;
     13135                }
     13136                case 64: {
     13137                  if (!rolesSid_.isModifiable()) {
     13138                    rolesSid_ =
     13139                        com.google.protobuf.GeneratedMessageLite.mutableCopy(rolesSid_);
     13140                  }
     13141                  rolesSid_.addInt(input.readInt32());
     13142                  break;
     13143                }
     13144                case 66: {
     13145                  int length = input.readRawVarint32();
     13146                  int limit = input.pushLimit(length);
     13147                  if (!rolesSid_.isModifiable() && input.getBytesUntilLimit() > 0) {
     13148                    rolesSid_ =
     13149                        com.google.protobuf.GeneratedMessageLite.mutableCopy(rolesSid_);
     13150                  }
     13151                  while (input.getBytesUntilLimit() > 0) {
     13152                    rolesSid_.addInt(input.readInt32());
     13153                  }
     13154                  input.popLimit(limit);
     13155                  break;
     13156                }
     13157                case 72: {
     13158                  if (!memids_.isModifiable()) {
     13159                    memids_ =
     13160                        com.google.protobuf.GeneratedMessageLite.mutableCopy(memids_);
     13161                  }
     13162                  memids_.addLong(input.readSInt64());
     13163                  break;
     13164                }
     13165                case 74: {
     13166                  int length = input.readRawVarint32();
     13167                  int limit = input.pushLimit(length);
     13168                  if (!memids_.isModifiable() && input.getBytesUntilLimit() > 0) {
     13169                    memids_ =
     13170                        com.google.protobuf.GeneratedMessageLite.mutableCopy(memids_);
     13171                  }
     13172                  while (input.getBytesUntilLimit() > 0) {
     13173                    memids_.addLong(input.readSInt64());
     13174                  }
     13175                  input.popLimit(limit);
     13176                  break;
     13177                }
     13178                case 80: {
     13179                  if (!types_.isModifiable()) {
     13180                    types_ =
     13181                        com.google.protobuf.GeneratedMessageLite.mutableCopy(types_);
     13182                  }
     13183                  int rawValue = input.readEnum();
     13184                  crosby.binary.Osmformat.Relation.MemberType value = crosby.binary.Osmformat.Relation.MemberType.forNumber(rawValue);
     13185                  if (value == null) {
     13186                    super.mergeVarintField(10, rawValue);
     13187                  } else {
     13188                    types_.addInt(rawValue);
     13189                  }
     13190                  break;
     13191                }
     13192                case 82: {
     13193                  if (!types_.isModifiable()) {
     13194                    types_ =
     13195                        com.google.protobuf.GeneratedMessageLite.mutableCopy(types_);
     13196                  }
     13197                  int length = input.readRawVarint32();
     13198                  int oldLimit = input.pushLimit(length);
     13199                  while(input.getBytesUntilLimit() > 0) {
     13200                    int rawValue = input.readEnum();
     13201                    crosby.binary.Osmformat.Relation.MemberType value = crosby.binary.Osmformat.Relation.MemberType.forNumber(rawValue);
     13202                    if (value == null) {
     13203                      super.mergeVarintField(10, rawValue);
     13204                    } else {
     13205                      types_.addInt(rawValue);
     13206                    }
     13207                  }
     13208                  input.popLimit(oldLimit);
     13209                  break;
     13210                }
     13211              }
     13212            }
     13213          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
     13214            throw new RuntimeException(e.setUnfinishedMessage(this));
     13215          } catch (java.io.IOException e) {
     13216            throw new RuntimeException(
     13217                new com.google.protobuf.InvalidProtocolBufferException(
     13218                    e.getMessage()).setUnfinishedMessage(this));
     13219          } finally {
     13220          }
     13221        }
     13222        // fall through
     13223        case GET_DEFAULT_INSTANCE: {
     13224          return DEFAULT_INSTANCE;
     13225        }
     13226        case GET_PARSER: {
     13227          if (PARSER == null) {    synchronized (crosby.binary.Osmformat.Relation.class) {
     13228              if (PARSER == null) {
     13229                PARSER = new DefaultInstanceBasedParser(DEFAULT_INSTANCE);
     13230              }
     13231            }
     13232          }
     13233          return PARSER;
     13234        }
     13235      }
     13236      throw new UnsupportedOperationException();
     13237    }
     13238
     13239
     13240    // @@protoc_insertion_point(class_scope:OSMPBF.Relation)
     13241    private static final crosby.binary.Osmformat.Relation DEFAULT_INSTANCE;
    1343413242    static {
    13435       defaultInstance = new Relation(true);
    13436       defaultInstance.initFields();
    13437     }
    13438 
    13439     // @@protoc_insertion_point(class_scope:OSMPBF.Relation)
     13243      DEFAULT_INSTANCE = new Relation();
     13244      DEFAULT_INSTANCE.makeImmutable();
     13245    }
     13246
     13247    public static crosby.binary.Osmformat.Relation getDefaultInstance() {
     13248      return DEFAULT_INSTANCE;
     13249    }
     13250
     13251    private static volatile com.google.protobuf.Parser<Relation> PARSER;
     13252
     13253    public static com.google.protobuf.Parser<Relation> parser() {
     13254      return DEFAULT_INSTANCE.getParserForType();
     13255    }
    1344013256  }
    1344113257
Note: See TracChangeset for help on using the changeset viewer.