//
//  Generated code. Do not modify.
//  source: movement.proto
//
// @dart = 3.3

// ignore_for_file: annotate_overrides, camel_case_types, comment_references
// ignore_for_file: constant_identifier_names, library_prefixes
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import

import 'dart:core' as $core;

import 'package:protobuf/protobuf.dart' as $pb;

import 'actor.pb.dart' as $67;
import 'item.pb.dart' as $77;
import 'shared.pb.dart' as $3;
import 'warehousingShared.pb.dart' as $76;

export 'package:protobuf/protobuf.dart' show GeneratedMessageGenericExtensions;

class MovementPayload extends $pb.GeneratedMessage {
  factory MovementPayload({
    $76.EnrichedGoods? goods,
    $core.String? actorID,
    $67.ActorPayload? actor,
    $76.StockMovement? movement,
    $core.Iterable<$3.ClaimSummary>? claims,
    $core.int? claimNumber,
    $76.MovementStatusStruct? status,
    $76.QuantityInLV? quantityInBaseLV,
    $core.Iterable<$3.AttachmentSummary>? attachments,
    $core.int? attachmentNumber,
  }) {
    final $result = create();
    if (goods != null) {
      $result.goods = goods;
    }
    if (actorID != null) {
      $result.actorID = actorID;
    }
    if (actor != null) {
      $result.actor = actor;
    }
    if (movement != null) {
      $result.movement = movement;
    }
    if (claims != null) {
      $result.claims.addAll(claims);
    }
    if (claimNumber != null) {
      $result.claimNumber = claimNumber;
    }
    if (status != null) {
      $result.status = status;
    }
    if (quantityInBaseLV != null) {
      $result.quantityInBaseLV = quantityInBaseLV;
    }
    if (attachments != null) {
      $result.attachments.addAll(attachments);
    }
    if (attachmentNumber != null) {
      $result.attachmentNumber = attachmentNumber;
    }
    return $result;
  }
  MovementPayload._() : super();
  factory MovementPayload.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory MovementPayload.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'MovementPayload', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$76.EnrichedGoods>(1, _omitFieldNames ? '' : 'Goods', protoName: 'Goods', subBuilder: $76.EnrichedGoods.create)
    ..aOS(2, _omitFieldNames ? '' : 'ActorID', protoName: 'ActorID')
    ..aOM<$67.ActorPayload>(3, _omitFieldNames ? '' : 'Actor', protoName: 'Actor', subBuilder: $67.ActorPayload.create)
    ..aOM<$76.StockMovement>(4, _omitFieldNames ? '' : 'Movement', protoName: 'Movement', subBuilder: $76.StockMovement.create)
    ..pc<$3.ClaimSummary>(5, _omitFieldNames ? '' : 'Claims', $pb.PbFieldType.PM, protoName: 'Claims', subBuilder: $3.ClaimSummary.create)
    ..a<$core.int>(6, _omitFieldNames ? '' : 'ClaimNumber', $pb.PbFieldType.O3, protoName: 'ClaimNumber')
    ..aOM<$76.MovementStatusStruct>(7, _omitFieldNames ? '' : 'Status', protoName: 'Status', subBuilder: $76.MovementStatusStruct.create)
    ..aOM<$76.QuantityInLV>(8, _omitFieldNames ? '' : 'QuantityInBaseLV', protoName: 'QuantityInBaseLV', subBuilder: $76.QuantityInLV.create)
    ..pc<$3.AttachmentSummary>(9, _omitFieldNames ? '' : 'Attachments', $pb.PbFieldType.PM, protoName: 'Attachments', subBuilder: $3.AttachmentSummary.create)
    ..a<$core.int>(10, _omitFieldNames ? '' : 'AttachmentNumber', $pb.PbFieldType.O3, protoName: 'AttachmentNumber')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  MovementPayload clone() => MovementPayload()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  MovementPayload copyWith(void Function(MovementPayload) updates) => super.copyWith((message) => updates(message as MovementPayload)) as MovementPayload;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static MovementPayload create() => MovementPayload._();
  MovementPayload createEmptyInstance() => create();
  static $pb.PbList<MovementPayload> createRepeated() => $pb.PbList<MovementPayload>();
  @$core.pragma('dart2js:noInline')
  static MovementPayload getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<MovementPayload>(create);
  static MovementPayload? _defaultInstance;

  @$pb.TagNumber(1)
  $76.EnrichedGoods get goods => $_getN(0);
  @$pb.TagNumber(1)
  set goods($76.EnrichedGoods v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasGoods() => $_has(0);
  @$pb.TagNumber(1)
  void clearGoods() => $_clearField(1);
  @$pb.TagNumber(1)
  $76.EnrichedGoods ensureGoods() => $_ensure(0);

  @$pb.TagNumber(2)
  $core.String get actorID => $_getSZ(1);
  @$pb.TagNumber(2)
  set actorID($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasActorID() => $_has(1);
  @$pb.TagNumber(2)
  void clearActorID() => $_clearField(2);

  @$pb.TagNumber(3)
  $67.ActorPayload get actor => $_getN(2);
  @$pb.TagNumber(3)
  set actor($67.ActorPayload v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasActor() => $_has(2);
  @$pb.TagNumber(3)
  void clearActor() => $_clearField(3);
  @$pb.TagNumber(3)
  $67.ActorPayload ensureActor() => $_ensure(2);

  @$pb.TagNumber(4)
  $76.StockMovement get movement => $_getN(3);
  @$pb.TagNumber(4)
  set movement($76.StockMovement v) { $_setField(4, v); }
  @$pb.TagNumber(4)
  $core.bool hasMovement() => $_has(3);
  @$pb.TagNumber(4)
  void clearMovement() => $_clearField(4);
  @$pb.TagNumber(4)
  $76.StockMovement ensureMovement() => $_ensure(3);

  @$pb.TagNumber(5)
  $pb.PbList<$3.ClaimSummary> get claims => $_getList(4);

  @$pb.TagNumber(6)
  $core.int get claimNumber => $_getIZ(5);
  @$pb.TagNumber(6)
  set claimNumber($core.int v) { $_setSignedInt32(5, v); }
  @$pb.TagNumber(6)
  $core.bool hasClaimNumber() => $_has(5);
  @$pb.TagNumber(6)
  void clearClaimNumber() => $_clearField(6);

  @$pb.TagNumber(7)
  $76.MovementStatusStruct get status => $_getN(6);
  @$pb.TagNumber(7)
  set status($76.MovementStatusStruct v) { $_setField(7, v); }
  @$pb.TagNumber(7)
  $core.bool hasStatus() => $_has(6);
  @$pb.TagNumber(7)
  void clearStatus() => $_clearField(7);
  @$pb.TagNumber(7)
  $76.MovementStatusStruct ensureStatus() => $_ensure(6);

  @$pb.TagNumber(8)
  $76.QuantityInLV get quantityInBaseLV => $_getN(7);
  @$pb.TagNumber(8)
  set quantityInBaseLV($76.QuantityInLV v) { $_setField(8, v); }
  @$pb.TagNumber(8)
  $core.bool hasQuantityInBaseLV() => $_has(7);
  @$pb.TagNumber(8)
  void clearQuantityInBaseLV() => $_clearField(8);
  @$pb.TagNumber(8)
  $76.QuantityInLV ensureQuantityInBaseLV() => $_ensure(7);

  @$pb.TagNumber(9)
  $pb.PbList<$3.AttachmentSummary> get attachments => $_getList(8);

  @$pb.TagNumber(10)
  $core.int get attachmentNumber => $_getIZ(9);
  @$pb.TagNumber(10)
  set attachmentNumber($core.int v) { $_setSignedInt32(9, v); }
  @$pb.TagNumber(10)
  $core.bool hasAttachmentNumber() => $_has(9);
  @$pb.TagNumber(10)
  void clearAttachmentNumber() => $_clearField(10);
}

///
/// Movement entity Structure
class Movement extends $pb.GeneratedMessage {
  factory Movement({
    $3.EventHeader? lastEventHeader,
    $3.EntityID? iD,
    MovementPayload? payload,
  }) {
    final $result = create();
    if (lastEventHeader != null) {
      $result.lastEventHeader = lastEventHeader;
    }
    if (iD != null) {
      $result.iD = iD;
    }
    if (payload != null) {
      $result.payload = payload;
    }
    return $result;
  }
  Movement._() : super();
  factory Movement.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory Movement.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Movement', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$3.EventHeader>(1, _omitFieldNames ? '' : 'LastEventHeader', protoName: 'LastEventHeader', subBuilder: $3.EventHeader.create)
    ..aOM<$3.EntityID>(2, _omitFieldNames ? '' : 'ID', protoName: 'ID', subBuilder: $3.EntityID.create)
    ..aOM<MovementPayload>(3, _omitFieldNames ? '' : 'Payload', protoName: 'Payload', subBuilder: MovementPayload.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  Movement clone() => Movement()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  Movement copyWith(void Function(Movement) updates) => super.copyWith((message) => updates(message as Movement)) as Movement;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static Movement create() => Movement._();
  Movement createEmptyInstance() => create();
  static $pb.PbList<Movement> createRepeated() => $pb.PbList<Movement>();
  @$core.pragma('dart2js:noInline')
  static Movement getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Movement>(create);
  static Movement? _defaultInstance;

  @$pb.TagNumber(1)
  $3.EventHeader get lastEventHeader => $_getN(0);
  @$pb.TagNumber(1)
  set lastEventHeader($3.EventHeader v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasLastEventHeader() => $_has(0);
  @$pb.TagNumber(1)
  void clearLastEventHeader() => $_clearField(1);
  @$pb.TagNumber(1)
  $3.EventHeader ensureLastEventHeader() => $_ensure(0);

  @$pb.TagNumber(2)
  $3.EntityID get iD => $_getN(1);
  @$pb.TagNumber(2)
  set iD($3.EntityID v) { $_setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasID() => $_has(1);
  @$pb.TagNumber(2)
  void clearID() => $_clearField(2);
  @$pb.TagNumber(2)
  $3.EntityID ensureID() => $_ensure(1);

  @$pb.TagNumber(3)
  MovementPayload get payload => $_getN(2);
  @$pb.TagNumber(3)
  set payload(MovementPayload v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasPayload() => $_has(2);
  @$pb.TagNumber(3)
  void clearPayload() => $_clearField(3);
  @$pb.TagNumber(3)
  MovementPayload ensurePayload() => $_ensure(2);
}

enum MovementEnrichment_Content {
  item, 
  actor, 
  notSet
}

class MovementEnrichment extends $pb.GeneratedMessage {
  factory MovementEnrichment({
    $core.String? parentEventID,
    $core.String? entityName,
    $core.String? entityRefID,
    $core.String? refFilter,
    $core.String? mergePath,
    $core.String? project,
    $core.String? parentEntityName,
    $core.String? parentEntityID,
    $77.ItemPayload? item,
    $67.ActorPayload? actor,
  }) {
    final $result = create();
    if (parentEventID != null) {
      $result.parentEventID = parentEventID;
    }
    if (entityName != null) {
      $result.entityName = entityName;
    }
    if (entityRefID != null) {
      $result.entityRefID = entityRefID;
    }
    if (refFilter != null) {
      $result.refFilter = refFilter;
    }
    if (mergePath != null) {
      $result.mergePath = mergePath;
    }
    if (project != null) {
      $result.project = project;
    }
    if (parentEntityName != null) {
      $result.parentEntityName = parentEntityName;
    }
    if (parentEntityID != null) {
      $result.parentEntityID = parentEntityID;
    }
    if (item != null) {
      $result.item = item;
    }
    if (actor != null) {
      $result.actor = actor;
    }
    return $result;
  }
  MovementEnrichment._() : super();
  factory MovementEnrichment.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory MovementEnrichment.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static const $core.Map<$core.int, MovementEnrichment_Content> _MovementEnrichment_ContentByTag = {
    10 : MovementEnrichment_Content.item,
    11 : MovementEnrichment_Content.actor,
    0 : MovementEnrichment_Content.notSet
  };
  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'MovementEnrichment', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..oo(0, [10, 11])
    ..aOS(1, _omitFieldNames ? '' : 'ParentEventID', protoName: 'ParentEventID')
    ..aOS(2, _omitFieldNames ? '' : 'EntityName', protoName: 'EntityName')
    ..aOS(3, _omitFieldNames ? '' : 'EntityRefID', protoName: 'EntityRefID')
    ..aOS(4, _omitFieldNames ? '' : 'RefFilter', protoName: 'RefFilter')
    ..aOS(5, _omitFieldNames ? '' : 'MergePath', protoName: 'MergePath')
    ..aOS(6, _omitFieldNames ? '' : 'Project', protoName: 'Project')
    ..aOS(7, _omitFieldNames ? '' : 'ParentEntityName', protoName: 'ParentEntityName')
    ..aOS(8, _omitFieldNames ? '' : 'ParentEntityID', protoName: 'ParentEntityID')
    ..aOM<$77.ItemPayload>(10, _omitFieldNames ? '' : 'Item', protoName: 'Item', subBuilder: $77.ItemPayload.create)
    ..aOM<$67.ActorPayload>(11, _omitFieldNames ? '' : 'Actor', protoName: 'Actor', subBuilder: $67.ActorPayload.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  MovementEnrichment clone() => MovementEnrichment()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  MovementEnrichment copyWith(void Function(MovementEnrichment) updates) => super.copyWith((message) => updates(message as MovementEnrichment)) as MovementEnrichment;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static MovementEnrichment create() => MovementEnrichment._();
  MovementEnrichment createEmptyInstance() => create();
  static $pb.PbList<MovementEnrichment> createRepeated() => $pb.PbList<MovementEnrichment>();
  @$core.pragma('dart2js:noInline')
  static MovementEnrichment getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<MovementEnrichment>(create);
  static MovementEnrichment? _defaultInstance;

  MovementEnrichment_Content whichContent() => _MovementEnrichment_ContentByTag[$_whichOneof(0)]!;
  void clearContent() => $_clearField($_whichOneof(0));

  @$pb.TagNumber(1)
  $core.String get parentEventID => $_getSZ(0);
  @$pb.TagNumber(1)
  set parentEventID($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasParentEventID() => $_has(0);
  @$pb.TagNumber(1)
  void clearParentEventID() => $_clearField(1);

  @$pb.TagNumber(2)
  $core.String get entityName => $_getSZ(1);
  @$pb.TagNumber(2)
  set entityName($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasEntityName() => $_has(1);
  @$pb.TagNumber(2)
  void clearEntityName() => $_clearField(2);

  @$pb.TagNumber(3)
  $core.String get entityRefID => $_getSZ(2);
  @$pb.TagNumber(3)
  set entityRefID($core.String v) { $_setString(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasEntityRefID() => $_has(2);
  @$pb.TagNumber(3)
  void clearEntityRefID() => $_clearField(3);

  @$pb.TagNumber(4)
  $core.String get refFilter => $_getSZ(3);
  @$pb.TagNumber(4)
  set refFilter($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasRefFilter() => $_has(3);
  @$pb.TagNumber(4)
  void clearRefFilter() => $_clearField(4);

  @$pb.TagNumber(5)
  $core.String get mergePath => $_getSZ(4);
  @$pb.TagNumber(5)
  set mergePath($core.String v) { $_setString(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasMergePath() => $_has(4);
  @$pb.TagNumber(5)
  void clearMergePath() => $_clearField(5);

  @$pb.TagNumber(6)
  $core.String get project => $_getSZ(5);
  @$pb.TagNumber(6)
  set project($core.String v) { $_setString(5, v); }
  @$pb.TagNumber(6)
  $core.bool hasProject() => $_has(5);
  @$pb.TagNumber(6)
  void clearProject() => $_clearField(6);

  @$pb.TagNumber(7)
  $core.String get parentEntityName => $_getSZ(6);
  @$pb.TagNumber(7)
  set parentEntityName($core.String v) { $_setString(6, v); }
  @$pb.TagNumber(7)
  $core.bool hasParentEntityName() => $_has(6);
  @$pb.TagNumber(7)
  void clearParentEntityName() => $_clearField(7);

  @$pb.TagNumber(8)
  $core.String get parentEntityID => $_getSZ(7);
  @$pb.TagNumber(8)
  set parentEntityID($core.String v) { $_setString(7, v); }
  @$pb.TagNumber(8)
  $core.bool hasParentEntityID() => $_has(7);
  @$pb.TagNumber(8)
  void clearParentEntityID() => $_clearField(8);

  @$pb.TagNumber(10)
  $77.ItemPayload get item => $_getN(8);
  @$pb.TagNumber(10)
  set item($77.ItemPayload v) { $_setField(10, v); }
  @$pb.TagNumber(10)
  $core.bool hasItem() => $_has(8);
  @$pb.TagNumber(10)
  void clearItem() => $_clearField(10);
  @$pb.TagNumber(10)
  $77.ItemPayload ensureItem() => $_ensure(8);

  @$pb.TagNumber(11)
  $67.ActorPayload get actor => $_getN(9);
  @$pb.TagNumber(11)
  set actor($67.ActorPayload v) { $_setField(11, v); }
  @$pb.TagNumber(11)
  $core.bool hasActor() => $_has(9);
  @$pb.TagNumber(11)
  void clearActor() => $_clearField(11);
  @$pb.TagNumber(11)
  $67.ActorPayload ensureActor() => $_ensure(9);
}

class MovementTriplet extends $pb.GeneratedMessage {
  factory MovementTriplet({
    Movement? current,
    Movement? previous,
    Movement? lastEvent,
  }) {
    final $result = create();
    if (current != null) {
      $result.current = current;
    }
    if (previous != null) {
      $result.previous = previous;
    }
    if (lastEvent != null) {
      $result.lastEvent = lastEvent;
    }
    return $result;
  }
  MovementTriplet._() : super();
  factory MovementTriplet.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory MovementTriplet.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'MovementTriplet', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<Movement>(1, _omitFieldNames ? '' : 'Current', protoName: 'Current', subBuilder: Movement.create)
    ..aOM<Movement>(2, _omitFieldNames ? '' : 'Previous', protoName: 'Previous', subBuilder: Movement.create)
    ..aOM<Movement>(3, _omitFieldNames ? '' : 'LastEvent', protoName: 'LastEvent', subBuilder: Movement.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  MovementTriplet clone() => MovementTriplet()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  MovementTriplet copyWith(void Function(MovementTriplet) updates) => super.copyWith((message) => updates(message as MovementTriplet)) as MovementTriplet;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static MovementTriplet create() => MovementTriplet._();
  MovementTriplet createEmptyInstance() => create();
  static $pb.PbList<MovementTriplet> createRepeated() => $pb.PbList<MovementTriplet>();
  @$core.pragma('dart2js:noInline')
  static MovementTriplet getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<MovementTriplet>(create);
  static MovementTriplet? _defaultInstance;

  @$pb.TagNumber(1)
  Movement get current => $_getN(0);
  @$pb.TagNumber(1)
  set current(Movement v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasCurrent() => $_has(0);
  @$pb.TagNumber(1)
  void clearCurrent() => $_clearField(1);
  @$pb.TagNumber(1)
  Movement ensureCurrent() => $_ensure(0);

  @$pb.TagNumber(2)
  Movement get previous => $_getN(1);
  @$pb.TagNumber(2)
  set previous(Movement v) { $_setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasPrevious() => $_has(1);
  @$pb.TagNumber(2)
  void clearPrevious() => $_clearField(2);
  @$pb.TagNumber(2)
  Movement ensurePrevious() => $_ensure(1);

  @$pb.TagNumber(3)
  Movement get lastEvent => $_getN(2);
  @$pb.TagNumber(3)
  set lastEvent(Movement v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasLastEvent() => $_has(2);
  @$pb.TagNumber(3)
  void clearLastEvent() => $_clearField(3);
  @$pb.TagNumber(3)
  Movement ensureLastEvent() => $_ensure(2);
}


const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names');
