@rise-maritime/keelson-js 0.5.3 → 0.6.0-alpha.221.dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/dist/index.d.ts +524 -1
  2. package/dist/index.js +114 -5
  3. package/dist/index.test.js +57 -0
  4. package/dist/interfaces/AlarmAck.d.ts +62 -0
  5. package/dist/interfaces/AlarmAck.js +218 -0
  6. package/dist/interfaces/Configurable.d.ts +24 -18
  7. package/dist/interfaces/Configurable.js +24 -22
  8. package/dist/interfaces/Coordinate.d.ts +38 -0
  9. package/dist/interfaces/Coordinate.js +82 -0
  10. package/dist/interfaces/ErrorResponse.d.ts +1 -1
  11. package/dist/interfaces/ErrorResponse.js +1 -1
  12. package/dist/interfaces/MavlinkCommand.d.ts +24 -18
  13. package/dist/interfaces/MavlinkCommand.js +24 -22
  14. package/dist/interfaces/Mission.d.ts +128 -0
  15. package/dist/interfaces/Mission.js +800 -0
  16. package/dist/interfaces/NetworkPingPong.d.ts +16 -16
  17. package/dist/interfaces/NetworkPingPong.js +16 -16
  18. package/dist/interfaces/ReplayControl.d.ts +72 -30
  19. package/dist/interfaces/ReplayControl.js +72 -58
  20. package/dist/interfaces/Route.d.ts +627 -0
  21. package/dist/interfaces/Route.js +4148 -0
  22. package/dist/interfaces/RoutePlanner.d.ts +152 -0
  23. package/dist/interfaces/RoutePlanner.js +268 -0
  24. package/dist/interfaces/ScenarioCheckpoint.d.ts +154 -0
  25. package/dist/interfaces/ScenarioCheckpoint.js +694 -0
  26. package/dist/interfaces/ScenarioControl.d.ts +144 -0
  27. package/dist/interfaces/ScenarioControl.js +552 -0
  28. package/dist/interfaces/Severity.d.ts +22 -0
  29. package/dist/interfaces/Severity.js +72 -0
  30. package/dist/interfaces/SimulationControl.d.ts +69 -0
  31. package/dist/interfaces/SimulationControl.js +153 -0
  32. package/dist/interfaces/Subscriber.d.ts +24 -18
  33. package/dist/interfaces/Subscriber.js +24 -22
  34. package/dist/interfaces/VehicleCommon.d.ts +1 -32
  35. package/dist/interfaces/VehicleCommon.js +2 -74
  36. package/dist/interfaces/VehicleControl.d.ts +34 -28
  37. package/dist/interfaces/VehicleControl.js +34 -22
  38. package/dist/interfaces/VehicleGeofence.d.ts +26 -19
  39. package/dist/interfaces/VehicleGeofence.js +40 -37
  40. package/dist/interfaces/VehicleLifecycle.d.ts +32 -20
  41. package/dist/interfaces/VehicleLifecycle.js +32 -28
  42. package/dist/interfaces/VehicleMission.d.ts +42 -97
  43. package/dist/interfaces/VehicleMission.js +41 -696
  44. package/dist/interfaces/VehicleNavigation.d.ts +30 -24
  45. package/dist/interfaces/VehicleNavigation.js +30 -22
  46. package/dist/interfaces/VehicleParam.d.ts +48 -24
  47. package/dist/interfaces/VehicleParam.js +48 -40
  48. package/dist/interfaces/VehicleSimulatorControl.d.ts +57 -0
  49. package/dist/interfaces/VehicleSimulatorControl.js +155 -0
  50. package/dist/interfaces/WHEPProxy.d.ts +16 -16
  51. package/dist/interfaces/WHEPProxy.js +16 -16
  52. package/dist/interfaces/foxglove/GeoJSON.d.ts +27 -0
  53. package/dist/interfaces/foxglove/GeoJSON.js +65 -0
  54. package/dist/interfaces/foxglove/LocationFix.d.ts +49 -0
  55. package/dist/interfaces/foxglove/LocationFix.js +246 -0
  56. package/dist/interfaces/google/protobuf/any.d.ts +144 -0
  57. package/dist/interfaces/google/protobuf/any.js +107 -0
  58. package/dist/interfaces/google/protobuf/duration.d.ts +99 -0
  59. package/dist/interfaces/google/protobuf/duration.js +92 -0
  60. package/dist/interfaces/serviceRegistry.d.ts +520 -0
  61. package/dist/interfaces/serviceRegistry.js +40 -0
  62. package/dist/interfaces.json +19 -0
  63. package/dist/payloads/Alarm.d.ts +7 -12
  64. package/dist/payloads/Alarm.js +4 -54
  65. package/dist/payloads/CommandAuthority.d.ts +82 -0
  66. package/dist/payloads/CommandAuthority.js +364 -0
  67. package/dist/payloads/Coordinate.d.ts +39 -0
  68. package/dist/payloads/Coordinate.js +85 -0
  69. package/dist/payloads/EntityHealth.d.ts +9 -0
  70. package/dist/payloads/EntityHealth.js +14 -0
  71. package/dist/payloads/Mission.d.ts +137 -0
  72. package/dist/payloads/Mission.js +826 -0
  73. package/dist/payloads/OperationalAuthority.d.ts +172 -5
  74. package/dist/payloads/OperationalAuthority.js +525 -6
  75. package/dist/payloads/Route.d.ts +649 -0
  76. package/dist/payloads/Route.js +4257 -0
  77. package/dist/payloads/RouteChangeEvent.d.ts +42 -0
  78. package/dist/payloads/RouteChangeEvent.js +223 -0
  79. package/dist/payloads/RouteEditAuthority.d.ts +87 -0
  80. package/dist/payloads/RouteEditAuthority.js +380 -0
  81. package/dist/payloads/RouteExecution.d.ts +64 -0
  82. package/dist/payloads/RouteExecution.js +310 -0
  83. package/dist/payloads/ScenarioStatus.d.ts +160 -0
  84. package/dist/payloads/ScenarioStatus.js +654 -0
  85. package/dist/payloads/Severity.d.ts +13 -6
  86. package/dist/payloads/Severity.js +30 -18
  87. package/dist/payloads/SimulationStatus.d.ts +3 -4
  88. package/dist/payloads/SimulationStatus.js +12 -18
  89. package/dist/payloads/TestObjectStatus.d.ts +154 -0
  90. package/dist/payloads/TestObjectStatus.js +580 -0
  91. package/dist/payloads/VesselType.d.ts +2 -1
  92. package/dist/payloads/VesselType.js +1 -1
  93. package/dist/payloads/Voyage.d.ts +154 -0
  94. package/dist/payloads/Voyage.js +866 -0
  95. package/dist/payloads/WarrantRecord.d.ts +168 -0
  96. package/dist/payloads/WarrantRecord.js +781 -0
  97. package/dist/payloads/foxglove/CompressedPointCloud.d.ts +37 -0
  98. package/dist/payloads/foxglove/CompressedPointCloud.js +185 -0
  99. package/dist/payloads/google/protobuf/any.d.ts +145 -0
  100. package/dist/payloads/google/protobuf/any.js +110 -0
  101. package/dist/payloads/google/protobuf/empty.d.ts +34 -0
  102. package/dist/payloads/google/protobuf/empty.js +50 -0
  103. package/dist/payloads/index.foxglove.d.ts +1 -0
  104. package/dist/payloads/index.foxglove.js +1 -0
  105. package/dist/payloads/index.google.protobuf.d.ts +2 -0
  106. package/dist/payloads/index.google.protobuf.js +2 -0
  107. package/dist/payloads/index.keelson.d.ts +12 -1
  108. package/dist/payloads/index.keelson.js +12 -1
  109. package/dist/qos.json +89 -0
  110. package/dist/subjects.json +30 -1
  111. package/package.json +2 -1
@@ -0,0 +1,4148 @@
1
+ "use strict";
2
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
3
+ // versions:
4
+ // protoc-gen-ts_proto v2.6.1
5
+ // protoc v6.30.2
6
+ // source: Route.proto
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.RouteIssue = exports.RouteChallenge = exports.HazardZone = exports.ActionPoint = exports.ActionPoints = exports.ScheduleElement = exports.Schedule = exports.Schedules = exports.Leg = exports.Waypoint = exports.DefaultWaypoint = exports.Waypoints = exports.RouteInfo = exports.Route = exports.Extensions_Entry_AttributesEntry = exports.Extensions_Entry = exports.Extensions = exports.CircleGeometry = exports.RouteRef = exports.schedule_OriginToJSON = exports.schedule_OriginFromJSON = exports.Schedule_Origin = exports.actionPointRequiredActionToJSON = exports.actionPointRequiredActionFromJSON = exports.ActionPointRequiredAction = exports.routeStatusToJSON = exports.routeStatusFromJSON = exports.RouteStatus = exports.geometryTypeToJSON = exports.geometryTypeFromJSON = exports.GeometryType = exports.colregTrafficIntensityToJSON = exports.colregTrafficIntensityFromJSON = exports.ColregTrafficIntensity = exports.colregSituationToJSON = exports.colregSituationFromJSON = exports.ColregSituation = exports.hazardZoneTypeToJSON = exports.hazardZoneTypeFromJSON = exports.HazardZoneType = exports.routeChallengeTypeToJSON = exports.routeChallengeTypeFromJSON = exports.RouteChallengeType = exports.operationalContextToJSON = exports.operationalContextFromJSON = exports.OperationalContext = exports.autonomyLevelToJSON = exports.autonomyLevelFromJSON = exports.AutonomyLevel = exports.protobufPackage = void 0;
9
+ exports.RouteStatusUpdate = exports.RouteSignature = exports.RouteSignatures = void 0;
10
+ /* eslint-disable */
11
+ const wire_1 = require("@bufbuild/protobuf/wire");
12
+ const Coordinate_1 = require("./Coordinate");
13
+ const Severity_1 = require("./Severity");
14
+ const GeoJSON_1 = require("./foxglove/GeoJSON");
15
+ const LocationFix_1 = require("./foxglove/LocationFix");
16
+ const any_1 = require("./google/protobuf/any");
17
+ const duration_1 = require("./google/protobuf/duration");
18
+ const timestamp_1 = require("./google/protobuf/timestamp");
19
+ exports.protobufPackage = "keelson";
20
+ /** Autonomy level the route is authored for. */
21
+ var AutonomyLevel;
22
+ (function (AutonomyLevel) {
23
+ AutonomyLevel[AutonomyLevel["AUTONOMY_LEVEL_UNSPECIFIED"] = 0] = "AUTONOMY_LEVEL_UNSPECIFIED";
24
+ AutonomyLevel[AutonomyLevel["AUTONOMY_LEVEL_MANUAL_ONLY"] = 1] = "AUTONOMY_LEVEL_MANUAL_ONLY";
25
+ AutonomyLevel[AutonomyLevel["AUTONOMY_LEVEL_REMOTE_CONTROLLED"] = 2] = "AUTONOMY_LEVEL_REMOTE_CONTROLLED";
26
+ AutonomyLevel[AutonomyLevel["AUTONOMY_LEVEL_AUTONOMOUS_SUPERVISED"] = 3] = "AUTONOMY_LEVEL_AUTONOMOUS_SUPERVISED";
27
+ AutonomyLevel[AutonomyLevel["AUTONOMY_LEVEL_AUTONOMOUS_UNSUPERVISED"] = 4] = "AUTONOMY_LEVEL_AUTONOMOUS_UNSUPERVISED";
28
+ AutonomyLevel[AutonomyLevel["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
29
+ })(AutonomyLevel || (exports.AutonomyLevel = AutonomyLevel = {}));
30
+ function autonomyLevelFromJSON(object) {
31
+ switch (object) {
32
+ case 0:
33
+ case "AUTONOMY_LEVEL_UNSPECIFIED":
34
+ return AutonomyLevel.AUTONOMY_LEVEL_UNSPECIFIED;
35
+ case 1:
36
+ case "AUTONOMY_LEVEL_MANUAL_ONLY":
37
+ return AutonomyLevel.AUTONOMY_LEVEL_MANUAL_ONLY;
38
+ case 2:
39
+ case "AUTONOMY_LEVEL_REMOTE_CONTROLLED":
40
+ return AutonomyLevel.AUTONOMY_LEVEL_REMOTE_CONTROLLED;
41
+ case 3:
42
+ case "AUTONOMY_LEVEL_AUTONOMOUS_SUPERVISED":
43
+ return AutonomyLevel.AUTONOMY_LEVEL_AUTONOMOUS_SUPERVISED;
44
+ case 4:
45
+ case "AUTONOMY_LEVEL_AUTONOMOUS_UNSUPERVISED":
46
+ return AutonomyLevel.AUTONOMY_LEVEL_AUTONOMOUS_UNSUPERVISED;
47
+ case -1:
48
+ case "UNRECOGNIZED":
49
+ default:
50
+ return AutonomyLevel.UNRECOGNIZED;
51
+ }
52
+ }
53
+ exports.autonomyLevelFromJSON = autonomyLevelFromJSON;
54
+ function autonomyLevelToJSON(object) {
55
+ switch (object) {
56
+ case AutonomyLevel.AUTONOMY_LEVEL_UNSPECIFIED:
57
+ return "AUTONOMY_LEVEL_UNSPECIFIED";
58
+ case AutonomyLevel.AUTONOMY_LEVEL_MANUAL_ONLY:
59
+ return "AUTONOMY_LEVEL_MANUAL_ONLY";
60
+ case AutonomyLevel.AUTONOMY_LEVEL_REMOTE_CONTROLLED:
61
+ return "AUTONOMY_LEVEL_REMOTE_CONTROLLED";
62
+ case AutonomyLevel.AUTONOMY_LEVEL_AUTONOMOUS_SUPERVISED:
63
+ return "AUTONOMY_LEVEL_AUTONOMOUS_SUPERVISED";
64
+ case AutonomyLevel.AUTONOMY_LEVEL_AUTONOMOUS_UNSUPERVISED:
65
+ return "AUTONOMY_LEVEL_AUTONOMOUS_UNSUPERVISED";
66
+ case AutonomyLevel.UNRECOGNIZED:
67
+ default:
68
+ return "UNRECOGNIZED";
69
+ }
70
+ }
71
+ exports.autonomyLevelToJSON = autonomyLevelToJSON;
72
+ /** Operational context for a leg or waypoint. */
73
+ var OperationalContext;
74
+ (function (OperationalContext) {
75
+ OperationalContext[OperationalContext["OPERATIONAL_CONTEXT_UNSPECIFIED"] = 0] = "OPERATIONAL_CONTEXT_UNSPECIFIED";
76
+ OperationalContext[OperationalContext["OPERATIONAL_CONTEXT_OPEN_SEA"] = 1] = "OPERATIONAL_CONTEXT_OPEN_SEA";
77
+ OperationalContext[OperationalContext["OPERATIONAL_CONTEXT_COASTAL"] = 2] = "OPERATIONAL_CONTEXT_COASTAL";
78
+ OperationalContext[OperationalContext["OPERATIONAL_CONTEXT_ARCHIPELAGO"] = 3] = "OPERATIONAL_CONTEXT_ARCHIPELAGO";
79
+ OperationalContext[OperationalContext["OPERATIONAL_CONTEXT_PORT_APPROACH"] = 4] = "OPERATIONAL_CONTEXT_PORT_APPROACH";
80
+ OperationalContext[OperationalContext["OPERATIONAL_CONTEXT_PORT_AREA"] = 5] = "OPERATIONAL_CONTEXT_PORT_AREA";
81
+ OperationalContext[OperationalContext["OPERATIONAL_CONTEXT_RIVER_WATERS"] = 6] = "OPERATIONAL_CONTEXT_RIVER_WATERS";
82
+ OperationalContext[OperationalContext["OPERATIONAL_CONTEXT_LOCK"] = 7] = "OPERATIONAL_CONTEXT_LOCK";
83
+ OperationalContext[OperationalContext["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
84
+ })(OperationalContext || (exports.OperationalContext = OperationalContext = {}));
85
+ function operationalContextFromJSON(object) {
86
+ switch (object) {
87
+ case 0:
88
+ case "OPERATIONAL_CONTEXT_UNSPECIFIED":
89
+ return OperationalContext.OPERATIONAL_CONTEXT_UNSPECIFIED;
90
+ case 1:
91
+ case "OPERATIONAL_CONTEXT_OPEN_SEA":
92
+ return OperationalContext.OPERATIONAL_CONTEXT_OPEN_SEA;
93
+ case 2:
94
+ case "OPERATIONAL_CONTEXT_COASTAL":
95
+ return OperationalContext.OPERATIONAL_CONTEXT_COASTAL;
96
+ case 3:
97
+ case "OPERATIONAL_CONTEXT_ARCHIPELAGO":
98
+ return OperationalContext.OPERATIONAL_CONTEXT_ARCHIPELAGO;
99
+ case 4:
100
+ case "OPERATIONAL_CONTEXT_PORT_APPROACH":
101
+ return OperationalContext.OPERATIONAL_CONTEXT_PORT_APPROACH;
102
+ case 5:
103
+ case "OPERATIONAL_CONTEXT_PORT_AREA":
104
+ return OperationalContext.OPERATIONAL_CONTEXT_PORT_AREA;
105
+ case 6:
106
+ case "OPERATIONAL_CONTEXT_RIVER_WATERS":
107
+ return OperationalContext.OPERATIONAL_CONTEXT_RIVER_WATERS;
108
+ case 7:
109
+ case "OPERATIONAL_CONTEXT_LOCK":
110
+ return OperationalContext.OPERATIONAL_CONTEXT_LOCK;
111
+ case -1:
112
+ case "UNRECOGNIZED":
113
+ default:
114
+ return OperationalContext.UNRECOGNIZED;
115
+ }
116
+ }
117
+ exports.operationalContextFromJSON = operationalContextFromJSON;
118
+ function operationalContextToJSON(object) {
119
+ switch (object) {
120
+ case OperationalContext.OPERATIONAL_CONTEXT_UNSPECIFIED:
121
+ return "OPERATIONAL_CONTEXT_UNSPECIFIED";
122
+ case OperationalContext.OPERATIONAL_CONTEXT_OPEN_SEA:
123
+ return "OPERATIONAL_CONTEXT_OPEN_SEA";
124
+ case OperationalContext.OPERATIONAL_CONTEXT_COASTAL:
125
+ return "OPERATIONAL_CONTEXT_COASTAL";
126
+ case OperationalContext.OPERATIONAL_CONTEXT_ARCHIPELAGO:
127
+ return "OPERATIONAL_CONTEXT_ARCHIPELAGO";
128
+ case OperationalContext.OPERATIONAL_CONTEXT_PORT_APPROACH:
129
+ return "OPERATIONAL_CONTEXT_PORT_APPROACH";
130
+ case OperationalContext.OPERATIONAL_CONTEXT_PORT_AREA:
131
+ return "OPERATIONAL_CONTEXT_PORT_AREA";
132
+ case OperationalContext.OPERATIONAL_CONTEXT_RIVER_WATERS:
133
+ return "OPERATIONAL_CONTEXT_RIVER_WATERS";
134
+ case OperationalContext.OPERATIONAL_CONTEXT_LOCK:
135
+ return "OPERATIONAL_CONTEXT_LOCK";
136
+ case OperationalContext.UNRECOGNIZED:
137
+ default:
138
+ return "UNRECOGNIZED";
139
+ }
140
+ }
141
+ exports.operationalContextToJSON = operationalContextToJSON;
142
+ /** Categorisation of route challenges (used in structured risk). */
143
+ var RouteChallengeType;
144
+ (function (RouteChallengeType) {
145
+ RouteChallengeType[RouteChallengeType["ROUTE_CHALLENGE_TYPE_UNSPECIFIED"] = 0] = "ROUTE_CHALLENGE_TYPE_UNSPECIFIED";
146
+ RouteChallengeType[RouteChallengeType["ROUTE_CHALLENGE_TYPE_SHALLOW_WATER"] = 1] = "ROUTE_CHALLENGE_TYPE_SHALLOW_WATER";
147
+ RouteChallengeType[RouteChallengeType["ROUTE_CHALLENGE_TYPE_TRAFFIC_DENSITY"] = 2] = "ROUTE_CHALLENGE_TYPE_TRAFFIC_DENSITY";
148
+ RouteChallengeType[RouteChallengeType["ROUTE_CHALLENGE_TYPE_WEATHER_HAZARD"] = 3] = "ROUTE_CHALLENGE_TYPE_WEATHER_HAZARD";
149
+ RouteChallengeType[RouteChallengeType["ROUTE_CHALLENGE_TYPE_PIRACY_SECURITY"] = 4] = "ROUTE_CHALLENGE_TYPE_PIRACY_SECURITY";
150
+ RouteChallengeType[RouteChallengeType["ROUTE_CHALLENGE_TYPE_REGULATORY_LIMIT"] = 5] = "ROUTE_CHALLENGE_TYPE_REGULATORY_LIMIT";
151
+ RouteChallengeType[RouteChallengeType["ROUTE_CHALLENGE_TYPE_TECHNICAL_LIMIT"] = 6] = "ROUTE_CHALLENGE_TYPE_TECHNICAL_LIMIT";
152
+ RouteChallengeType[RouteChallengeType["ROUTE_CHALLENGE_TYPE_OTHER"] = 7] = "ROUTE_CHALLENGE_TYPE_OTHER";
153
+ RouteChallengeType[RouteChallengeType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
154
+ })(RouteChallengeType || (exports.RouteChallengeType = RouteChallengeType = {}));
155
+ function routeChallengeTypeFromJSON(object) {
156
+ switch (object) {
157
+ case 0:
158
+ case "ROUTE_CHALLENGE_TYPE_UNSPECIFIED":
159
+ return RouteChallengeType.ROUTE_CHALLENGE_TYPE_UNSPECIFIED;
160
+ case 1:
161
+ case "ROUTE_CHALLENGE_TYPE_SHALLOW_WATER":
162
+ return RouteChallengeType.ROUTE_CHALLENGE_TYPE_SHALLOW_WATER;
163
+ case 2:
164
+ case "ROUTE_CHALLENGE_TYPE_TRAFFIC_DENSITY":
165
+ return RouteChallengeType.ROUTE_CHALLENGE_TYPE_TRAFFIC_DENSITY;
166
+ case 3:
167
+ case "ROUTE_CHALLENGE_TYPE_WEATHER_HAZARD":
168
+ return RouteChallengeType.ROUTE_CHALLENGE_TYPE_WEATHER_HAZARD;
169
+ case 4:
170
+ case "ROUTE_CHALLENGE_TYPE_PIRACY_SECURITY":
171
+ return RouteChallengeType.ROUTE_CHALLENGE_TYPE_PIRACY_SECURITY;
172
+ case 5:
173
+ case "ROUTE_CHALLENGE_TYPE_REGULATORY_LIMIT":
174
+ return RouteChallengeType.ROUTE_CHALLENGE_TYPE_REGULATORY_LIMIT;
175
+ case 6:
176
+ case "ROUTE_CHALLENGE_TYPE_TECHNICAL_LIMIT":
177
+ return RouteChallengeType.ROUTE_CHALLENGE_TYPE_TECHNICAL_LIMIT;
178
+ case 7:
179
+ case "ROUTE_CHALLENGE_TYPE_OTHER":
180
+ return RouteChallengeType.ROUTE_CHALLENGE_TYPE_OTHER;
181
+ case -1:
182
+ case "UNRECOGNIZED":
183
+ default:
184
+ return RouteChallengeType.UNRECOGNIZED;
185
+ }
186
+ }
187
+ exports.routeChallengeTypeFromJSON = routeChallengeTypeFromJSON;
188
+ function routeChallengeTypeToJSON(object) {
189
+ switch (object) {
190
+ case RouteChallengeType.ROUTE_CHALLENGE_TYPE_UNSPECIFIED:
191
+ return "ROUTE_CHALLENGE_TYPE_UNSPECIFIED";
192
+ case RouteChallengeType.ROUTE_CHALLENGE_TYPE_SHALLOW_WATER:
193
+ return "ROUTE_CHALLENGE_TYPE_SHALLOW_WATER";
194
+ case RouteChallengeType.ROUTE_CHALLENGE_TYPE_TRAFFIC_DENSITY:
195
+ return "ROUTE_CHALLENGE_TYPE_TRAFFIC_DENSITY";
196
+ case RouteChallengeType.ROUTE_CHALLENGE_TYPE_WEATHER_HAZARD:
197
+ return "ROUTE_CHALLENGE_TYPE_WEATHER_HAZARD";
198
+ case RouteChallengeType.ROUTE_CHALLENGE_TYPE_PIRACY_SECURITY:
199
+ return "ROUTE_CHALLENGE_TYPE_PIRACY_SECURITY";
200
+ case RouteChallengeType.ROUTE_CHALLENGE_TYPE_REGULATORY_LIMIT:
201
+ return "ROUTE_CHALLENGE_TYPE_REGULATORY_LIMIT";
202
+ case RouteChallengeType.ROUTE_CHALLENGE_TYPE_TECHNICAL_LIMIT:
203
+ return "ROUTE_CHALLENGE_TYPE_TECHNICAL_LIMIT";
204
+ case RouteChallengeType.ROUTE_CHALLENGE_TYPE_OTHER:
205
+ return "ROUTE_CHALLENGE_TYPE_OTHER";
206
+ case RouteChallengeType.UNRECOGNIZED:
207
+ default:
208
+ return "UNRECOGNIZED";
209
+ }
210
+ }
211
+ exports.routeChallengeTypeToJSON = routeChallengeTypeToJSON;
212
+ /** Hazard zone classification. */
213
+ var HazardZoneType;
214
+ (function (HazardZoneType) {
215
+ HazardZoneType[HazardZoneType["HAZARD_ZONE_TYPE_UNSPECIFIED"] = 0] = "HAZARD_ZONE_TYPE_UNSPECIFIED";
216
+ HazardZoneType[HazardZoneType["HAZARD_ZONE_TYPE_STATIC_NOGO"] = 1] = "HAZARD_ZONE_TYPE_STATIC_NOGO";
217
+ HazardZoneType[HazardZoneType["HAZARD_ZONE_TYPE_DYNAMIC_NOGO"] = 2] = "HAZARD_ZONE_TYPE_DYNAMIC_NOGO";
218
+ HazardZoneType[HazardZoneType["HAZARD_ZONE_TYPE_TRAFFIC"] = 3] = "HAZARD_ZONE_TYPE_TRAFFIC";
219
+ HazardZoneType[HazardZoneType["HAZARD_ZONE_TYPE_WEATHER"] = 4] = "HAZARD_ZONE_TYPE_WEATHER";
220
+ HazardZoneType[HazardZoneType["HAZARD_ZONE_TYPE_ENVIRONMENTAL"] = 5] = "HAZARD_ZONE_TYPE_ENVIRONMENTAL";
221
+ HazardZoneType[HazardZoneType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
222
+ })(HazardZoneType || (exports.HazardZoneType = HazardZoneType = {}));
223
+ function hazardZoneTypeFromJSON(object) {
224
+ switch (object) {
225
+ case 0:
226
+ case "HAZARD_ZONE_TYPE_UNSPECIFIED":
227
+ return HazardZoneType.HAZARD_ZONE_TYPE_UNSPECIFIED;
228
+ case 1:
229
+ case "HAZARD_ZONE_TYPE_STATIC_NOGO":
230
+ return HazardZoneType.HAZARD_ZONE_TYPE_STATIC_NOGO;
231
+ case 2:
232
+ case "HAZARD_ZONE_TYPE_DYNAMIC_NOGO":
233
+ return HazardZoneType.HAZARD_ZONE_TYPE_DYNAMIC_NOGO;
234
+ case 3:
235
+ case "HAZARD_ZONE_TYPE_TRAFFIC":
236
+ return HazardZoneType.HAZARD_ZONE_TYPE_TRAFFIC;
237
+ case 4:
238
+ case "HAZARD_ZONE_TYPE_WEATHER":
239
+ return HazardZoneType.HAZARD_ZONE_TYPE_WEATHER;
240
+ case 5:
241
+ case "HAZARD_ZONE_TYPE_ENVIRONMENTAL":
242
+ return HazardZoneType.HAZARD_ZONE_TYPE_ENVIRONMENTAL;
243
+ case -1:
244
+ case "UNRECOGNIZED":
245
+ default:
246
+ return HazardZoneType.UNRECOGNIZED;
247
+ }
248
+ }
249
+ exports.hazardZoneTypeFromJSON = hazardZoneTypeFromJSON;
250
+ function hazardZoneTypeToJSON(object) {
251
+ switch (object) {
252
+ case HazardZoneType.HAZARD_ZONE_TYPE_UNSPECIFIED:
253
+ return "HAZARD_ZONE_TYPE_UNSPECIFIED";
254
+ case HazardZoneType.HAZARD_ZONE_TYPE_STATIC_NOGO:
255
+ return "HAZARD_ZONE_TYPE_STATIC_NOGO";
256
+ case HazardZoneType.HAZARD_ZONE_TYPE_DYNAMIC_NOGO:
257
+ return "HAZARD_ZONE_TYPE_DYNAMIC_NOGO";
258
+ case HazardZoneType.HAZARD_ZONE_TYPE_TRAFFIC:
259
+ return "HAZARD_ZONE_TYPE_TRAFFIC";
260
+ case HazardZoneType.HAZARD_ZONE_TYPE_WEATHER:
261
+ return "HAZARD_ZONE_TYPE_WEATHER";
262
+ case HazardZoneType.HAZARD_ZONE_TYPE_ENVIRONMENTAL:
263
+ return "HAZARD_ZONE_TYPE_ENVIRONMENTAL";
264
+ case HazardZoneType.UNRECOGNIZED:
265
+ default:
266
+ return "UNRECOGNIZED";
267
+ }
268
+ }
269
+ exports.hazardZoneTypeToJSON = hazardZoneTypeToJSON;
270
+ /** COLREG encounter situation for an annotated leg. */
271
+ var ColregSituation;
272
+ (function (ColregSituation) {
273
+ ColregSituation[ColregSituation["COLREG_SITUATION_UNSPECIFIED"] = 0] = "COLREG_SITUATION_UNSPECIFIED";
274
+ ColregSituation[ColregSituation["COLREG_SITUATION_OVERTAKING"] = 1] = "COLREG_SITUATION_OVERTAKING";
275
+ ColregSituation[ColregSituation["COLREG_SITUATION_CROSSING_STBD"] = 2] = "COLREG_SITUATION_CROSSING_STBD";
276
+ ColregSituation[ColregSituation["COLREG_SITUATION_CROSSING_PORT"] = 3] = "COLREG_SITUATION_CROSSING_PORT";
277
+ ColregSituation[ColregSituation["COLREG_SITUATION_HEAD_ON"] = 4] = "COLREG_SITUATION_HEAD_ON";
278
+ ColregSituation[ColregSituation["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
279
+ })(ColregSituation || (exports.ColregSituation = ColregSituation = {}));
280
+ function colregSituationFromJSON(object) {
281
+ switch (object) {
282
+ case 0:
283
+ case "COLREG_SITUATION_UNSPECIFIED":
284
+ return ColregSituation.COLREG_SITUATION_UNSPECIFIED;
285
+ case 1:
286
+ case "COLREG_SITUATION_OVERTAKING":
287
+ return ColregSituation.COLREG_SITUATION_OVERTAKING;
288
+ case 2:
289
+ case "COLREG_SITUATION_CROSSING_STBD":
290
+ return ColregSituation.COLREG_SITUATION_CROSSING_STBD;
291
+ case 3:
292
+ case "COLREG_SITUATION_CROSSING_PORT":
293
+ return ColregSituation.COLREG_SITUATION_CROSSING_PORT;
294
+ case 4:
295
+ case "COLREG_SITUATION_HEAD_ON":
296
+ return ColregSituation.COLREG_SITUATION_HEAD_ON;
297
+ case -1:
298
+ case "UNRECOGNIZED":
299
+ default:
300
+ return ColregSituation.UNRECOGNIZED;
301
+ }
302
+ }
303
+ exports.colregSituationFromJSON = colregSituationFromJSON;
304
+ function colregSituationToJSON(object) {
305
+ switch (object) {
306
+ case ColregSituation.COLREG_SITUATION_UNSPECIFIED:
307
+ return "COLREG_SITUATION_UNSPECIFIED";
308
+ case ColregSituation.COLREG_SITUATION_OVERTAKING:
309
+ return "COLREG_SITUATION_OVERTAKING";
310
+ case ColregSituation.COLREG_SITUATION_CROSSING_STBD:
311
+ return "COLREG_SITUATION_CROSSING_STBD";
312
+ case ColregSituation.COLREG_SITUATION_CROSSING_PORT:
313
+ return "COLREG_SITUATION_CROSSING_PORT";
314
+ case ColregSituation.COLREG_SITUATION_HEAD_ON:
315
+ return "COLREG_SITUATION_HEAD_ON";
316
+ case ColregSituation.UNRECOGNIZED:
317
+ default:
318
+ return "UNRECOGNIZED";
319
+ }
320
+ }
321
+ exports.colregSituationToJSON = colregSituationToJSON;
322
+ /** Annotated traffic intensity for a leg. */
323
+ var ColregTrafficIntensity;
324
+ (function (ColregTrafficIntensity) {
325
+ ColregTrafficIntensity[ColregTrafficIntensity["COLREG_TRAFFIC_INTENSITY_UNSPECIFIED"] = 0] = "COLREG_TRAFFIC_INTENSITY_UNSPECIFIED";
326
+ ColregTrafficIntensity[ColregTrafficIntensity["COLREG_TRAFFIC_INTENSITY_NONE"] = 1] = "COLREG_TRAFFIC_INTENSITY_NONE";
327
+ ColregTrafficIntensity[ColregTrafficIntensity["COLREG_TRAFFIC_INTENSITY_LIGHT"] = 2] = "COLREG_TRAFFIC_INTENSITY_LIGHT";
328
+ ColregTrafficIntensity[ColregTrafficIntensity["COLREG_TRAFFIC_INTENSITY_MODERATE"] = 3] = "COLREG_TRAFFIC_INTENSITY_MODERATE";
329
+ ColregTrafficIntensity[ColregTrafficIntensity["COLREG_TRAFFIC_INTENSITY_HEAVY"] = 4] = "COLREG_TRAFFIC_INTENSITY_HEAVY";
330
+ ColregTrafficIntensity[ColregTrafficIntensity["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
331
+ })(ColregTrafficIntensity || (exports.ColregTrafficIntensity = ColregTrafficIntensity = {}));
332
+ function colregTrafficIntensityFromJSON(object) {
333
+ switch (object) {
334
+ case 0:
335
+ case "COLREG_TRAFFIC_INTENSITY_UNSPECIFIED":
336
+ return ColregTrafficIntensity.COLREG_TRAFFIC_INTENSITY_UNSPECIFIED;
337
+ case 1:
338
+ case "COLREG_TRAFFIC_INTENSITY_NONE":
339
+ return ColregTrafficIntensity.COLREG_TRAFFIC_INTENSITY_NONE;
340
+ case 2:
341
+ case "COLREG_TRAFFIC_INTENSITY_LIGHT":
342
+ return ColregTrafficIntensity.COLREG_TRAFFIC_INTENSITY_LIGHT;
343
+ case 3:
344
+ case "COLREG_TRAFFIC_INTENSITY_MODERATE":
345
+ return ColregTrafficIntensity.COLREG_TRAFFIC_INTENSITY_MODERATE;
346
+ case 4:
347
+ case "COLREG_TRAFFIC_INTENSITY_HEAVY":
348
+ return ColregTrafficIntensity.COLREG_TRAFFIC_INTENSITY_HEAVY;
349
+ case -1:
350
+ case "UNRECOGNIZED":
351
+ default:
352
+ return ColregTrafficIntensity.UNRECOGNIZED;
353
+ }
354
+ }
355
+ exports.colregTrafficIntensityFromJSON = colregTrafficIntensityFromJSON;
356
+ function colregTrafficIntensityToJSON(object) {
357
+ switch (object) {
358
+ case ColregTrafficIntensity.COLREG_TRAFFIC_INTENSITY_UNSPECIFIED:
359
+ return "COLREG_TRAFFIC_INTENSITY_UNSPECIFIED";
360
+ case ColregTrafficIntensity.COLREG_TRAFFIC_INTENSITY_NONE:
361
+ return "COLREG_TRAFFIC_INTENSITY_NONE";
362
+ case ColregTrafficIntensity.COLREG_TRAFFIC_INTENSITY_LIGHT:
363
+ return "COLREG_TRAFFIC_INTENSITY_LIGHT";
364
+ case ColregTrafficIntensity.COLREG_TRAFFIC_INTENSITY_MODERATE:
365
+ return "COLREG_TRAFFIC_INTENSITY_MODERATE";
366
+ case ColregTrafficIntensity.COLREG_TRAFFIC_INTENSITY_HEAVY:
367
+ return "COLREG_TRAFFIC_INTENSITY_HEAVY";
368
+ case ColregTrafficIntensity.UNRECOGNIZED:
369
+ default:
370
+ return "UNRECOGNIZED";
371
+ }
372
+ }
373
+ exports.colregTrafficIntensityToJSON = colregTrafficIntensityToJSON;
374
+ /** Geometry type for a leg between waypoints. */
375
+ var GeometryType;
376
+ (function (GeometryType) {
377
+ GeometryType[GeometryType["GEOMETRY_TYPE_UNSPECIFIED"] = 0] = "GEOMETRY_TYPE_UNSPECIFIED";
378
+ GeometryType[GeometryType["GEOMETRY_TYPE_LOXODROME"] = 1] = "GEOMETRY_TYPE_LOXODROME";
379
+ GeometryType[GeometryType["GEOMETRY_TYPE_ORTHODROME"] = 2] = "GEOMETRY_TYPE_ORTHODROME";
380
+ GeometryType[GeometryType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
381
+ })(GeometryType || (exports.GeometryType = GeometryType = {}));
382
+ function geometryTypeFromJSON(object) {
383
+ switch (object) {
384
+ case 0:
385
+ case "GEOMETRY_TYPE_UNSPECIFIED":
386
+ return GeometryType.GEOMETRY_TYPE_UNSPECIFIED;
387
+ case 1:
388
+ case "GEOMETRY_TYPE_LOXODROME":
389
+ return GeometryType.GEOMETRY_TYPE_LOXODROME;
390
+ case 2:
391
+ case "GEOMETRY_TYPE_ORTHODROME":
392
+ return GeometryType.GEOMETRY_TYPE_ORTHODROME;
393
+ case -1:
394
+ case "UNRECOGNIZED":
395
+ default:
396
+ return GeometryType.UNRECOGNIZED;
397
+ }
398
+ }
399
+ exports.geometryTypeFromJSON = geometryTypeFromJSON;
400
+ function geometryTypeToJSON(object) {
401
+ switch (object) {
402
+ case GeometryType.GEOMETRY_TYPE_UNSPECIFIED:
403
+ return "GEOMETRY_TYPE_UNSPECIFIED";
404
+ case GeometryType.GEOMETRY_TYPE_LOXODROME:
405
+ return "GEOMETRY_TYPE_LOXODROME";
406
+ case GeometryType.GEOMETRY_TYPE_ORTHODROME:
407
+ return "GEOMETRY_TYPE_ORTHODROME";
408
+ case GeometryType.UNRECOGNIZED:
409
+ default:
410
+ return "UNRECOGNIZED";
411
+ }
412
+ }
413
+ exports.geometryTypeToJSON = geometryTypeToJSON;
414
+ /**
415
+ * Lifecycle status for the route artifact (authoring + quality).
416
+ * Execution-side state (vessel sailing, paused, completed) lives on
417
+ * keelson.VoyageStatus and is intentionally NOT duplicated here.
418
+ */
419
+ var RouteStatus;
420
+ (function (RouteStatus) {
421
+ RouteStatus[RouteStatus["ROUTE_STATUS_UNSPECIFIED"] = 0] = "ROUTE_STATUS_UNSPECIFIED";
422
+ RouteStatus[RouteStatus["ROUTE_STATUS_INITIAL"] = 1] = "ROUTE_STATUS_INITIAL";
423
+ RouteStatus[RouteStatus["ROUTE_STATUS_PLANNED"] = 2] = "ROUTE_STATUS_PLANNED";
424
+ RouteStatus[RouteStatus["ROUTE_STATUS_RECOMMENDED"] = 3] = "ROUTE_STATUS_RECOMMENDED";
425
+ RouteStatus[RouteStatus["ROUTE_STATUS_ACKNOWLEDGED"] = 4] = "ROUTE_STATUS_ACKNOWLEDGED";
426
+ /** ROUTE_STATUS_TERMINATED - Route artifact retired / superseded. */
427
+ RouteStatus[RouteStatus["ROUTE_STATUS_TERMINATED"] = 6] = "ROUTE_STATUS_TERMINATED";
428
+ RouteStatus[RouteStatus["ROUTE_STATUS_ERRORS"] = 7] = "ROUTE_STATUS_ERRORS";
429
+ RouteStatus[RouteStatus["ROUTE_STATUS_INCOMPLETE"] = 8] = "ROUTE_STATUS_INCOMPLETE";
430
+ RouteStatus[RouteStatus["ROUTE_STATUS_ROUTE_ISSUES"] = 9] = "ROUTE_STATUS_ROUTE_ISSUES";
431
+ RouteStatus[RouteStatus["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
432
+ })(RouteStatus || (exports.RouteStatus = RouteStatus = {}));
433
+ function routeStatusFromJSON(object) {
434
+ switch (object) {
435
+ case 0:
436
+ case "ROUTE_STATUS_UNSPECIFIED":
437
+ return RouteStatus.ROUTE_STATUS_UNSPECIFIED;
438
+ case 1:
439
+ case "ROUTE_STATUS_INITIAL":
440
+ return RouteStatus.ROUTE_STATUS_INITIAL;
441
+ case 2:
442
+ case "ROUTE_STATUS_PLANNED":
443
+ return RouteStatus.ROUTE_STATUS_PLANNED;
444
+ case 3:
445
+ case "ROUTE_STATUS_RECOMMENDED":
446
+ return RouteStatus.ROUTE_STATUS_RECOMMENDED;
447
+ case 4:
448
+ case "ROUTE_STATUS_ACKNOWLEDGED":
449
+ return RouteStatus.ROUTE_STATUS_ACKNOWLEDGED;
450
+ case 6:
451
+ case "ROUTE_STATUS_TERMINATED":
452
+ return RouteStatus.ROUTE_STATUS_TERMINATED;
453
+ case 7:
454
+ case "ROUTE_STATUS_ERRORS":
455
+ return RouteStatus.ROUTE_STATUS_ERRORS;
456
+ case 8:
457
+ case "ROUTE_STATUS_INCOMPLETE":
458
+ return RouteStatus.ROUTE_STATUS_INCOMPLETE;
459
+ case 9:
460
+ case "ROUTE_STATUS_ROUTE_ISSUES":
461
+ return RouteStatus.ROUTE_STATUS_ROUTE_ISSUES;
462
+ case -1:
463
+ case "UNRECOGNIZED":
464
+ default:
465
+ return RouteStatus.UNRECOGNIZED;
466
+ }
467
+ }
468
+ exports.routeStatusFromJSON = routeStatusFromJSON;
469
+ function routeStatusToJSON(object) {
470
+ switch (object) {
471
+ case RouteStatus.ROUTE_STATUS_UNSPECIFIED:
472
+ return "ROUTE_STATUS_UNSPECIFIED";
473
+ case RouteStatus.ROUTE_STATUS_INITIAL:
474
+ return "ROUTE_STATUS_INITIAL";
475
+ case RouteStatus.ROUTE_STATUS_PLANNED:
476
+ return "ROUTE_STATUS_PLANNED";
477
+ case RouteStatus.ROUTE_STATUS_RECOMMENDED:
478
+ return "ROUTE_STATUS_RECOMMENDED";
479
+ case RouteStatus.ROUTE_STATUS_ACKNOWLEDGED:
480
+ return "ROUTE_STATUS_ACKNOWLEDGED";
481
+ case RouteStatus.ROUTE_STATUS_TERMINATED:
482
+ return "ROUTE_STATUS_TERMINATED";
483
+ case RouteStatus.ROUTE_STATUS_ERRORS:
484
+ return "ROUTE_STATUS_ERRORS";
485
+ case RouteStatus.ROUTE_STATUS_INCOMPLETE:
486
+ return "ROUTE_STATUS_INCOMPLETE";
487
+ case RouteStatus.ROUTE_STATUS_ROUTE_ISSUES:
488
+ return "ROUTE_STATUS_ROUTE_ISSUES";
489
+ case RouteStatus.UNRECOGNIZED:
490
+ default:
491
+ return "UNRECOGNIZED";
492
+ }
493
+ }
494
+ exports.routeStatusToJSON = routeStatusToJSON;
495
+ /** Required action for an ActionPoint. */
496
+ var ActionPointRequiredAction;
497
+ (function (ActionPointRequiredAction) {
498
+ ActionPointRequiredAction[ActionPointRequiredAction["ACTION_POINT_REQUIRED_ACTION_UNSPECIFIED"] = 0] = "ACTION_POINT_REQUIRED_ACTION_UNSPECIFIED";
499
+ ActionPointRequiredAction[ActionPointRequiredAction["ACTION_POINT_REQUIRED_ACTION_USER_DEFINED"] = 1] = "ACTION_POINT_REQUIRED_ACTION_USER_DEFINED";
500
+ ActionPointRequiredAction[ActionPointRequiredAction["ACTION_POINT_REQUIRED_ACTION_REPORT"] = 2] = "ACTION_POINT_REQUIRED_ACTION_REPORT";
501
+ /** ACTION_POINT_REQUIRED_ACTION_UKCM - Under-keel clearance monitoring */
502
+ ActionPointRequiredAction[ActionPointRequiredAction["ACTION_POINT_REQUIRED_ACTION_UKCM"] = 3] = "ACTION_POINT_REQUIRED_ACTION_UKCM";
503
+ ActionPointRequiredAction[ActionPointRequiredAction["ACTION_POINT_REQUIRED_ACTION_NOTE"] = 4] = "ACTION_POINT_REQUIRED_ACTION_NOTE";
504
+ ActionPointRequiredAction[ActionPointRequiredAction["ACTION_POINT_REQUIRED_ACTION_PILOT_BOARDING"] = 5] = "ACTION_POINT_REQUIRED_ACTION_PILOT_BOARDING";
505
+ ActionPointRequiredAction[ActionPointRequiredAction["ACTION_POINT_REQUIRED_ACTION_FUEL_SWITCH"] = 6] = "ACTION_POINT_REQUIRED_ACTION_FUEL_SWITCH";
506
+ ActionPointRequiredAction[ActionPointRequiredAction["ACTION_POINT_REQUIRED_ACTION_MODE_SWITCH"] = 7] = "ACTION_POINT_REQUIRED_ACTION_MODE_SWITCH";
507
+ ActionPointRequiredAction[ActionPointRequiredAction["ACTION_POINT_REQUIRED_ACTION_INCREASE_LOOKOUT"] = 8] = "ACTION_POINT_REQUIRED_ACTION_INCREASE_LOOKOUT";
508
+ ActionPointRequiredAction[ActionPointRequiredAction["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
509
+ })(ActionPointRequiredAction || (exports.ActionPointRequiredAction = ActionPointRequiredAction = {}));
510
+ function actionPointRequiredActionFromJSON(object) {
511
+ switch (object) {
512
+ case 0:
513
+ case "ACTION_POINT_REQUIRED_ACTION_UNSPECIFIED":
514
+ return ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_UNSPECIFIED;
515
+ case 1:
516
+ case "ACTION_POINT_REQUIRED_ACTION_USER_DEFINED":
517
+ return ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_USER_DEFINED;
518
+ case 2:
519
+ case "ACTION_POINT_REQUIRED_ACTION_REPORT":
520
+ return ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_REPORT;
521
+ case 3:
522
+ case "ACTION_POINT_REQUIRED_ACTION_UKCM":
523
+ return ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_UKCM;
524
+ case 4:
525
+ case "ACTION_POINT_REQUIRED_ACTION_NOTE":
526
+ return ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_NOTE;
527
+ case 5:
528
+ case "ACTION_POINT_REQUIRED_ACTION_PILOT_BOARDING":
529
+ return ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_PILOT_BOARDING;
530
+ case 6:
531
+ case "ACTION_POINT_REQUIRED_ACTION_FUEL_SWITCH":
532
+ return ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_FUEL_SWITCH;
533
+ case 7:
534
+ case "ACTION_POINT_REQUIRED_ACTION_MODE_SWITCH":
535
+ return ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_MODE_SWITCH;
536
+ case 8:
537
+ case "ACTION_POINT_REQUIRED_ACTION_INCREASE_LOOKOUT":
538
+ return ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_INCREASE_LOOKOUT;
539
+ case -1:
540
+ case "UNRECOGNIZED":
541
+ default:
542
+ return ActionPointRequiredAction.UNRECOGNIZED;
543
+ }
544
+ }
545
+ exports.actionPointRequiredActionFromJSON = actionPointRequiredActionFromJSON;
546
+ function actionPointRequiredActionToJSON(object) {
547
+ switch (object) {
548
+ case ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_UNSPECIFIED:
549
+ return "ACTION_POINT_REQUIRED_ACTION_UNSPECIFIED";
550
+ case ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_USER_DEFINED:
551
+ return "ACTION_POINT_REQUIRED_ACTION_USER_DEFINED";
552
+ case ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_REPORT:
553
+ return "ACTION_POINT_REQUIRED_ACTION_REPORT";
554
+ case ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_UKCM:
555
+ return "ACTION_POINT_REQUIRED_ACTION_UKCM";
556
+ case ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_NOTE:
557
+ return "ACTION_POINT_REQUIRED_ACTION_NOTE";
558
+ case ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_PILOT_BOARDING:
559
+ return "ACTION_POINT_REQUIRED_ACTION_PILOT_BOARDING";
560
+ case ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_FUEL_SWITCH:
561
+ return "ACTION_POINT_REQUIRED_ACTION_FUEL_SWITCH";
562
+ case ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_MODE_SWITCH:
563
+ return "ACTION_POINT_REQUIRED_ACTION_MODE_SWITCH";
564
+ case ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_INCREASE_LOOKOUT:
565
+ return "ACTION_POINT_REQUIRED_ACTION_INCREASE_LOOKOUT";
566
+ case ActionPointRequiredAction.UNRECOGNIZED:
567
+ default:
568
+ return "UNRECOGNIZED";
569
+ }
570
+ }
571
+ exports.actionPointRequiredActionToJSON = actionPointRequiredActionToJSON;
572
+ /** Whether this schedule was authored manually or computed. */
573
+ var Schedule_Origin;
574
+ (function (Schedule_Origin) {
575
+ Schedule_Origin[Schedule_Origin["ORIGIN_UNSPECIFIED"] = 0] = "ORIGIN_UNSPECIFIED";
576
+ Schedule_Origin[Schedule_Origin["ORIGIN_MANUAL"] = 1] = "ORIGIN_MANUAL";
577
+ Schedule_Origin[Schedule_Origin["ORIGIN_CALCULATED"] = 2] = "ORIGIN_CALCULATED";
578
+ Schedule_Origin[Schedule_Origin["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
579
+ })(Schedule_Origin || (exports.Schedule_Origin = Schedule_Origin = {}));
580
+ function schedule_OriginFromJSON(object) {
581
+ switch (object) {
582
+ case 0:
583
+ case "ORIGIN_UNSPECIFIED":
584
+ return Schedule_Origin.ORIGIN_UNSPECIFIED;
585
+ case 1:
586
+ case "ORIGIN_MANUAL":
587
+ return Schedule_Origin.ORIGIN_MANUAL;
588
+ case 2:
589
+ case "ORIGIN_CALCULATED":
590
+ return Schedule_Origin.ORIGIN_CALCULATED;
591
+ case -1:
592
+ case "UNRECOGNIZED":
593
+ default:
594
+ return Schedule_Origin.UNRECOGNIZED;
595
+ }
596
+ }
597
+ exports.schedule_OriginFromJSON = schedule_OriginFromJSON;
598
+ function schedule_OriginToJSON(object) {
599
+ switch (object) {
600
+ case Schedule_Origin.ORIGIN_UNSPECIFIED:
601
+ return "ORIGIN_UNSPECIFIED";
602
+ case Schedule_Origin.ORIGIN_MANUAL:
603
+ return "ORIGIN_MANUAL";
604
+ case Schedule_Origin.ORIGIN_CALCULATED:
605
+ return "ORIGIN_CALCULATED";
606
+ case Schedule_Origin.UNRECOGNIZED:
607
+ default:
608
+ return "UNRECOGNIZED";
609
+ }
610
+ }
611
+ exports.schedule_OriginToJSON = schedule_OriginToJSON;
612
+ function createBaseRouteRef() {
613
+ return { routeId: "", routeEditionNumber: 0 };
614
+ }
615
+ exports.RouteRef = {
616
+ encode(message, writer = new wire_1.BinaryWriter()) {
617
+ if (message.routeId !== "") {
618
+ writer.uint32(10).string(message.routeId);
619
+ }
620
+ if (message.routeEditionNumber !== 0) {
621
+ writer.uint32(16).uint32(message.routeEditionNumber);
622
+ }
623
+ return writer;
624
+ },
625
+ decode(input, length) {
626
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
627
+ let end = length === undefined ? reader.len : reader.pos + length;
628
+ const message = createBaseRouteRef();
629
+ while (reader.pos < end) {
630
+ const tag = reader.uint32();
631
+ switch (tag >>> 3) {
632
+ case 1: {
633
+ if (tag !== 10) {
634
+ break;
635
+ }
636
+ message.routeId = reader.string();
637
+ continue;
638
+ }
639
+ case 2: {
640
+ if (tag !== 16) {
641
+ break;
642
+ }
643
+ message.routeEditionNumber = reader.uint32();
644
+ continue;
645
+ }
646
+ }
647
+ if ((tag & 7) === 4 || tag === 0) {
648
+ break;
649
+ }
650
+ reader.skip(tag & 7);
651
+ }
652
+ return message;
653
+ },
654
+ fromJSON(object) {
655
+ return {
656
+ routeId: isSet(object.routeId) ? globalThis.String(object.routeId) : "",
657
+ routeEditionNumber: isSet(object.routeEditionNumber) ? globalThis.Number(object.routeEditionNumber) : 0,
658
+ };
659
+ },
660
+ toJSON(message) {
661
+ const obj = {};
662
+ if (message.routeId !== "") {
663
+ obj.routeId = message.routeId;
664
+ }
665
+ if (message.routeEditionNumber !== 0) {
666
+ obj.routeEditionNumber = Math.round(message.routeEditionNumber);
667
+ }
668
+ return obj;
669
+ },
670
+ create(base) {
671
+ return exports.RouteRef.fromPartial(base ?? {});
672
+ },
673
+ fromPartial(object) {
674
+ const message = createBaseRouteRef();
675
+ message.routeId = object.routeId ?? "";
676
+ message.routeEditionNumber = object.routeEditionNumber ?? 0;
677
+ return message;
678
+ },
679
+ };
680
+ function createBaseCircleGeometry() {
681
+ return { centre: undefined, radiusM: 0 };
682
+ }
683
+ exports.CircleGeometry = {
684
+ encode(message, writer = new wire_1.BinaryWriter()) {
685
+ if (message.centre !== undefined) {
686
+ LocationFix_1.LocationFix.encode(message.centre, writer.uint32(10).fork()).join();
687
+ }
688
+ if (message.radiusM !== 0) {
689
+ writer.uint32(21).float(message.radiusM);
690
+ }
691
+ return writer;
692
+ },
693
+ decode(input, length) {
694
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
695
+ let end = length === undefined ? reader.len : reader.pos + length;
696
+ const message = createBaseCircleGeometry();
697
+ while (reader.pos < end) {
698
+ const tag = reader.uint32();
699
+ switch (tag >>> 3) {
700
+ case 1: {
701
+ if (tag !== 10) {
702
+ break;
703
+ }
704
+ message.centre = LocationFix_1.LocationFix.decode(reader, reader.uint32());
705
+ continue;
706
+ }
707
+ case 2: {
708
+ if (tag !== 21) {
709
+ break;
710
+ }
711
+ message.radiusM = reader.float();
712
+ continue;
713
+ }
714
+ }
715
+ if ((tag & 7) === 4 || tag === 0) {
716
+ break;
717
+ }
718
+ reader.skip(tag & 7);
719
+ }
720
+ return message;
721
+ },
722
+ fromJSON(object) {
723
+ return {
724
+ centre: isSet(object.centre) ? LocationFix_1.LocationFix.fromJSON(object.centre) : undefined,
725
+ radiusM: isSet(object.radiusM) ? globalThis.Number(object.radiusM) : 0,
726
+ };
727
+ },
728
+ toJSON(message) {
729
+ const obj = {};
730
+ if (message.centre !== undefined) {
731
+ obj.centre = LocationFix_1.LocationFix.toJSON(message.centre);
732
+ }
733
+ if (message.radiusM !== 0) {
734
+ obj.radiusM = message.radiusM;
735
+ }
736
+ return obj;
737
+ },
738
+ create(base) {
739
+ return exports.CircleGeometry.fromPartial(base ?? {});
740
+ },
741
+ fromPartial(object) {
742
+ const message = createBaseCircleGeometry();
743
+ message.centre = (object.centre !== undefined && object.centre !== null)
744
+ ? LocationFix_1.LocationFix.fromPartial(object.centre)
745
+ : undefined;
746
+ message.radiusM = object.radiusM ?? 0;
747
+ return message;
748
+ },
749
+ };
750
+ function createBaseExtensions() {
751
+ return { entries: [] };
752
+ }
753
+ exports.Extensions = {
754
+ encode(message, writer = new wire_1.BinaryWriter()) {
755
+ for (const v of message.entries) {
756
+ exports.Extensions_Entry.encode(v, writer.uint32(10).fork()).join();
757
+ }
758
+ return writer;
759
+ },
760
+ decode(input, length) {
761
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
762
+ let end = length === undefined ? reader.len : reader.pos + length;
763
+ const message = createBaseExtensions();
764
+ while (reader.pos < end) {
765
+ const tag = reader.uint32();
766
+ switch (tag >>> 3) {
767
+ case 1: {
768
+ if (tag !== 10) {
769
+ break;
770
+ }
771
+ message.entries.push(exports.Extensions_Entry.decode(reader, reader.uint32()));
772
+ continue;
773
+ }
774
+ }
775
+ if ((tag & 7) === 4 || tag === 0) {
776
+ break;
777
+ }
778
+ reader.skip(tag & 7);
779
+ }
780
+ return message;
781
+ },
782
+ fromJSON(object) {
783
+ return {
784
+ entries: globalThis.Array.isArray(object?.entries)
785
+ ? object.entries.map((e) => exports.Extensions_Entry.fromJSON(e))
786
+ : [],
787
+ };
788
+ },
789
+ toJSON(message) {
790
+ const obj = {};
791
+ if (message.entries?.length) {
792
+ obj.entries = message.entries.map((e) => exports.Extensions_Entry.toJSON(e));
793
+ }
794
+ return obj;
795
+ },
796
+ create(base) {
797
+ return exports.Extensions.fromPartial(base ?? {});
798
+ },
799
+ fromPartial(object) {
800
+ const message = createBaseExtensions();
801
+ message.entries = object.entries?.map((e) => exports.Extensions_Entry.fromPartial(e)) || [];
802
+ return message;
803
+ },
804
+ };
805
+ function createBaseExtensions_Entry() {
806
+ return { manufacturer: "", name: "", version: "", payload: undefined, attributes: {} };
807
+ }
808
+ exports.Extensions_Entry = {
809
+ encode(message, writer = new wire_1.BinaryWriter()) {
810
+ if (message.manufacturer !== "") {
811
+ writer.uint32(10).string(message.manufacturer);
812
+ }
813
+ if (message.name !== "") {
814
+ writer.uint32(18).string(message.name);
815
+ }
816
+ if (message.version !== "") {
817
+ writer.uint32(26).string(message.version);
818
+ }
819
+ if (message.payload !== undefined) {
820
+ any_1.Any.encode(message.payload, writer.uint32(34).fork()).join();
821
+ }
822
+ Object.entries(message.attributes).forEach(([key, value]) => {
823
+ exports.Extensions_Entry_AttributesEntry.encode({ key: key, value }, writer.uint32(42).fork()).join();
824
+ });
825
+ return writer;
826
+ },
827
+ decode(input, length) {
828
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
829
+ let end = length === undefined ? reader.len : reader.pos + length;
830
+ const message = createBaseExtensions_Entry();
831
+ while (reader.pos < end) {
832
+ const tag = reader.uint32();
833
+ switch (tag >>> 3) {
834
+ case 1: {
835
+ if (tag !== 10) {
836
+ break;
837
+ }
838
+ message.manufacturer = reader.string();
839
+ continue;
840
+ }
841
+ case 2: {
842
+ if (tag !== 18) {
843
+ break;
844
+ }
845
+ message.name = reader.string();
846
+ continue;
847
+ }
848
+ case 3: {
849
+ if (tag !== 26) {
850
+ break;
851
+ }
852
+ message.version = reader.string();
853
+ continue;
854
+ }
855
+ case 4: {
856
+ if (tag !== 34) {
857
+ break;
858
+ }
859
+ message.payload = any_1.Any.decode(reader, reader.uint32());
860
+ continue;
861
+ }
862
+ case 5: {
863
+ if (tag !== 42) {
864
+ break;
865
+ }
866
+ const entry5 = exports.Extensions_Entry_AttributesEntry.decode(reader, reader.uint32());
867
+ if (entry5.value !== undefined) {
868
+ message.attributes[entry5.key] = entry5.value;
869
+ }
870
+ continue;
871
+ }
872
+ }
873
+ if ((tag & 7) === 4 || tag === 0) {
874
+ break;
875
+ }
876
+ reader.skip(tag & 7);
877
+ }
878
+ return message;
879
+ },
880
+ fromJSON(object) {
881
+ return {
882
+ manufacturer: isSet(object.manufacturer) ? globalThis.String(object.manufacturer) : "",
883
+ name: isSet(object.name) ? globalThis.String(object.name) : "",
884
+ version: isSet(object.version) ? globalThis.String(object.version) : "",
885
+ payload: isSet(object.payload) ? any_1.Any.fromJSON(object.payload) : undefined,
886
+ attributes: isObject(object.attributes)
887
+ ? Object.entries(object.attributes).reduce((acc, [key, value]) => {
888
+ acc[key] = String(value);
889
+ return acc;
890
+ }, {})
891
+ : {},
892
+ };
893
+ },
894
+ toJSON(message) {
895
+ const obj = {};
896
+ if (message.manufacturer !== "") {
897
+ obj.manufacturer = message.manufacturer;
898
+ }
899
+ if (message.name !== "") {
900
+ obj.name = message.name;
901
+ }
902
+ if (message.version !== "") {
903
+ obj.version = message.version;
904
+ }
905
+ if (message.payload !== undefined) {
906
+ obj.payload = any_1.Any.toJSON(message.payload);
907
+ }
908
+ if (message.attributes) {
909
+ const entries = Object.entries(message.attributes);
910
+ if (entries.length > 0) {
911
+ obj.attributes = {};
912
+ entries.forEach(([k, v]) => {
913
+ obj.attributes[k] = v;
914
+ });
915
+ }
916
+ }
917
+ return obj;
918
+ },
919
+ create(base) {
920
+ return exports.Extensions_Entry.fromPartial(base ?? {});
921
+ },
922
+ fromPartial(object) {
923
+ const message = createBaseExtensions_Entry();
924
+ message.manufacturer = object.manufacturer ?? "";
925
+ message.name = object.name ?? "";
926
+ message.version = object.version ?? "";
927
+ message.payload = (object.payload !== undefined && object.payload !== null)
928
+ ? any_1.Any.fromPartial(object.payload)
929
+ : undefined;
930
+ message.attributes = Object.entries(object.attributes ?? {}).reduce((acc, [key, value]) => {
931
+ if (value !== undefined) {
932
+ acc[key] = globalThis.String(value);
933
+ }
934
+ return acc;
935
+ }, {});
936
+ return message;
937
+ },
938
+ };
939
+ function createBaseExtensions_Entry_AttributesEntry() {
940
+ return { key: "", value: "" };
941
+ }
942
+ exports.Extensions_Entry_AttributesEntry = {
943
+ encode(message, writer = new wire_1.BinaryWriter()) {
944
+ if (message.key !== "") {
945
+ writer.uint32(10).string(message.key);
946
+ }
947
+ if (message.value !== "") {
948
+ writer.uint32(18).string(message.value);
949
+ }
950
+ return writer;
951
+ },
952
+ decode(input, length) {
953
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
954
+ let end = length === undefined ? reader.len : reader.pos + length;
955
+ const message = createBaseExtensions_Entry_AttributesEntry();
956
+ while (reader.pos < end) {
957
+ const tag = reader.uint32();
958
+ switch (tag >>> 3) {
959
+ case 1: {
960
+ if (tag !== 10) {
961
+ break;
962
+ }
963
+ message.key = reader.string();
964
+ continue;
965
+ }
966
+ case 2: {
967
+ if (tag !== 18) {
968
+ break;
969
+ }
970
+ message.value = reader.string();
971
+ continue;
972
+ }
973
+ }
974
+ if ((tag & 7) === 4 || tag === 0) {
975
+ break;
976
+ }
977
+ reader.skip(tag & 7);
978
+ }
979
+ return message;
980
+ },
981
+ fromJSON(object) {
982
+ return {
983
+ key: isSet(object.key) ? globalThis.String(object.key) : "",
984
+ value: isSet(object.value) ? globalThis.String(object.value) : "",
985
+ };
986
+ },
987
+ toJSON(message) {
988
+ const obj = {};
989
+ if (message.key !== "") {
990
+ obj.key = message.key;
991
+ }
992
+ if (message.value !== "") {
993
+ obj.value = message.value;
994
+ }
995
+ return obj;
996
+ },
997
+ create(base) {
998
+ return exports.Extensions_Entry_AttributesEntry.fromPartial(base ?? {});
999
+ },
1000
+ fromPartial(object) {
1001
+ const message = createBaseExtensions_Entry_AttributesEntry();
1002
+ message.key = object.key ?? "";
1003
+ message.value = object.value ?? "";
1004
+ return message;
1005
+ },
1006
+ };
1007
+ function createBaseRoute() {
1008
+ return {
1009
+ version: "",
1010
+ routeId: "",
1011
+ routeEditionNumber: 0,
1012
+ routeFormatVersion: "",
1013
+ status: 0,
1014
+ createdAt: undefined,
1015
+ modifiedAt: undefined,
1016
+ info: undefined,
1017
+ waypoints: undefined,
1018
+ schedules: undefined,
1019
+ actionPoints: undefined,
1020
+ hazardZones: [],
1021
+ challenges: [],
1022
+ issues: [],
1023
+ extensions: undefined,
1024
+ };
1025
+ }
1026
+ exports.Route = {
1027
+ encode(message, writer = new wire_1.BinaryWriter()) {
1028
+ if (message.version !== "") {
1029
+ writer.uint32(10).string(message.version);
1030
+ }
1031
+ if (message.routeId !== "") {
1032
+ writer.uint32(18).string(message.routeId);
1033
+ }
1034
+ if (message.routeEditionNumber !== 0) {
1035
+ writer.uint32(24).uint32(message.routeEditionNumber);
1036
+ }
1037
+ if (message.routeFormatVersion !== "") {
1038
+ writer.uint32(34).string(message.routeFormatVersion);
1039
+ }
1040
+ if (message.status !== 0) {
1041
+ writer.uint32(40).int32(message.status);
1042
+ }
1043
+ if (message.createdAt !== undefined) {
1044
+ timestamp_1.Timestamp.encode(toTimestamp(message.createdAt), writer.uint32(50).fork()).join();
1045
+ }
1046
+ if (message.modifiedAt !== undefined) {
1047
+ timestamp_1.Timestamp.encode(toTimestamp(message.modifiedAt), writer.uint32(58).fork()).join();
1048
+ }
1049
+ if (message.info !== undefined) {
1050
+ exports.RouteInfo.encode(message.info, writer.uint32(82).fork()).join();
1051
+ }
1052
+ if (message.waypoints !== undefined) {
1053
+ exports.Waypoints.encode(message.waypoints, writer.uint32(90).fork()).join();
1054
+ }
1055
+ if (message.schedules !== undefined) {
1056
+ exports.Schedules.encode(message.schedules, writer.uint32(98).fork()).join();
1057
+ }
1058
+ if (message.actionPoints !== undefined) {
1059
+ exports.ActionPoints.encode(message.actionPoints, writer.uint32(106).fork()).join();
1060
+ }
1061
+ for (const v of message.hazardZones) {
1062
+ exports.HazardZone.encode(v, writer.uint32(162).fork()).join();
1063
+ }
1064
+ for (const v of message.challenges) {
1065
+ exports.RouteChallenge.encode(v, writer.uint32(178).fork()).join();
1066
+ }
1067
+ for (const v of message.issues) {
1068
+ exports.RouteIssue.encode(v, writer.uint32(186).fork()).join();
1069
+ }
1070
+ if (message.extensions !== undefined) {
1071
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
1072
+ }
1073
+ return writer;
1074
+ },
1075
+ decode(input, length) {
1076
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
1077
+ let end = length === undefined ? reader.len : reader.pos + length;
1078
+ const message = createBaseRoute();
1079
+ while (reader.pos < end) {
1080
+ const tag = reader.uint32();
1081
+ switch (tag >>> 3) {
1082
+ case 1: {
1083
+ if (tag !== 10) {
1084
+ break;
1085
+ }
1086
+ message.version = reader.string();
1087
+ continue;
1088
+ }
1089
+ case 2: {
1090
+ if (tag !== 18) {
1091
+ break;
1092
+ }
1093
+ message.routeId = reader.string();
1094
+ continue;
1095
+ }
1096
+ case 3: {
1097
+ if (tag !== 24) {
1098
+ break;
1099
+ }
1100
+ message.routeEditionNumber = reader.uint32();
1101
+ continue;
1102
+ }
1103
+ case 4: {
1104
+ if (tag !== 34) {
1105
+ break;
1106
+ }
1107
+ message.routeFormatVersion = reader.string();
1108
+ continue;
1109
+ }
1110
+ case 5: {
1111
+ if (tag !== 40) {
1112
+ break;
1113
+ }
1114
+ message.status = reader.int32();
1115
+ continue;
1116
+ }
1117
+ case 6: {
1118
+ if (tag !== 50) {
1119
+ break;
1120
+ }
1121
+ message.createdAt = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
1122
+ continue;
1123
+ }
1124
+ case 7: {
1125
+ if (tag !== 58) {
1126
+ break;
1127
+ }
1128
+ message.modifiedAt = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
1129
+ continue;
1130
+ }
1131
+ case 10: {
1132
+ if (tag !== 82) {
1133
+ break;
1134
+ }
1135
+ message.info = exports.RouteInfo.decode(reader, reader.uint32());
1136
+ continue;
1137
+ }
1138
+ case 11: {
1139
+ if (tag !== 90) {
1140
+ break;
1141
+ }
1142
+ message.waypoints = exports.Waypoints.decode(reader, reader.uint32());
1143
+ continue;
1144
+ }
1145
+ case 12: {
1146
+ if (tag !== 98) {
1147
+ break;
1148
+ }
1149
+ message.schedules = exports.Schedules.decode(reader, reader.uint32());
1150
+ continue;
1151
+ }
1152
+ case 13: {
1153
+ if (tag !== 106) {
1154
+ break;
1155
+ }
1156
+ message.actionPoints = exports.ActionPoints.decode(reader, reader.uint32());
1157
+ continue;
1158
+ }
1159
+ case 20: {
1160
+ if (tag !== 162) {
1161
+ break;
1162
+ }
1163
+ message.hazardZones.push(exports.HazardZone.decode(reader, reader.uint32()));
1164
+ continue;
1165
+ }
1166
+ case 22: {
1167
+ if (tag !== 178) {
1168
+ break;
1169
+ }
1170
+ message.challenges.push(exports.RouteChallenge.decode(reader, reader.uint32()));
1171
+ continue;
1172
+ }
1173
+ case 23: {
1174
+ if (tag !== 186) {
1175
+ break;
1176
+ }
1177
+ message.issues.push(exports.RouteIssue.decode(reader, reader.uint32()));
1178
+ continue;
1179
+ }
1180
+ case 99: {
1181
+ if (tag !== 794) {
1182
+ break;
1183
+ }
1184
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
1185
+ continue;
1186
+ }
1187
+ }
1188
+ if ((tag & 7) === 4 || tag === 0) {
1189
+ break;
1190
+ }
1191
+ reader.skip(tag & 7);
1192
+ }
1193
+ return message;
1194
+ },
1195
+ fromJSON(object) {
1196
+ return {
1197
+ version: isSet(object.version) ? globalThis.String(object.version) : "",
1198
+ routeId: isSet(object.routeId) ? globalThis.String(object.routeId) : "",
1199
+ routeEditionNumber: isSet(object.routeEditionNumber) ? globalThis.Number(object.routeEditionNumber) : 0,
1200
+ routeFormatVersion: isSet(object.routeFormatVersion) ? globalThis.String(object.routeFormatVersion) : "",
1201
+ status: isSet(object.status) ? routeStatusFromJSON(object.status) : 0,
1202
+ createdAt: isSet(object.createdAt) ? fromJsonTimestamp(object.createdAt) : undefined,
1203
+ modifiedAt: isSet(object.modifiedAt) ? fromJsonTimestamp(object.modifiedAt) : undefined,
1204
+ info: isSet(object.info) ? exports.RouteInfo.fromJSON(object.info) : undefined,
1205
+ waypoints: isSet(object.waypoints) ? exports.Waypoints.fromJSON(object.waypoints) : undefined,
1206
+ schedules: isSet(object.schedules) ? exports.Schedules.fromJSON(object.schedules) : undefined,
1207
+ actionPoints: isSet(object.actionPoints) ? exports.ActionPoints.fromJSON(object.actionPoints) : undefined,
1208
+ hazardZones: globalThis.Array.isArray(object?.hazardZones)
1209
+ ? object.hazardZones.map((e) => exports.HazardZone.fromJSON(e))
1210
+ : [],
1211
+ challenges: globalThis.Array.isArray(object?.challenges)
1212
+ ? object.challenges.map((e) => exports.RouteChallenge.fromJSON(e))
1213
+ : [],
1214
+ issues: globalThis.Array.isArray(object?.issues) ? object.issues.map((e) => exports.RouteIssue.fromJSON(e)) : [],
1215
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
1216
+ };
1217
+ },
1218
+ toJSON(message) {
1219
+ const obj = {};
1220
+ if (message.version !== "") {
1221
+ obj.version = message.version;
1222
+ }
1223
+ if (message.routeId !== "") {
1224
+ obj.routeId = message.routeId;
1225
+ }
1226
+ if (message.routeEditionNumber !== 0) {
1227
+ obj.routeEditionNumber = Math.round(message.routeEditionNumber);
1228
+ }
1229
+ if (message.routeFormatVersion !== "") {
1230
+ obj.routeFormatVersion = message.routeFormatVersion;
1231
+ }
1232
+ if (message.status !== 0) {
1233
+ obj.status = routeStatusToJSON(message.status);
1234
+ }
1235
+ if (message.createdAt !== undefined) {
1236
+ obj.createdAt = message.createdAt.toISOString();
1237
+ }
1238
+ if (message.modifiedAt !== undefined) {
1239
+ obj.modifiedAt = message.modifiedAt.toISOString();
1240
+ }
1241
+ if (message.info !== undefined) {
1242
+ obj.info = exports.RouteInfo.toJSON(message.info);
1243
+ }
1244
+ if (message.waypoints !== undefined) {
1245
+ obj.waypoints = exports.Waypoints.toJSON(message.waypoints);
1246
+ }
1247
+ if (message.schedules !== undefined) {
1248
+ obj.schedules = exports.Schedules.toJSON(message.schedules);
1249
+ }
1250
+ if (message.actionPoints !== undefined) {
1251
+ obj.actionPoints = exports.ActionPoints.toJSON(message.actionPoints);
1252
+ }
1253
+ if (message.hazardZones?.length) {
1254
+ obj.hazardZones = message.hazardZones.map((e) => exports.HazardZone.toJSON(e));
1255
+ }
1256
+ if (message.challenges?.length) {
1257
+ obj.challenges = message.challenges.map((e) => exports.RouteChallenge.toJSON(e));
1258
+ }
1259
+ if (message.issues?.length) {
1260
+ obj.issues = message.issues.map((e) => exports.RouteIssue.toJSON(e));
1261
+ }
1262
+ if (message.extensions !== undefined) {
1263
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
1264
+ }
1265
+ return obj;
1266
+ },
1267
+ create(base) {
1268
+ return exports.Route.fromPartial(base ?? {});
1269
+ },
1270
+ fromPartial(object) {
1271
+ const message = createBaseRoute();
1272
+ message.version = object.version ?? "";
1273
+ message.routeId = object.routeId ?? "";
1274
+ message.routeEditionNumber = object.routeEditionNumber ?? 0;
1275
+ message.routeFormatVersion = object.routeFormatVersion ?? "";
1276
+ message.status = object.status ?? 0;
1277
+ message.createdAt = object.createdAt ?? undefined;
1278
+ message.modifiedAt = object.modifiedAt ?? undefined;
1279
+ message.info = (object.info !== undefined && object.info !== null) ? exports.RouteInfo.fromPartial(object.info) : undefined;
1280
+ message.waypoints = (object.waypoints !== undefined && object.waypoints !== null)
1281
+ ? exports.Waypoints.fromPartial(object.waypoints)
1282
+ : undefined;
1283
+ message.schedules = (object.schedules !== undefined && object.schedules !== null)
1284
+ ? exports.Schedules.fromPartial(object.schedules)
1285
+ : undefined;
1286
+ message.actionPoints = (object.actionPoints !== undefined && object.actionPoints !== null)
1287
+ ? exports.ActionPoints.fromPartial(object.actionPoints)
1288
+ : undefined;
1289
+ message.hazardZones = object.hazardZones?.map((e) => exports.HazardZone.fromPartial(e)) || [];
1290
+ message.challenges = object.challenges?.map((e) => exports.RouteChallenge.fromPartial(e)) || [];
1291
+ message.issues = object.issues?.map((e) => exports.RouteIssue.fromPartial(e)) || [];
1292
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
1293
+ ? exports.Extensions.fromPartial(object.extensions)
1294
+ : undefined;
1295
+ return message;
1296
+ },
1297
+ };
1298
+ function createBaseRouteInfo() {
1299
+ return {
1300
+ name: "",
1301
+ author: "",
1302
+ authorOrganization: "",
1303
+ validFrom: undefined,
1304
+ validTo: undefined,
1305
+ vesselLoaM: undefined,
1306
+ vesselBeamM: undefined,
1307
+ vesselDraftM: undefined,
1308
+ vesselAirDraftM: undefined,
1309
+ maxRollDeg: undefined,
1310
+ maxWaveHeightM: undefined,
1311
+ maxWindSpeedMps: undefined,
1312
+ minSpeedKnots: undefined,
1313
+ maxSpeedKnots: undefined,
1314
+ optimizationMethod: "",
1315
+ autonomyLevel: 0,
1316
+ extensions: undefined,
1317
+ };
1318
+ }
1319
+ exports.RouteInfo = {
1320
+ encode(message, writer = new wire_1.BinaryWriter()) {
1321
+ if (message.name !== "") {
1322
+ writer.uint32(10).string(message.name);
1323
+ }
1324
+ if (message.author !== "") {
1325
+ writer.uint32(18).string(message.author);
1326
+ }
1327
+ if (message.authorOrganization !== "") {
1328
+ writer.uint32(26).string(message.authorOrganization);
1329
+ }
1330
+ if (message.validFrom !== undefined) {
1331
+ timestamp_1.Timestamp.encode(toTimestamp(message.validFrom), writer.uint32(34).fork()).join();
1332
+ }
1333
+ if (message.validTo !== undefined) {
1334
+ timestamp_1.Timestamp.encode(toTimestamp(message.validTo), writer.uint32(42).fork()).join();
1335
+ }
1336
+ if (message.vesselLoaM !== undefined) {
1337
+ writer.uint32(165).float(message.vesselLoaM);
1338
+ }
1339
+ if (message.vesselBeamM !== undefined) {
1340
+ writer.uint32(173).float(message.vesselBeamM);
1341
+ }
1342
+ if (message.vesselDraftM !== undefined) {
1343
+ writer.uint32(181).float(message.vesselDraftM);
1344
+ }
1345
+ if (message.vesselAirDraftM !== undefined) {
1346
+ writer.uint32(189).float(message.vesselAirDraftM);
1347
+ }
1348
+ if (message.maxRollDeg !== undefined) {
1349
+ writer.uint32(245).float(message.maxRollDeg);
1350
+ }
1351
+ if (message.maxWaveHeightM !== undefined) {
1352
+ writer.uint32(253).float(message.maxWaveHeightM);
1353
+ }
1354
+ if (message.maxWindSpeedMps !== undefined) {
1355
+ writer.uint32(261).float(message.maxWindSpeedMps);
1356
+ }
1357
+ if (message.minSpeedKnots !== undefined) {
1358
+ writer.uint32(269).float(message.minSpeedKnots);
1359
+ }
1360
+ if (message.maxSpeedKnots !== undefined) {
1361
+ writer.uint32(277).float(message.maxSpeedKnots);
1362
+ }
1363
+ if (message.optimizationMethod !== "") {
1364
+ writer.uint32(402).string(message.optimizationMethod);
1365
+ }
1366
+ if (message.autonomyLevel !== 0) {
1367
+ writer.uint32(408).int32(message.autonomyLevel);
1368
+ }
1369
+ if (message.extensions !== undefined) {
1370
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
1371
+ }
1372
+ return writer;
1373
+ },
1374
+ decode(input, length) {
1375
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
1376
+ let end = length === undefined ? reader.len : reader.pos + length;
1377
+ const message = createBaseRouteInfo();
1378
+ while (reader.pos < end) {
1379
+ const tag = reader.uint32();
1380
+ switch (tag >>> 3) {
1381
+ case 1: {
1382
+ if (tag !== 10) {
1383
+ break;
1384
+ }
1385
+ message.name = reader.string();
1386
+ continue;
1387
+ }
1388
+ case 2: {
1389
+ if (tag !== 18) {
1390
+ break;
1391
+ }
1392
+ message.author = reader.string();
1393
+ continue;
1394
+ }
1395
+ case 3: {
1396
+ if (tag !== 26) {
1397
+ break;
1398
+ }
1399
+ message.authorOrganization = reader.string();
1400
+ continue;
1401
+ }
1402
+ case 4: {
1403
+ if (tag !== 34) {
1404
+ break;
1405
+ }
1406
+ message.validFrom = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
1407
+ continue;
1408
+ }
1409
+ case 5: {
1410
+ if (tag !== 42) {
1411
+ break;
1412
+ }
1413
+ message.validTo = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
1414
+ continue;
1415
+ }
1416
+ case 20: {
1417
+ if (tag !== 165) {
1418
+ break;
1419
+ }
1420
+ message.vesselLoaM = reader.float();
1421
+ continue;
1422
+ }
1423
+ case 21: {
1424
+ if (tag !== 173) {
1425
+ break;
1426
+ }
1427
+ message.vesselBeamM = reader.float();
1428
+ continue;
1429
+ }
1430
+ case 22: {
1431
+ if (tag !== 181) {
1432
+ break;
1433
+ }
1434
+ message.vesselDraftM = reader.float();
1435
+ continue;
1436
+ }
1437
+ case 23: {
1438
+ if (tag !== 189) {
1439
+ break;
1440
+ }
1441
+ message.vesselAirDraftM = reader.float();
1442
+ continue;
1443
+ }
1444
+ case 30: {
1445
+ if (tag !== 245) {
1446
+ break;
1447
+ }
1448
+ message.maxRollDeg = reader.float();
1449
+ continue;
1450
+ }
1451
+ case 31: {
1452
+ if (tag !== 253) {
1453
+ break;
1454
+ }
1455
+ message.maxWaveHeightM = reader.float();
1456
+ continue;
1457
+ }
1458
+ case 32: {
1459
+ if (tag !== 261) {
1460
+ break;
1461
+ }
1462
+ message.maxWindSpeedMps = reader.float();
1463
+ continue;
1464
+ }
1465
+ case 33: {
1466
+ if (tag !== 269) {
1467
+ break;
1468
+ }
1469
+ message.minSpeedKnots = reader.float();
1470
+ continue;
1471
+ }
1472
+ case 34: {
1473
+ if (tag !== 277) {
1474
+ break;
1475
+ }
1476
+ message.maxSpeedKnots = reader.float();
1477
+ continue;
1478
+ }
1479
+ case 50: {
1480
+ if (tag !== 402) {
1481
+ break;
1482
+ }
1483
+ message.optimizationMethod = reader.string();
1484
+ continue;
1485
+ }
1486
+ case 51: {
1487
+ if (tag !== 408) {
1488
+ break;
1489
+ }
1490
+ message.autonomyLevel = reader.int32();
1491
+ continue;
1492
+ }
1493
+ case 99: {
1494
+ if (tag !== 794) {
1495
+ break;
1496
+ }
1497
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
1498
+ continue;
1499
+ }
1500
+ }
1501
+ if ((tag & 7) === 4 || tag === 0) {
1502
+ break;
1503
+ }
1504
+ reader.skip(tag & 7);
1505
+ }
1506
+ return message;
1507
+ },
1508
+ fromJSON(object) {
1509
+ return {
1510
+ name: isSet(object.name) ? globalThis.String(object.name) : "",
1511
+ author: isSet(object.author) ? globalThis.String(object.author) : "",
1512
+ authorOrganization: isSet(object.authorOrganization) ? globalThis.String(object.authorOrganization) : "",
1513
+ validFrom: isSet(object.validFrom) ? fromJsonTimestamp(object.validFrom) : undefined,
1514
+ validTo: isSet(object.validTo) ? fromJsonTimestamp(object.validTo) : undefined,
1515
+ vesselLoaM: isSet(object.vesselLoaM) ? globalThis.Number(object.vesselLoaM) : undefined,
1516
+ vesselBeamM: isSet(object.vesselBeamM) ? globalThis.Number(object.vesselBeamM) : undefined,
1517
+ vesselDraftM: isSet(object.vesselDraftM) ? globalThis.Number(object.vesselDraftM) : undefined,
1518
+ vesselAirDraftM: isSet(object.vesselAirDraftM) ? globalThis.Number(object.vesselAirDraftM) : undefined,
1519
+ maxRollDeg: isSet(object.maxRollDeg) ? globalThis.Number(object.maxRollDeg) : undefined,
1520
+ maxWaveHeightM: isSet(object.maxWaveHeightM) ? globalThis.Number(object.maxWaveHeightM) : undefined,
1521
+ maxWindSpeedMps: isSet(object.maxWindSpeedMps) ? globalThis.Number(object.maxWindSpeedMps) : undefined,
1522
+ minSpeedKnots: isSet(object.minSpeedKnots) ? globalThis.Number(object.minSpeedKnots) : undefined,
1523
+ maxSpeedKnots: isSet(object.maxSpeedKnots) ? globalThis.Number(object.maxSpeedKnots) : undefined,
1524
+ optimizationMethod: isSet(object.optimizationMethod) ? globalThis.String(object.optimizationMethod) : "",
1525
+ autonomyLevel: isSet(object.autonomyLevel) ? autonomyLevelFromJSON(object.autonomyLevel) : 0,
1526
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
1527
+ };
1528
+ },
1529
+ toJSON(message) {
1530
+ const obj = {};
1531
+ if (message.name !== "") {
1532
+ obj.name = message.name;
1533
+ }
1534
+ if (message.author !== "") {
1535
+ obj.author = message.author;
1536
+ }
1537
+ if (message.authorOrganization !== "") {
1538
+ obj.authorOrganization = message.authorOrganization;
1539
+ }
1540
+ if (message.validFrom !== undefined) {
1541
+ obj.validFrom = message.validFrom.toISOString();
1542
+ }
1543
+ if (message.validTo !== undefined) {
1544
+ obj.validTo = message.validTo.toISOString();
1545
+ }
1546
+ if (message.vesselLoaM !== undefined) {
1547
+ obj.vesselLoaM = message.vesselLoaM;
1548
+ }
1549
+ if (message.vesselBeamM !== undefined) {
1550
+ obj.vesselBeamM = message.vesselBeamM;
1551
+ }
1552
+ if (message.vesselDraftM !== undefined) {
1553
+ obj.vesselDraftM = message.vesselDraftM;
1554
+ }
1555
+ if (message.vesselAirDraftM !== undefined) {
1556
+ obj.vesselAirDraftM = message.vesselAirDraftM;
1557
+ }
1558
+ if (message.maxRollDeg !== undefined) {
1559
+ obj.maxRollDeg = message.maxRollDeg;
1560
+ }
1561
+ if (message.maxWaveHeightM !== undefined) {
1562
+ obj.maxWaveHeightM = message.maxWaveHeightM;
1563
+ }
1564
+ if (message.maxWindSpeedMps !== undefined) {
1565
+ obj.maxWindSpeedMps = message.maxWindSpeedMps;
1566
+ }
1567
+ if (message.minSpeedKnots !== undefined) {
1568
+ obj.minSpeedKnots = message.minSpeedKnots;
1569
+ }
1570
+ if (message.maxSpeedKnots !== undefined) {
1571
+ obj.maxSpeedKnots = message.maxSpeedKnots;
1572
+ }
1573
+ if (message.optimizationMethod !== "") {
1574
+ obj.optimizationMethod = message.optimizationMethod;
1575
+ }
1576
+ if (message.autonomyLevel !== 0) {
1577
+ obj.autonomyLevel = autonomyLevelToJSON(message.autonomyLevel);
1578
+ }
1579
+ if (message.extensions !== undefined) {
1580
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
1581
+ }
1582
+ return obj;
1583
+ },
1584
+ create(base) {
1585
+ return exports.RouteInfo.fromPartial(base ?? {});
1586
+ },
1587
+ fromPartial(object) {
1588
+ const message = createBaseRouteInfo();
1589
+ message.name = object.name ?? "";
1590
+ message.author = object.author ?? "";
1591
+ message.authorOrganization = object.authorOrganization ?? "";
1592
+ message.validFrom = object.validFrom ?? undefined;
1593
+ message.validTo = object.validTo ?? undefined;
1594
+ message.vesselLoaM = object.vesselLoaM ?? undefined;
1595
+ message.vesselBeamM = object.vesselBeamM ?? undefined;
1596
+ message.vesselDraftM = object.vesselDraftM ?? undefined;
1597
+ message.vesselAirDraftM = object.vesselAirDraftM ?? undefined;
1598
+ message.maxRollDeg = object.maxRollDeg ?? undefined;
1599
+ message.maxWaveHeightM = object.maxWaveHeightM ?? undefined;
1600
+ message.maxWindSpeedMps = object.maxWindSpeedMps ?? undefined;
1601
+ message.minSpeedKnots = object.minSpeedKnots ?? undefined;
1602
+ message.maxSpeedKnots = object.maxSpeedKnots ?? undefined;
1603
+ message.optimizationMethod = object.optimizationMethod ?? "";
1604
+ message.autonomyLevel = object.autonomyLevel ?? 0;
1605
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
1606
+ ? exports.Extensions.fromPartial(object.extensions)
1607
+ : undefined;
1608
+ return message;
1609
+ },
1610
+ };
1611
+ function createBaseWaypoints() {
1612
+ return { defaults: undefined, waypoint: [], extensions: undefined };
1613
+ }
1614
+ exports.Waypoints = {
1615
+ encode(message, writer = new wire_1.BinaryWriter()) {
1616
+ if (message.defaults !== undefined) {
1617
+ exports.DefaultWaypoint.encode(message.defaults, writer.uint32(10).fork()).join();
1618
+ }
1619
+ for (const v of message.waypoint) {
1620
+ exports.Waypoint.encode(v, writer.uint32(18).fork()).join();
1621
+ }
1622
+ if (message.extensions !== undefined) {
1623
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
1624
+ }
1625
+ return writer;
1626
+ },
1627
+ decode(input, length) {
1628
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
1629
+ let end = length === undefined ? reader.len : reader.pos + length;
1630
+ const message = createBaseWaypoints();
1631
+ while (reader.pos < end) {
1632
+ const tag = reader.uint32();
1633
+ switch (tag >>> 3) {
1634
+ case 1: {
1635
+ if (tag !== 10) {
1636
+ break;
1637
+ }
1638
+ message.defaults = exports.DefaultWaypoint.decode(reader, reader.uint32());
1639
+ continue;
1640
+ }
1641
+ case 2: {
1642
+ if (tag !== 18) {
1643
+ break;
1644
+ }
1645
+ message.waypoint.push(exports.Waypoint.decode(reader, reader.uint32()));
1646
+ continue;
1647
+ }
1648
+ case 99: {
1649
+ if (tag !== 794) {
1650
+ break;
1651
+ }
1652
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
1653
+ continue;
1654
+ }
1655
+ }
1656
+ if ((tag & 7) === 4 || tag === 0) {
1657
+ break;
1658
+ }
1659
+ reader.skip(tag & 7);
1660
+ }
1661
+ return message;
1662
+ },
1663
+ fromJSON(object) {
1664
+ return {
1665
+ defaults: isSet(object.defaults) ? exports.DefaultWaypoint.fromJSON(object.defaults) : undefined,
1666
+ waypoint: globalThis.Array.isArray(object?.waypoint) ? object.waypoint.map((e) => exports.Waypoint.fromJSON(e)) : [],
1667
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
1668
+ };
1669
+ },
1670
+ toJSON(message) {
1671
+ const obj = {};
1672
+ if (message.defaults !== undefined) {
1673
+ obj.defaults = exports.DefaultWaypoint.toJSON(message.defaults);
1674
+ }
1675
+ if (message.waypoint?.length) {
1676
+ obj.waypoint = message.waypoint.map((e) => exports.Waypoint.toJSON(e));
1677
+ }
1678
+ if (message.extensions !== undefined) {
1679
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
1680
+ }
1681
+ return obj;
1682
+ },
1683
+ create(base) {
1684
+ return exports.Waypoints.fromPartial(base ?? {});
1685
+ },
1686
+ fromPartial(object) {
1687
+ const message = createBaseWaypoints();
1688
+ message.defaults = (object.defaults !== undefined && object.defaults !== null)
1689
+ ? exports.DefaultWaypoint.fromPartial(object.defaults)
1690
+ : undefined;
1691
+ message.waypoint = object.waypoint?.map((e) => exports.Waypoint.fromPartial(e)) || [];
1692
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
1693
+ ? exports.Extensions.fromPartial(object.extensions)
1694
+ : undefined;
1695
+ return message;
1696
+ },
1697
+ };
1698
+ function createBaseDefaultWaypoint() {
1699
+ return { leg: undefined, radiusM: undefined, plannedSogKnots: undefined };
1700
+ }
1701
+ exports.DefaultWaypoint = {
1702
+ encode(message, writer = new wire_1.BinaryWriter()) {
1703
+ if (message.leg !== undefined) {
1704
+ exports.Leg.encode(message.leg, writer.uint32(10).fork()).join();
1705
+ }
1706
+ if (message.radiusM !== undefined) {
1707
+ writer.uint32(21).float(message.radiusM);
1708
+ }
1709
+ if (message.plannedSogKnots !== undefined) {
1710
+ writer.uint32(29).float(message.plannedSogKnots);
1711
+ }
1712
+ return writer;
1713
+ },
1714
+ decode(input, length) {
1715
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
1716
+ let end = length === undefined ? reader.len : reader.pos + length;
1717
+ const message = createBaseDefaultWaypoint();
1718
+ while (reader.pos < end) {
1719
+ const tag = reader.uint32();
1720
+ switch (tag >>> 3) {
1721
+ case 1: {
1722
+ if (tag !== 10) {
1723
+ break;
1724
+ }
1725
+ message.leg = exports.Leg.decode(reader, reader.uint32());
1726
+ continue;
1727
+ }
1728
+ case 2: {
1729
+ if (tag !== 21) {
1730
+ break;
1731
+ }
1732
+ message.radiusM = reader.float();
1733
+ continue;
1734
+ }
1735
+ case 3: {
1736
+ if (tag !== 29) {
1737
+ break;
1738
+ }
1739
+ message.plannedSogKnots = reader.float();
1740
+ continue;
1741
+ }
1742
+ }
1743
+ if ((tag & 7) === 4 || tag === 0) {
1744
+ break;
1745
+ }
1746
+ reader.skip(tag & 7);
1747
+ }
1748
+ return message;
1749
+ },
1750
+ fromJSON(object) {
1751
+ return {
1752
+ leg: isSet(object.leg) ? exports.Leg.fromJSON(object.leg) : undefined,
1753
+ radiusM: isSet(object.radiusM) ? globalThis.Number(object.radiusM) : undefined,
1754
+ plannedSogKnots: isSet(object.plannedSogKnots) ? globalThis.Number(object.plannedSogKnots) : undefined,
1755
+ };
1756
+ },
1757
+ toJSON(message) {
1758
+ const obj = {};
1759
+ if (message.leg !== undefined) {
1760
+ obj.leg = exports.Leg.toJSON(message.leg);
1761
+ }
1762
+ if (message.radiusM !== undefined) {
1763
+ obj.radiusM = message.radiusM;
1764
+ }
1765
+ if (message.plannedSogKnots !== undefined) {
1766
+ obj.plannedSogKnots = message.plannedSogKnots;
1767
+ }
1768
+ return obj;
1769
+ },
1770
+ create(base) {
1771
+ return exports.DefaultWaypoint.fromPartial(base ?? {});
1772
+ },
1773
+ fromPartial(object) {
1774
+ const message = createBaseDefaultWaypoint();
1775
+ message.leg = (object.leg !== undefined && object.leg !== null) ? exports.Leg.fromPartial(object.leg) : undefined;
1776
+ message.radiusM = object.radiusM ?? undefined;
1777
+ message.plannedSogKnots = object.plannedSogKnots ?? undefined;
1778
+ return message;
1779
+ },
1780
+ };
1781
+ function createBaseWaypoint() {
1782
+ return {
1783
+ id: "",
1784
+ revision: 0,
1785
+ name: "",
1786
+ position: undefined,
1787
+ plannedSogKnots: undefined,
1788
+ radiusM: undefined,
1789
+ rateOfTurnDegps: undefined,
1790
+ wheelOverDistanceM: undefined,
1791
+ lock: false,
1792
+ operationalContext: 0,
1793
+ leg: undefined,
1794
+ note: "",
1795
+ extensions: undefined,
1796
+ };
1797
+ }
1798
+ exports.Waypoint = {
1799
+ encode(message, writer = new wire_1.BinaryWriter()) {
1800
+ if (message.id !== "") {
1801
+ writer.uint32(10).string(message.id);
1802
+ }
1803
+ if (message.revision !== 0) {
1804
+ writer.uint32(16).uint32(message.revision);
1805
+ }
1806
+ if (message.name !== "") {
1807
+ writer.uint32(26).string(message.name);
1808
+ }
1809
+ if (message.position !== undefined) {
1810
+ Coordinate_1.Coordinate.encode(message.position, writer.uint32(34).fork()).join();
1811
+ }
1812
+ if (message.plannedSogKnots !== undefined) {
1813
+ writer.uint32(45).float(message.plannedSogKnots);
1814
+ }
1815
+ if (message.radiusM !== undefined) {
1816
+ writer.uint32(53).float(message.radiusM);
1817
+ }
1818
+ if (message.rateOfTurnDegps !== undefined) {
1819
+ writer.uint32(61).float(message.rateOfTurnDegps);
1820
+ }
1821
+ if (message.wheelOverDistanceM !== undefined) {
1822
+ writer.uint32(69).float(message.wheelOverDistanceM);
1823
+ }
1824
+ if (message.lock !== false) {
1825
+ writer.uint32(72).bool(message.lock);
1826
+ }
1827
+ if (message.operationalContext !== 0) {
1828
+ writer.uint32(80).int32(message.operationalContext);
1829
+ }
1830
+ if (message.leg !== undefined) {
1831
+ exports.Leg.encode(message.leg, writer.uint32(90).fork()).join();
1832
+ }
1833
+ if (message.note !== "") {
1834
+ writer.uint32(98).string(message.note);
1835
+ }
1836
+ if (message.extensions !== undefined) {
1837
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
1838
+ }
1839
+ return writer;
1840
+ },
1841
+ decode(input, length) {
1842
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
1843
+ let end = length === undefined ? reader.len : reader.pos + length;
1844
+ const message = createBaseWaypoint();
1845
+ while (reader.pos < end) {
1846
+ const tag = reader.uint32();
1847
+ switch (tag >>> 3) {
1848
+ case 1: {
1849
+ if (tag !== 10) {
1850
+ break;
1851
+ }
1852
+ message.id = reader.string();
1853
+ continue;
1854
+ }
1855
+ case 2: {
1856
+ if (tag !== 16) {
1857
+ break;
1858
+ }
1859
+ message.revision = reader.uint32();
1860
+ continue;
1861
+ }
1862
+ case 3: {
1863
+ if (tag !== 26) {
1864
+ break;
1865
+ }
1866
+ message.name = reader.string();
1867
+ continue;
1868
+ }
1869
+ case 4: {
1870
+ if (tag !== 34) {
1871
+ break;
1872
+ }
1873
+ message.position = Coordinate_1.Coordinate.decode(reader, reader.uint32());
1874
+ continue;
1875
+ }
1876
+ case 5: {
1877
+ if (tag !== 45) {
1878
+ break;
1879
+ }
1880
+ message.plannedSogKnots = reader.float();
1881
+ continue;
1882
+ }
1883
+ case 6: {
1884
+ if (tag !== 53) {
1885
+ break;
1886
+ }
1887
+ message.radiusM = reader.float();
1888
+ continue;
1889
+ }
1890
+ case 7: {
1891
+ if (tag !== 61) {
1892
+ break;
1893
+ }
1894
+ message.rateOfTurnDegps = reader.float();
1895
+ continue;
1896
+ }
1897
+ case 8: {
1898
+ if (tag !== 69) {
1899
+ break;
1900
+ }
1901
+ message.wheelOverDistanceM = reader.float();
1902
+ continue;
1903
+ }
1904
+ case 9: {
1905
+ if (tag !== 72) {
1906
+ break;
1907
+ }
1908
+ message.lock = reader.bool();
1909
+ continue;
1910
+ }
1911
+ case 10: {
1912
+ if (tag !== 80) {
1913
+ break;
1914
+ }
1915
+ message.operationalContext = reader.int32();
1916
+ continue;
1917
+ }
1918
+ case 11: {
1919
+ if (tag !== 90) {
1920
+ break;
1921
+ }
1922
+ message.leg = exports.Leg.decode(reader, reader.uint32());
1923
+ continue;
1924
+ }
1925
+ case 12: {
1926
+ if (tag !== 98) {
1927
+ break;
1928
+ }
1929
+ message.note = reader.string();
1930
+ continue;
1931
+ }
1932
+ case 99: {
1933
+ if (tag !== 794) {
1934
+ break;
1935
+ }
1936
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
1937
+ continue;
1938
+ }
1939
+ }
1940
+ if ((tag & 7) === 4 || tag === 0) {
1941
+ break;
1942
+ }
1943
+ reader.skip(tag & 7);
1944
+ }
1945
+ return message;
1946
+ },
1947
+ fromJSON(object) {
1948
+ return {
1949
+ id: isSet(object.id) ? globalThis.String(object.id) : "",
1950
+ revision: isSet(object.revision) ? globalThis.Number(object.revision) : 0,
1951
+ name: isSet(object.name) ? globalThis.String(object.name) : "",
1952
+ position: isSet(object.position) ? Coordinate_1.Coordinate.fromJSON(object.position) : undefined,
1953
+ plannedSogKnots: isSet(object.plannedSogKnots) ? globalThis.Number(object.plannedSogKnots) : undefined,
1954
+ radiusM: isSet(object.radiusM) ? globalThis.Number(object.radiusM) : undefined,
1955
+ rateOfTurnDegps: isSet(object.rateOfTurnDegps) ? globalThis.Number(object.rateOfTurnDegps) : undefined,
1956
+ wheelOverDistanceM: isSet(object.wheelOverDistanceM) ? globalThis.Number(object.wheelOverDistanceM) : undefined,
1957
+ lock: isSet(object.lock) ? globalThis.Boolean(object.lock) : false,
1958
+ operationalContext: isSet(object.operationalContext) ? operationalContextFromJSON(object.operationalContext) : 0,
1959
+ leg: isSet(object.leg) ? exports.Leg.fromJSON(object.leg) : undefined,
1960
+ note: isSet(object.note) ? globalThis.String(object.note) : "",
1961
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
1962
+ };
1963
+ },
1964
+ toJSON(message) {
1965
+ const obj = {};
1966
+ if (message.id !== "") {
1967
+ obj.id = message.id;
1968
+ }
1969
+ if (message.revision !== 0) {
1970
+ obj.revision = Math.round(message.revision);
1971
+ }
1972
+ if (message.name !== "") {
1973
+ obj.name = message.name;
1974
+ }
1975
+ if (message.position !== undefined) {
1976
+ obj.position = Coordinate_1.Coordinate.toJSON(message.position);
1977
+ }
1978
+ if (message.plannedSogKnots !== undefined) {
1979
+ obj.plannedSogKnots = message.plannedSogKnots;
1980
+ }
1981
+ if (message.radiusM !== undefined) {
1982
+ obj.radiusM = message.radiusM;
1983
+ }
1984
+ if (message.rateOfTurnDegps !== undefined) {
1985
+ obj.rateOfTurnDegps = message.rateOfTurnDegps;
1986
+ }
1987
+ if (message.wheelOverDistanceM !== undefined) {
1988
+ obj.wheelOverDistanceM = message.wheelOverDistanceM;
1989
+ }
1990
+ if (message.lock !== false) {
1991
+ obj.lock = message.lock;
1992
+ }
1993
+ if (message.operationalContext !== 0) {
1994
+ obj.operationalContext = operationalContextToJSON(message.operationalContext);
1995
+ }
1996
+ if (message.leg !== undefined) {
1997
+ obj.leg = exports.Leg.toJSON(message.leg);
1998
+ }
1999
+ if (message.note !== "") {
2000
+ obj.note = message.note;
2001
+ }
2002
+ if (message.extensions !== undefined) {
2003
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
2004
+ }
2005
+ return obj;
2006
+ },
2007
+ create(base) {
2008
+ return exports.Waypoint.fromPartial(base ?? {});
2009
+ },
2010
+ fromPartial(object) {
2011
+ const message = createBaseWaypoint();
2012
+ message.id = object.id ?? "";
2013
+ message.revision = object.revision ?? 0;
2014
+ message.name = object.name ?? "";
2015
+ message.position = (object.position !== undefined && object.position !== null)
2016
+ ? Coordinate_1.Coordinate.fromPartial(object.position)
2017
+ : undefined;
2018
+ message.plannedSogKnots = object.plannedSogKnots ?? undefined;
2019
+ message.radiusM = object.radiusM ?? undefined;
2020
+ message.rateOfTurnDegps = object.rateOfTurnDegps ?? undefined;
2021
+ message.wheelOverDistanceM = object.wheelOverDistanceM ?? undefined;
2022
+ message.lock = object.lock ?? false;
2023
+ message.operationalContext = object.operationalContext ?? 0;
2024
+ message.leg = (object.leg !== undefined && object.leg !== null) ? exports.Leg.fromPartial(object.leg) : undefined;
2025
+ message.note = object.note ?? "";
2026
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
2027
+ ? exports.Extensions.fromPartial(object.extensions)
2028
+ : undefined;
2029
+ return message;
2030
+ },
2031
+ };
2032
+ function createBaseLeg() {
2033
+ return {
2034
+ xtdPortM: undefined,
2035
+ xtdStarboardM: undefined,
2036
+ xtdMonitoringPortM: undefined,
2037
+ xtdMonitoringStarboardM: undefined,
2038
+ safetyContourM: undefined,
2039
+ safetyDepthM: undefined,
2040
+ ukcStaticM: undefined,
2041
+ ukcDynamicM: undefined,
2042
+ draughtBowM: undefined,
2043
+ draughtSternM: undefined,
2044
+ draughtMeanM: undefined,
2045
+ geometryType: 0,
2046
+ sogMinKnots: undefined,
2047
+ sogMaxKnots: undefined,
2048
+ stwMinKnots: undefined,
2049
+ stwMaxKnots: undefined,
2050
+ draughtMaxM: undefined,
2051
+ airDraftMaxM: undefined,
2052
+ beamMaxM: undefined,
2053
+ lengthMaxM: undefined,
2054
+ report: "",
2055
+ note: "",
2056
+ colregSituation: 0,
2057
+ colregTrafficIntensity: 0,
2058
+ extensions: undefined,
2059
+ };
2060
+ }
2061
+ exports.Leg = {
2062
+ encode(message, writer = new wire_1.BinaryWriter()) {
2063
+ if (message.xtdPortM !== undefined) {
2064
+ writer.uint32(13).float(message.xtdPortM);
2065
+ }
2066
+ if (message.xtdStarboardM !== undefined) {
2067
+ writer.uint32(21).float(message.xtdStarboardM);
2068
+ }
2069
+ if (message.xtdMonitoringPortM !== undefined) {
2070
+ writer.uint32(29).float(message.xtdMonitoringPortM);
2071
+ }
2072
+ if (message.xtdMonitoringStarboardM !== undefined) {
2073
+ writer.uint32(37).float(message.xtdMonitoringStarboardM);
2074
+ }
2075
+ if (message.safetyContourM !== undefined) {
2076
+ writer.uint32(85).float(message.safetyContourM);
2077
+ }
2078
+ if (message.safetyDepthM !== undefined) {
2079
+ writer.uint32(93).float(message.safetyDepthM);
2080
+ }
2081
+ if (message.ukcStaticM !== undefined) {
2082
+ writer.uint32(165).float(message.ukcStaticM);
2083
+ }
2084
+ if (message.ukcDynamicM !== undefined) {
2085
+ writer.uint32(173).float(message.ukcDynamicM);
2086
+ }
2087
+ if (message.draughtBowM !== undefined) {
2088
+ writer.uint32(245).float(message.draughtBowM);
2089
+ }
2090
+ if (message.draughtSternM !== undefined) {
2091
+ writer.uint32(253).float(message.draughtSternM);
2092
+ }
2093
+ if (message.draughtMeanM !== undefined) {
2094
+ writer.uint32(261).float(message.draughtMeanM);
2095
+ }
2096
+ if (message.geometryType !== 0) {
2097
+ writer.uint32(320).int32(message.geometryType);
2098
+ }
2099
+ if (message.sogMinKnots !== undefined) {
2100
+ writer.uint32(405).float(message.sogMinKnots);
2101
+ }
2102
+ if (message.sogMaxKnots !== undefined) {
2103
+ writer.uint32(413).float(message.sogMaxKnots);
2104
+ }
2105
+ if (message.stwMinKnots !== undefined) {
2106
+ writer.uint32(421).float(message.stwMinKnots);
2107
+ }
2108
+ if (message.stwMaxKnots !== undefined) {
2109
+ writer.uint32(429).float(message.stwMaxKnots);
2110
+ }
2111
+ if (message.draughtMaxM !== undefined) {
2112
+ writer.uint32(565).float(message.draughtMaxM);
2113
+ }
2114
+ if (message.airDraftMaxM !== undefined) {
2115
+ writer.uint32(573).float(message.airDraftMaxM);
2116
+ }
2117
+ if (message.beamMaxM !== undefined) {
2118
+ writer.uint32(581).float(message.beamMaxM);
2119
+ }
2120
+ if (message.lengthMaxM !== undefined) {
2121
+ writer.uint32(589).float(message.lengthMaxM);
2122
+ }
2123
+ if (message.report !== "") {
2124
+ writer.uint32(642).string(message.report);
2125
+ }
2126
+ if (message.note !== "") {
2127
+ writer.uint32(650).string(message.note);
2128
+ }
2129
+ if (message.colregSituation !== 0) {
2130
+ writer.uint32(720).int32(message.colregSituation);
2131
+ }
2132
+ if (message.colregTrafficIntensity !== 0) {
2133
+ writer.uint32(728).int32(message.colregTrafficIntensity);
2134
+ }
2135
+ if (message.extensions !== undefined) {
2136
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
2137
+ }
2138
+ return writer;
2139
+ },
2140
+ decode(input, length) {
2141
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
2142
+ let end = length === undefined ? reader.len : reader.pos + length;
2143
+ const message = createBaseLeg();
2144
+ while (reader.pos < end) {
2145
+ const tag = reader.uint32();
2146
+ switch (tag >>> 3) {
2147
+ case 1: {
2148
+ if (tag !== 13) {
2149
+ break;
2150
+ }
2151
+ message.xtdPortM = reader.float();
2152
+ continue;
2153
+ }
2154
+ case 2: {
2155
+ if (tag !== 21) {
2156
+ break;
2157
+ }
2158
+ message.xtdStarboardM = reader.float();
2159
+ continue;
2160
+ }
2161
+ case 3: {
2162
+ if (tag !== 29) {
2163
+ break;
2164
+ }
2165
+ message.xtdMonitoringPortM = reader.float();
2166
+ continue;
2167
+ }
2168
+ case 4: {
2169
+ if (tag !== 37) {
2170
+ break;
2171
+ }
2172
+ message.xtdMonitoringStarboardM = reader.float();
2173
+ continue;
2174
+ }
2175
+ case 10: {
2176
+ if (tag !== 85) {
2177
+ break;
2178
+ }
2179
+ message.safetyContourM = reader.float();
2180
+ continue;
2181
+ }
2182
+ case 11: {
2183
+ if (tag !== 93) {
2184
+ break;
2185
+ }
2186
+ message.safetyDepthM = reader.float();
2187
+ continue;
2188
+ }
2189
+ case 20: {
2190
+ if (tag !== 165) {
2191
+ break;
2192
+ }
2193
+ message.ukcStaticM = reader.float();
2194
+ continue;
2195
+ }
2196
+ case 21: {
2197
+ if (tag !== 173) {
2198
+ break;
2199
+ }
2200
+ message.ukcDynamicM = reader.float();
2201
+ continue;
2202
+ }
2203
+ case 30: {
2204
+ if (tag !== 245) {
2205
+ break;
2206
+ }
2207
+ message.draughtBowM = reader.float();
2208
+ continue;
2209
+ }
2210
+ case 31: {
2211
+ if (tag !== 253) {
2212
+ break;
2213
+ }
2214
+ message.draughtSternM = reader.float();
2215
+ continue;
2216
+ }
2217
+ case 32: {
2218
+ if (tag !== 261) {
2219
+ break;
2220
+ }
2221
+ message.draughtMeanM = reader.float();
2222
+ continue;
2223
+ }
2224
+ case 40: {
2225
+ if (tag !== 320) {
2226
+ break;
2227
+ }
2228
+ message.geometryType = reader.int32();
2229
+ continue;
2230
+ }
2231
+ case 50: {
2232
+ if (tag !== 405) {
2233
+ break;
2234
+ }
2235
+ message.sogMinKnots = reader.float();
2236
+ continue;
2237
+ }
2238
+ case 51: {
2239
+ if (tag !== 413) {
2240
+ break;
2241
+ }
2242
+ message.sogMaxKnots = reader.float();
2243
+ continue;
2244
+ }
2245
+ case 52: {
2246
+ if (tag !== 421) {
2247
+ break;
2248
+ }
2249
+ message.stwMinKnots = reader.float();
2250
+ continue;
2251
+ }
2252
+ case 53: {
2253
+ if (tag !== 429) {
2254
+ break;
2255
+ }
2256
+ message.stwMaxKnots = reader.float();
2257
+ continue;
2258
+ }
2259
+ case 70: {
2260
+ if (tag !== 565) {
2261
+ break;
2262
+ }
2263
+ message.draughtMaxM = reader.float();
2264
+ continue;
2265
+ }
2266
+ case 71: {
2267
+ if (tag !== 573) {
2268
+ break;
2269
+ }
2270
+ message.airDraftMaxM = reader.float();
2271
+ continue;
2272
+ }
2273
+ case 72: {
2274
+ if (tag !== 581) {
2275
+ break;
2276
+ }
2277
+ message.beamMaxM = reader.float();
2278
+ continue;
2279
+ }
2280
+ case 73: {
2281
+ if (tag !== 589) {
2282
+ break;
2283
+ }
2284
+ message.lengthMaxM = reader.float();
2285
+ continue;
2286
+ }
2287
+ case 80: {
2288
+ if (tag !== 642) {
2289
+ break;
2290
+ }
2291
+ message.report = reader.string();
2292
+ continue;
2293
+ }
2294
+ case 81: {
2295
+ if (tag !== 650) {
2296
+ break;
2297
+ }
2298
+ message.note = reader.string();
2299
+ continue;
2300
+ }
2301
+ case 90: {
2302
+ if (tag !== 720) {
2303
+ break;
2304
+ }
2305
+ message.colregSituation = reader.int32();
2306
+ continue;
2307
+ }
2308
+ case 91: {
2309
+ if (tag !== 728) {
2310
+ break;
2311
+ }
2312
+ message.colregTrafficIntensity = reader.int32();
2313
+ continue;
2314
+ }
2315
+ case 99: {
2316
+ if (tag !== 794) {
2317
+ break;
2318
+ }
2319
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
2320
+ continue;
2321
+ }
2322
+ }
2323
+ if ((tag & 7) === 4 || tag === 0) {
2324
+ break;
2325
+ }
2326
+ reader.skip(tag & 7);
2327
+ }
2328
+ return message;
2329
+ },
2330
+ fromJSON(object) {
2331
+ return {
2332
+ xtdPortM: isSet(object.xtdPortM) ? globalThis.Number(object.xtdPortM) : undefined,
2333
+ xtdStarboardM: isSet(object.xtdStarboardM) ? globalThis.Number(object.xtdStarboardM) : undefined,
2334
+ xtdMonitoringPortM: isSet(object.xtdMonitoringPortM) ? globalThis.Number(object.xtdMonitoringPortM) : undefined,
2335
+ xtdMonitoringStarboardM: isSet(object.xtdMonitoringStarboardM)
2336
+ ? globalThis.Number(object.xtdMonitoringStarboardM)
2337
+ : undefined,
2338
+ safetyContourM: isSet(object.safetyContourM) ? globalThis.Number(object.safetyContourM) : undefined,
2339
+ safetyDepthM: isSet(object.safetyDepthM) ? globalThis.Number(object.safetyDepthM) : undefined,
2340
+ ukcStaticM: isSet(object.ukcStaticM) ? globalThis.Number(object.ukcStaticM) : undefined,
2341
+ ukcDynamicM: isSet(object.ukcDynamicM) ? globalThis.Number(object.ukcDynamicM) : undefined,
2342
+ draughtBowM: isSet(object.draughtBowM) ? globalThis.Number(object.draughtBowM) : undefined,
2343
+ draughtSternM: isSet(object.draughtSternM) ? globalThis.Number(object.draughtSternM) : undefined,
2344
+ draughtMeanM: isSet(object.draughtMeanM) ? globalThis.Number(object.draughtMeanM) : undefined,
2345
+ geometryType: isSet(object.geometryType) ? geometryTypeFromJSON(object.geometryType) : 0,
2346
+ sogMinKnots: isSet(object.sogMinKnots) ? globalThis.Number(object.sogMinKnots) : undefined,
2347
+ sogMaxKnots: isSet(object.sogMaxKnots) ? globalThis.Number(object.sogMaxKnots) : undefined,
2348
+ stwMinKnots: isSet(object.stwMinKnots) ? globalThis.Number(object.stwMinKnots) : undefined,
2349
+ stwMaxKnots: isSet(object.stwMaxKnots) ? globalThis.Number(object.stwMaxKnots) : undefined,
2350
+ draughtMaxM: isSet(object.draughtMaxM) ? globalThis.Number(object.draughtMaxM) : undefined,
2351
+ airDraftMaxM: isSet(object.airDraftMaxM) ? globalThis.Number(object.airDraftMaxM) : undefined,
2352
+ beamMaxM: isSet(object.beamMaxM) ? globalThis.Number(object.beamMaxM) : undefined,
2353
+ lengthMaxM: isSet(object.lengthMaxM) ? globalThis.Number(object.lengthMaxM) : undefined,
2354
+ report: isSet(object.report) ? globalThis.String(object.report) : "",
2355
+ note: isSet(object.note) ? globalThis.String(object.note) : "",
2356
+ colregSituation: isSet(object.colregSituation) ? colregSituationFromJSON(object.colregSituation) : 0,
2357
+ colregTrafficIntensity: isSet(object.colregTrafficIntensity)
2358
+ ? colregTrafficIntensityFromJSON(object.colregTrafficIntensity)
2359
+ : 0,
2360
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
2361
+ };
2362
+ },
2363
+ toJSON(message) {
2364
+ const obj = {};
2365
+ if (message.xtdPortM !== undefined) {
2366
+ obj.xtdPortM = message.xtdPortM;
2367
+ }
2368
+ if (message.xtdStarboardM !== undefined) {
2369
+ obj.xtdStarboardM = message.xtdStarboardM;
2370
+ }
2371
+ if (message.xtdMonitoringPortM !== undefined) {
2372
+ obj.xtdMonitoringPortM = message.xtdMonitoringPortM;
2373
+ }
2374
+ if (message.xtdMonitoringStarboardM !== undefined) {
2375
+ obj.xtdMonitoringStarboardM = message.xtdMonitoringStarboardM;
2376
+ }
2377
+ if (message.safetyContourM !== undefined) {
2378
+ obj.safetyContourM = message.safetyContourM;
2379
+ }
2380
+ if (message.safetyDepthM !== undefined) {
2381
+ obj.safetyDepthM = message.safetyDepthM;
2382
+ }
2383
+ if (message.ukcStaticM !== undefined) {
2384
+ obj.ukcStaticM = message.ukcStaticM;
2385
+ }
2386
+ if (message.ukcDynamicM !== undefined) {
2387
+ obj.ukcDynamicM = message.ukcDynamicM;
2388
+ }
2389
+ if (message.draughtBowM !== undefined) {
2390
+ obj.draughtBowM = message.draughtBowM;
2391
+ }
2392
+ if (message.draughtSternM !== undefined) {
2393
+ obj.draughtSternM = message.draughtSternM;
2394
+ }
2395
+ if (message.draughtMeanM !== undefined) {
2396
+ obj.draughtMeanM = message.draughtMeanM;
2397
+ }
2398
+ if (message.geometryType !== 0) {
2399
+ obj.geometryType = geometryTypeToJSON(message.geometryType);
2400
+ }
2401
+ if (message.sogMinKnots !== undefined) {
2402
+ obj.sogMinKnots = message.sogMinKnots;
2403
+ }
2404
+ if (message.sogMaxKnots !== undefined) {
2405
+ obj.sogMaxKnots = message.sogMaxKnots;
2406
+ }
2407
+ if (message.stwMinKnots !== undefined) {
2408
+ obj.stwMinKnots = message.stwMinKnots;
2409
+ }
2410
+ if (message.stwMaxKnots !== undefined) {
2411
+ obj.stwMaxKnots = message.stwMaxKnots;
2412
+ }
2413
+ if (message.draughtMaxM !== undefined) {
2414
+ obj.draughtMaxM = message.draughtMaxM;
2415
+ }
2416
+ if (message.airDraftMaxM !== undefined) {
2417
+ obj.airDraftMaxM = message.airDraftMaxM;
2418
+ }
2419
+ if (message.beamMaxM !== undefined) {
2420
+ obj.beamMaxM = message.beamMaxM;
2421
+ }
2422
+ if (message.lengthMaxM !== undefined) {
2423
+ obj.lengthMaxM = message.lengthMaxM;
2424
+ }
2425
+ if (message.report !== "") {
2426
+ obj.report = message.report;
2427
+ }
2428
+ if (message.note !== "") {
2429
+ obj.note = message.note;
2430
+ }
2431
+ if (message.colregSituation !== 0) {
2432
+ obj.colregSituation = colregSituationToJSON(message.colregSituation);
2433
+ }
2434
+ if (message.colregTrafficIntensity !== 0) {
2435
+ obj.colregTrafficIntensity = colregTrafficIntensityToJSON(message.colregTrafficIntensity);
2436
+ }
2437
+ if (message.extensions !== undefined) {
2438
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
2439
+ }
2440
+ return obj;
2441
+ },
2442
+ create(base) {
2443
+ return exports.Leg.fromPartial(base ?? {});
2444
+ },
2445
+ fromPartial(object) {
2446
+ const message = createBaseLeg();
2447
+ message.xtdPortM = object.xtdPortM ?? undefined;
2448
+ message.xtdStarboardM = object.xtdStarboardM ?? undefined;
2449
+ message.xtdMonitoringPortM = object.xtdMonitoringPortM ?? undefined;
2450
+ message.xtdMonitoringStarboardM = object.xtdMonitoringStarboardM ?? undefined;
2451
+ message.safetyContourM = object.safetyContourM ?? undefined;
2452
+ message.safetyDepthM = object.safetyDepthM ?? undefined;
2453
+ message.ukcStaticM = object.ukcStaticM ?? undefined;
2454
+ message.ukcDynamicM = object.ukcDynamicM ?? undefined;
2455
+ message.draughtBowM = object.draughtBowM ?? undefined;
2456
+ message.draughtSternM = object.draughtSternM ?? undefined;
2457
+ message.draughtMeanM = object.draughtMeanM ?? undefined;
2458
+ message.geometryType = object.geometryType ?? 0;
2459
+ message.sogMinKnots = object.sogMinKnots ?? undefined;
2460
+ message.sogMaxKnots = object.sogMaxKnots ?? undefined;
2461
+ message.stwMinKnots = object.stwMinKnots ?? undefined;
2462
+ message.stwMaxKnots = object.stwMaxKnots ?? undefined;
2463
+ message.draughtMaxM = object.draughtMaxM ?? undefined;
2464
+ message.airDraftMaxM = object.airDraftMaxM ?? undefined;
2465
+ message.beamMaxM = object.beamMaxM ?? undefined;
2466
+ message.lengthMaxM = object.lengthMaxM ?? undefined;
2467
+ message.report = object.report ?? "";
2468
+ message.note = object.note ?? "";
2469
+ message.colregSituation = object.colregSituation ?? 0;
2470
+ message.colregTrafficIntensity = object.colregTrafficIntensity ?? 0;
2471
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
2472
+ ? exports.Extensions.fromPartial(object.extensions)
2473
+ : undefined;
2474
+ return message;
2475
+ },
2476
+ };
2477
+ function createBaseSchedules() {
2478
+ return { schedule: [], extensions: undefined };
2479
+ }
2480
+ exports.Schedules = {
2481
+ encode(message, writer = new wire_1.BinaryWriter()) {
2482
+ for (const v of message.schedule) {
2483
+ exports.Schedule.encode(v, writer.uint32(10).fork()).join();
2484
+ }
2485
+ if (message.extensions !== undefined) {
2486
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
2487
+ }
2488
+ return writer;
2489
+ },
2490
+ decode(input, length) {
2491
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
2492
+ let end = length === undefined ? reader.len : reader.pos + length;
2493
+ const message = createBaseSchedules();
2494
+ while (reader.pos < end) {
2495
+ const tag = reader.uint32();
2496
+ switch (tag >>> 3) {
2497
+ case 1: {
2498
+ if (tag !== 10) {
2499
+ break;
2500
+ }
2501
+ message.schedule.push(exports.Schedule.decode(reader, reader.uint32()));
2502
+ continue;
2503
+ }
2504
+ case 99: {
2505
+ if (tag !== 794) {
2506
+ break;
2507
+ }
2508
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
2509
+ continue;
2510
+ }
2511
+ }
2512
+ if ((tag & 7) === 4 || tag === 0) {
2513
+ break;
2514
+ }
2515
+ reader.skip(tag & 7);
2516
+ }
2517
+ return message;
2518
+ },
2519
+ fromJSON(object) {
2520
+ return {
2521
+ schedule: globalThis.Array.isArray(object?.schedule) ? object.schedule.map((e) => exports.Schedule.fromJSON(e)) : [],
2522
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
2523
+ };
2524
+ },
2525
+ toJSON(message) {
2526
+ const obj = {};
2527
+ if (message.schedule?.length) {
2528
+ obj.schedule = message.schedule.map((e) => exports.Schedule.toJSON(e));
2529
+ }
2530
+ if (message.extensions !== undefined) {
2531
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
2532
+ }
2533
+ return obj;
2534
+ },
2535
+ create(base) {
2536
+ return exports.Schedules.fromPartial(base ?? {});
2537
+ },
2538
+ fromPartial(object) {
2539
+ const message = createBaseSchedules();
2540
+ message.schedule = object.schedule?.map((e) => exports.Schedule.fromPartial(e)) || [];
2541
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
2542
+ ? exports.Extensions.fromPartial(object.extensions)
2543
+ : undefined;
2544
+ return message;
2545
+ },
2546
+ };
2547
+ function createBaseSchedule() {
2548
+ return { id: "", name: "", origin: 0, element: [], extensions: undefined };
2549
+ }
2550
+ exports.Schedule = {
2551
+ encode(message, writer = new wire_1.BinaryWriter()) {
2552
+ if (message.id !== "") {
2553
+ writer.uint32(10).string(message.id);
2554
+ }
2555
+ if (message.name !== "") {
2556
+ writer.uint32(18).string(message.name);
2557
+ }
2558
+ if (message.origin !== 0) {
2559
+ writer.uint32(24).int32(message.origin);
2560
+ }
2561
+ for (const v of message.element) {
2562
+ exports.ScheduleElement.encode(v, writer.uint32(34).fork()).join();
2563
+ }
2564
+ if (message.extensions !== undefined) {
2565
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
2566
+ }
2567
+ return writer;
2568
+ },
2569
+ decode(input, length) {
2570
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
2571
+ let end = length === undefined ? reader.len : reader.pos + length;
2572
+ const message = createBaseSchedule();
2573
+ while (reader.pos < end) {
2574
+ const tag = reader.uint32();
2575
+ switch (tag >>> 3) {
2576
+ case 1: {
2577
+ if (tag !== 10) {
2578
+ break;
2579
+ }
2580
+ message.id = reader.string();
2581
+ continue;
2582
+ }
2583
+ case 2: {
2584
+ if (tag !== 18) {
2585
+ break;
2586
+ }
2587
+ message.name = reader.string();
2588
+ continue;
2589
+ }
2590
+ case 3: {
2591
+ if (tag !== 24) {
2592
+ break;
2593
+ }
2594
+ message.origin = reader.int32();
2595
+ continue;
2596
+ }
2597
+ case 4: {
2598
+ if (tag !== 34) {
2599
+ break;
2600
+ }
2601
+ message.element.push(exports.ScheduleElement.decode(reader, reader.uint32()));
2602
+ continue;
2603
+ }
2604
+ case 99: {
2605
+ if (tag !== 794) {
2606
+ break;
2607
+ }
2608
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
2609
+ continue;
2610
+ }
2611
+ }
2612
+ if ((tag & 7) === 4 || tag === 0) {
2613
+ break;
2614
+ }
2615
+ reader.skip(tag & 7);
2616
+ }
2617
+ return message;
2618
+ },
2619
+ fromJSON(object) {
2620
+ return {
2621
+ id: isSet(object.id) ? globalThis.String(object.id) : "",
2622
+ name: isSet(object.name) ? globalThis.String(object.name) : "",
2623
+ origin: isSet(object.origin) ? schedule_OriginFromJSON(object.origin) : 0,
2624
+ element: globalThis.Array.isArray(object?.element)
2625
+ ? object.element.map((e) => exports.ScheduleElement.fromJSON(e))
2626
+ : [],
2627
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
2628
+ };
2629
+ },
2630
+ toJSON(message) {
2631
+ const obj = {};
2632
+ if (message.id !== "") {
2633
+ obj.id = message.id;
2634
+ }
2635
+ if (message.name !== "") {
2636
+ obj.name = message.name;
2637
+ }
2638
+ if (message.origin !== 0) {
2639
+ obj.origin = schedule_OriginToJSON(message.origin);
2640
+ }
2641
+ if (message.element?.length) {
2642
+ obj.element = message.element.map((e) => exports.ScheduleElement.toJSON(e));
2643
+ }
2644
+ if (message.extensions !== undefined) {
2645
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
2646
+ }
2647
+ return obj;
2648
+ },
2649
+ create(base) {
2650
+ return exports.Schedule.fromPartial(base ?? {});
2651
+ },
2652
+ fromPartial(object) {
2653
+ const message = createBaseSchedule();
2654
+ message.id = object.id ?? "";
2655
+ message.name = object.name ?? "";
2656
+ message.origin = object.origin ?? 0;
2657
+ message.element = object.element?.map((e) => exports.ScheduleElement.fromPartial(e)) || [];
2658
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
2659
+ ? exports.Extensions.fromPartial(object.extensions)
2660
+ : undefined;
2661
+ return message;
2662
+ },
2663
+ };
2664
+ function createBaseScheduleElement() {
2665
+ return {
2666
+ waypointId: "",
2667
+ eta: undefined,
2668
+ etaWindowStart: undefined,
2669
+ etaWindowEnd: undefined,
2670
+ etd: undefined,
2671
+ etdWindowStart: undefined,
2672
+ etdWindowEnd: undefined,
2673
+ stay: undefined,
2674
+ windSpeedMps: 0,
2675
+ windDirectionDeg: 0,
2676
+ currentSpeedMps: 0,
2677
+ currentDirectionDeg: 0,
2678
+ waveHeightM: 0,
2679
+ wavePeriodS: 0,
2680
+ waveDirectionDeg: 0,
2681
+ plannedRpm: 0,
2682
+ plannedPropellerPitchPct: 0,
2683
+ plannedFuelKg: 0,
2684
+ fuelSavingVsReferenceKg: 0,
2685
+ extensions: undefined,
2686
+ };
2687
+ }
2688
+ exports.ScheduleElement = {
2689
+ encode(message, writer = new wire_1.BinaryWriter()) {
2690
+ if (message.waypointId !== "") {
2691
+ writer.uint32(10).string(message.waypointId);
2692
+ }
2693
+ if (message.eta !== undefined) {
2694
+ timestamp_1.Timestamp.encode(toTimestamp(message.eta), writer.uint32(18).fork()).join();
2695
+ }
2696
+ if (message.etaWindowStart !== undefined) {
2697
+ timestamp_1.Timestamp.encode(toTimestamp(message.etaWindowStart), writer.uint32(26).fork()).join();
2698
+ }
2699
+ if (message.etaWindowEnd !== undefined) {
2700
+ timestamp_1.Timestamp.encode(toTimestamp(message.etaWindowEnd), writer.uint32(34).fork()).join();
2701
+ }
2702
+ if (message.etd !== undefined) {
2703
+ timestamp_1.Timestamp.encode(toTimestamp(message.etd), writer.uint32(42).fork()).join();
2704
+ }
2705
+ if (message.etdWindowStart !== undefined) {
2706
+ timestamp_1.Timestamp.encode(toTimestamp(message.etdWindowStart), writer.uint32(50).fork()).join();
2707
+ }
2708
+ if (message.etdWindowEnd !== undefined) {
2709
+ timestamp_1.Timestamp.encode(toTimestamp(message.etdWindowEnd), writer.uint32(58).fork()).join();
2710
+ }
2711
+ if (message.stay !== undefined) {
2712
+ duration_1.Duration.encode(message.stay, writer.uint32(66).fork()).join();
2713
+ }
2714
+ if (message.windSpeedMps !== 0) {
2715
+ writer.uint32(165).float(message.windSpeedMps);
2716
+ }
2717
+ if (message.windDirectionDeg !== 0) {
2718
+ writer.uint32(173).float(message.windDirectionDeg);
2719
+ }
2720
+ if (message.currentSpeedMps !== 0) {
2721
+ writer.uint32(181).float(message.currentSpeedMps);
2722
+ }
2723
+ if (message.currentDirectionDeg !== 0) {
2724
+ writer.uint32(189).float(message.currentDirectionDeg);
2725
+ }
2726
+ if (message.waveHeightM !== 0) {
2727
+ writer.uint32(197).float(message.waveHeightM);
2728
+ }
2729
+ if (message.wavePeriodS !== 0) {
2730
+ writer.uint32(205).float(message.wavePeriodS);
2731
+ }
2732
+ if (message.waveDirectionDeg !== 0) {
2733
+ writer.uint32(213).float(message.waveDirectionDeg);
2734
+ }
2735
+ if (message.plannedRpm !== 0) {
2736
+ writer.uint32(245).float(message.plannedRpm);
2737
+ }
2738
+ if (message.plannedPropellerPitchPct !== 0) {
2739
+ writer.uint32(253).float(message.plannedPropellerPitchPct);
2740
+ }
2741
+ if (message.plannedFuelKg !== 0) {
2742
+ writer.uint32(261).float(message.plannedFuelKg);
2743
+ }
2744
+ if (message.fuelSavingVsReferenceKg !== 0) {
2745
+ writer.uint32(269).float(message.fuelSavingVsReferenceKg);
2746
+ }
2747
+ if (message.extensions !== undefined) {
2748
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
2749
+ }
2750
+ return writer;
2751
+ },
2752
+ decode(input, length) {
2753
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
2754
+ let end = length === undefined ? reader.len : reader.pos + length;
2755
+ const message = createBaseScheduleElement();
2756
+ while (reader.pos < end) {
2757
+ const tag = reader.uint32();
2758
+ switch (tag >>> 3) {
2759
+ case 1: {
2760
+ if (tag !== 10) {
2761
+ break;
2762
+ }
2763
+ message.waypointId = reader.string();
2764
+ continue;
2765
+ }
2766
+ case 2: {
2767
+ if (tag !== 18) {
2768
+ break;
2769
+ }
2770
+ message.eta = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
2771
+ continue;
2772
+ }
2773
+ case 3: {
2774
+ if (tag !== 26) {
2775
+ break;
2776
+ }
2777
+ message.etaWindowStart = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
2778
+ continue;
2779
+ }
2780
+ case 4: {
2781
+ if (tag !== 34) {
2782
+ break;
2783
+ }
2784
+ message.etaWindowEnd = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
2785
+ continue;
2786
+ }
2787
+ case 5: {
2788
+ if (tag !== 42) {
2789
+ break;
2790
+ }
2791
+ message.etd = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
2792
+ continue;
2793
+ }
2794
+ case 6: {
2795
+ if (tag !== 50) {
2796
+ break;
2797
+ }
2798
+ message.etdWindowStart = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
2799
+ continue;
2800
+ }
2801
+ case 7: {
2802
+ if (tag !== 58) {
2803
+ break;
2804
+ }
2805
+ message.etdWindowEnd = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
2806
+ continue;
2807
+ }
2808
+ case 8: {
2809
+ if (tag !== 66) {
2810
+ break;
2811
+ }
2812
+ message.stay = duration_1.Duration.decode(reader, reader.uint32());
2813
+ continue;
2814
+ }
2815
+ case 20: {
2816
+ if (tag !== 165) {
2817
+ break;
2818
+ }
2819
+ message.windSpeedMps = reader.float();
2820
+ continue;
2821
+ }
2822
+ case 21: {
2823
+ if (tag !== 173) {
2824
+ break;
2825
+ }
2826
+ message.windDirectionDeg = reader.float();
2827
+ continue;
2828
+ }
2829
+ case 22: {
2830
+ if (tag !== 181) {
2831
+ break;
2832
+ }
2833
+ message.currentSpeedMps = reader.float();
2834
+ continue;
2835
+ }
2836
+ case 23: {
2837
+ if (tag !== 189) {
2838
+ break;
2839
+ }
2840
+ message.currentDirectionDeg = reader.float();
2841
+ continue;
2842
+ }
2843
+ case 24: {
2844
+ if (tag !== 197) {
2845
+ break;
2846
+ }
2847
+ message.waveHeightM = reader.float();
2848
+ continue;
2849
+ }
2850
+ case 25: {
2851
+ if (tag !== 205) {
2852
+ break;
2853
+ }
2854
+ message.wavePeriodS = reader.float();
2855
+ continue;
2856
+ }
2857
+ case 26: {
2858
+ if (tag !== 213) {
2859
+ break;
2860
+ }
2861
+ message.waveDirectionDeg = reader.float();
2862
+ continue;
2863
+ }
2864
+ case 30: {
2865
+ if (tag !== 245) {
2866
+ break;
2867
+ }
2868
+ message.plannedRpm = reader.float();
2869
+ continue;
2870
+ }
2871
+ case 31: {
2872
+ if (tag !== 253) {
2873
+ break;
2874
+ }
2875
+ message.plannedPropellerPitchPct = reader.float();
2876
+ continue;
2877
+ }
2878
+ case 32: {
2879
+ if (tag !== 261) {
2880
+ break;
2881
+ }
2882
+ message.plannedFuelKg = reader.float();
2883
+ continue;
2884
+ }
2885
+ case 33: {
2886
+ if (tag !== 269) {
2887
+ break;
2888
+ }
2889
+ message.fuelSavingVsReferenceKg = reader.float();
2890
+ continue;
2891
+ }
2892
+ case 99: {
2893
+ if (tag !== 794) {
2894
+ break;
2895
+ }
2896
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
2897
+ continue;
2898
+ }
2899
+ }
2900
+ if ((tag & 7) === 4 || tag === 0) {
2901
+ break;
2902
+ }
2903
+ reader.skip(tag & 7);
2904
+ }
2905
+ return message;
2906
+ },
2907
+ fromJSON(object) {
2908
+ return {
2909
+ waypointId: isSet(object.waypointId) ? globalThis.String(object.waypointId) : "",
2910
+ eta: isSet(object.eta) ? fromJsonTimestamp(object.eta) : undefined,
2911
+ etaWindowStart: isSet(object.etaWindowStart) ? fromJsonTimestamp(object.etaWindowStart) : undefined,
2912
+ etaWindowEnd: isSet(object.etaWindowEnd) ? fromJsonTimestamp(object.etaWindowEnd) : undefined,
2913
+ etd: isSet(object.etd) ? fromJsonTimestamp(object.etd) : undefined,
2914
+ etdWindowStart: isSet(object.etdWindowStart) ? fromJsonTimestamp(object.etdWindowStart) : undefined,
2915
+ etdWindowEnd: isSet(object.etdWindowEnd) ? fromJsonTimestamp(object.etdWindowEnd) : undefined,
2916
+ stay: isSet(object.stay) ? duration_1.Duration.fromJSON(object.stay) : undefined,
2917
+ windSpeedMps: isSet(object.windSpeedMps) ? globalThis.Number(object.windSpeedMps) : 0,
2918
+ windDirectionDeg: isSet(object.windDirectionDeg) ? globalThis.Number(object.windDirectionDeg) : 0,
2919
+ currentSpeedMps: isSet(object.currentSpeedMps) ? globalThis.Number(object.currentSpeedMps) : 0,
2920
+ currentDirectionDeg: isSet(object.currentDirectionDeg) ? globalThis.Number(object.currentDirectionDeg) : 0,
2921
+ waveHeightM: isSet(object.waveHeightM) ? globalThis.Number(object.waveHeightM) : 0,
2922
+ wavePeriodS: isSet(object.wavePeriodS) ? globalThis.Number(object.wavePeriodS) : 0,
2923
+ waveDirectionDeg: isSet(object.waveDirectionDeg) ? globalThis.Number(object.waveDirectionDeg) : 0,
2924
+ plannedRpm: isSet(object.plannedRpm) ? globalThis.Number(object.plannedRpm) : 0,
2925
+ plannedPropellerPitchPct: isSet(object.plannedPropellerPitchPct)
2926
+ ? globalThis.Number(object.plannedPropellerPitchPct)
2927
+ : 0,
2928
+ plannedFuelKg: isSet(object.plannedFuelKg) ? globalThis.Number(object.plannedFuelKg) : 0,
2929
+ fuelSavingVsReferenceKg: isSet(object.fuelSavingVsReferenceKg)
2930
+ ? globalThis.Number(object.fuelSavingVsReferenceKg)
2931
+ : 0,
2932
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
2933
+ };
2934
+ },
2935
+ toJSON(message) {
2936
+ const obj = {};
2937
+ if (message.waypointId !== "") {
2938
+ obj.waypointId = message.waypointId;
2939
+ }
2940
+ if (message.eta !== undefined) {
2941
+ obj.eta = message.eta.toISOString();
2942
+ }
2943
+ if (message.etaWindowStart !== undefined) {
2944
+ obj.etaWindowStart = message.etaWindowStart.toISOString();
2945
+ }
2946
+ if (message.etaWindowEnd !== undefined) {
2947
+ obj.etaWindowEnd = message.etaWindowEnd.toISOString();
2948
+ }
2949
+ if (message.etd !== undefined) {
2950
+ obj.etd = message.etd.toISOString();
2951
+ }
2952
+ if (message.etdWindowStart !== undefined) {
2953
+ obj.etdWindowStart = message.etdWindowStart.toISOString();
2954
+ }
2955
+ if (message.etdWindowEnd !== undefined) {
2956
+ obj.etdWindowEnd = message.etdWindowEnd.toISOString();
2957
+ }
2958
+ if (message.stay !== undefined) {
2959
+ obj.stay = duration_1.Duration.toJSON(message.stay);
2960
+ }
2961
+ if (message.windSpeedMps !== 0) {
2962
+ obj.windSpeedMps = message.windSpeedMps;
2963
+ }
2964
+ if (message.windDirectionDeg !== 0) {
2965
+ obj.windDirectionDeg = message.windDirectionDeg;
2966
+ }
2967
+ if (message.currentSpeedMps !== 0) {
2968
+ obj.currentSpeedMps = message.currentSpeedMps;
2969
+ }
2970
+ if (message.currentDirectionDeg !== 0) {
2971
+ obj.currentDirectionDeg = message.currentDirectionDeg;
2972
+ }
2973
+ if (message.waveHeightM !== 0) {
2974
+ obj.waveHeightM = message.waveHeightM;
2975
+ }
2976
+ if (message.wavePeriodS !== 0) {
2977
+ obj.wavePeriodS = message.wavePeriodS;
2978
+ }
2979
+ if (message.waveDirectionDeg !== 0) {
2980
+ obj.waveDirectionDeg = message.waveDirectionDeg;
2981
+ }
2982
+ if (message.plannedRpm !== 0) {
2983
+ obj.plannedRpm = message.plannedRpm;
2984
+ }
2985
+ if (message.plannedPropellerPitchPct !== 0) {
2986
+ obj.plannedPropellerPitchPct = message.plannedPropellerPitchPct;
2987
+ }
2988
+ if (message.plannedFuelKg !== 0) {
2989
+ obj.plannedFuelKg = message.plannedFuelKg;
2990
+ }
2991
+ if (message.fuelSavingVsReferenceKg !== 0) {
2992
+ obj.fuelSavingVsReferenceKg = message.fuelSavingVsReferenceKg;
2993
+ }
2994
+ if (message.extensions !== undefined) {
2995
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
2996
+ }
2997
+ return obj;
2998
+ },
2999
+ create(base) {
3000
+ return exports.ScheduleElement.fromPartial(base ?? {});
3001
+ },
3002
+ fromPartial(object) {
3003
+ const message = createBaseScheduleElement();
3004
+ message.waypointId = object.waypointId ?? "";
3005
+ message.eta = object.eta ?? undefined;
3006
+ message.etaWindowStart = object.etaWindowStart ?? undefined;
3007
+ message.etaWindowEnd = object.etaWindowEnd ?? undefined;
3008
+ message.etd = object.etd ?? undefined;
3009
+ message.etdWindowStart = object.etdWindowStart ?? undefined;
3010
+ message.etdWindowEnd = object.etdWindowEnd ?? undefined;
3011
+ message.stay = (object.stay !== undefined && object.stay !== null) ? duration_1.Duration.fromPartial(object.stay) : undefined;
3012
+ message.windSpeedMps = object.windSpeedMps ?? 0;
3013
+ message.windDirectionDeg = object.windDirectionDeg ?? 0;
3014
+ message.currentSpeedMps = object.currentSpeedMps ?? 0;
3015
+ message.currentDirectionDeg = object.currentDirectionDeg ?? 0;
3016
+ message.waveHeightM = object.waveHeightM ?? 0;
3017
+ message.wavePeriodS = object.wavePeriodS ?? 0;
3018
+ message.waveDirectionDeg = object.waveDirectionDeg ?? 0;
3019
+ message.plannedRpm = object.plannedRpm ?? 0;
3020
+ message.plannedPropellerPitchPct = object.plannedPropellerPitchPct ?? 0;
3021
+ message.plannedFuelKg = object.plannedFuelKg ?? 0;
3022
+ message.fuelSavingVsReferenceKg = object.fuelSavingVsReferenceKg ?? 0;
3023
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
3024
+ ? exports.Extensions.fromPartial(object.extensions)
3025
+ : undefined;
3026
+ return message;
3027
+ },
3028
+ };
3029
+ function createBaseActionPoints() {
3030
+ return { actionPoint: [], extensions: undefined };
3031
+ }
3032
+ exports.ActionPoints = {
3033
+ encode(message, writer = new wire_1.BinaryWriter()) {
3034
+ for (const v of message.actionPoint) {
3035
+ exports.ActionPoint.encode(v, writer.uint32(10).fork()).join();
3036
+ }
3037
+ if (message.extensions !== undefined) {
3038
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
3039
+ }
3040
+ return writer;
3041
+ },
3042
+ decode(input, length) {
3043
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
3044
+ let end = length === undefined ? reader.len : reader.pos + length;
3045
+ const message = createBaseActionPoints();
3046
+ while (reader.pos < end) {
3047
+ const tag = reader.uint32();
3048
+ switch (tag >>> 3) {
3049
+ case 1: {
3050
+ if (tag !== 10) {
3051
+ break;
3052
+ }
3053
+ message.actionPoint.push(exports.ActionPoint.decode(reader, reader.uint32()));
3054
+ continue;
3055
+ }
3056
+ case 99: {
3057
+ if (tag !== 794) {
3058
+ break;
3059
+ }
3060
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
3061
+ continue;
3062
+ }
3063
+ }
3064
+ if ((tag & 7) === 4 || tag === 0) {
3065
+ break;
3066
+ }
3067
+ reader.skip(tag & 7);
3068
+ }
3069
+ return message;
3070
+ },
3071
+ fromJSON(object) {
3072
+ return {
3073
+ actionPoint: globalThis.Array.isArray(object?.actionPoint)
3074
+ ? object.actionPoint.map((e) => exports.ActionPoint.fromJSON(e))
3075
+ : [],
3076
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
3077
+ };
3078
+ },
3079
+ toJSON(message) {
3080
+ const obj = {};
3081
+ if (message.actionPoint?.length) {
3082
+ obj.actionPoint = message.actionPoint.map((e) => exports.ActionPoint.toJSON(e));
3083
+ }
3084
+ if (message.extensions !== undefined) {
3085
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
3086
+ }
3087
+ return obj;
3088
+ },
3089
+ create(base) {
3090
+ return exports.ActionPoints.fromPartial(base ?? {});
3091
+ },
3092
+ fromPartial(object) {
3093
+ const message = createBaseActionPoints();
3094
+ message.actionPoint = object.actionPoint?.map((e) => exports.ActionPoint.fromPartial(e)) || [];
3095
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
3096
+ ? exports.Extensions.fromPartial(object.extensions)
3097
+ : undefined;
3098
+ return message;
3099
+ },
3100
+ };
3101
+ function createBaseActionPoint() {
3102
+ return {
3103
+ id: "",
3104
+ name: "",
3105
+ circle: undefined,
3106
+ areaGeojson: undefined,
3107
+ timeToAct: undefined,
3108
+ requiredAction: 0,
3109
+ description: "",
3110
+ extensions: undefined,
3111
+ };
3112
+ }
3113
+ exports.ActionPoint = {
3114
+ encode(message, writer = new wire_1.BinaryWriter()) {
3115
+ if (message.id !== "") {
3116
+ writer.uint32(10).string(message.id);
3117
+ }
3118
+ if (message.name !== "") {
3119
+ writer.uint32(18).string(message.name);
3120
+ }
3121
+ if (message.circle !== undefined) {
3122
+ exports.CircleGeometry.encode(message.circle, writer.uint32(50).fork()).join();
3123
+ }
3124
+ if (message.areaGeojson !== undefined) {
3125
+ GeoJSON_1.GeoJSON.encode(message.areaGeojson, writer.uint32(58).fork()).join();
3126
+ }
3127
+ if (message.timeToAct !== undefined) {
3128
+ duration_1.Duration.encode(message.timeToAct, writer.uint32(82).fork()).join();
3129
+ }
3130
+ if (message.requiredAction !== 0) {
3131
+ writer.uint32(88).int32(message.requiredAction);
3132
+ }
3133
+ if (message.description !== "") {
3134
+ writer.uint32(98).string(message.description);
3135
+ }
3136
+ if (message.extensions !== undefined) {
3137
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
3138
+ }
3139
+ return writer;
3140
+ },
3141
+ decode(input, length) {
3142
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
3143
+ let end = length === undefined ? reader.len : reader.pos + length;
3144
+ const message = createBaseActionPoint();
3145
+ while (reader.pos < end) {
3146
+ const tag = reader.uint32();
3147
+ switch (tag >>> 3) {
3148
+ case 1: {
3149
+ if (tag !== 10) {
3150
+ break;
3151
+ }
3152
+ message.id = reader.string();
3153
+ continue;
3154
+ }
3155
+ case 2: {
3156
+ if (tag !== 18) {
3157
+ break;
3158
+ }
3159
+ message.name = reader.string();
3160
+ continue;
3161
+ }
3162
+ case 6: {
3163
+ if (tag !== 50) {
3164
+ break;
3165
+ }
3166
+ message.circle = exports.CircleGeometry.decode(reader, reader.uint32());
3167
+ continue;
3168
+ }
3169
+ case 7: {
3170
+ if (tag !== 58) {
3171
+ break;
3172
+ }
3173
+ message.areaGeojson = GeoJSON_1.GeoJSON.decode(reader, reader.uint32());
3174
+ continue;
3175
+ }
3176
+ case 10: {
3177
+ if (tag !== 82) {
3178
+ break;
3179
+ }
3180
+ message.timeToAct = duration_1.Duration.decode(reader, reader.uint32());
3181
+ continue;
3182
+ }
3183
+ case 11: {
3184
+ if (tag !== 88) {
3185
+ break;
3186
+ }
3187
+ message.requiredAction = reader.int32();
3188
+ continue;
3189
+ }
3190
+ case 12: {
3191
+ if (tag !== 98) {
3192
+ break;
3193
+ }
3194
+ message.description = reader.string();
3195
+ continue;
3196
+ }
3197
+ case 99: {
3198
+ if (tag !== 794) {
3199
+ break;
3200
+ }
3201
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
3202
+ continue;
3203
+ }
3204
+ }
3205
+ if ((tag & 7) === 4 || tag === 0) {
3206
+ break;
3207
+ }
3208
+ reader.skip(tag & 7);
3209
+ }
3210
+ return message;
3211
+ },
3212
+ fromJSON(object) {
3213
+ return {
3214
+ id: isSet(object.id) ? globalThis.String(object.id) : "",
3215
+ name: isSet(object.name) ? globalThis.String(object.name) : "",
3216
+ circle: isSet(object.circle) ? exports.CircleGeometry.fromJSON(object.circle) : undefined,
3217
+ areaGeojson: isSet(object.areaGeojson) ? GeoJSON_1.GeoJSON.fromJSON(object.areaGeojson) : undefined,
3218
+ timeToAct: isSet(object.timeToAct) ? duration_1.Duration.fromJSON(object.timeToAct) : undefined,
3219
+ requiredAction: isSet(object.requiredAction) ? actionPointRequiredActionFromJSON(object.requiredAction) : 0,
3220
+ description: isSet(object.description) ? globalThis.String(object.description) : "",
3221
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
3222
+ };
3223
+ },
3224
+ toJSON(message) {
3225
+ const obj = {};
3226
+ if (message.id !== "") {
3227
+ obj.id = message.id;
3228
+ }
3229
+ if (message.name !== "") {
3230
+ obj.name = message.name;
3231
+ }
3232
+ if (message.circle !== undefined) {
3233
+ obj.circle = exports.CircleGeometry.toJSON(message.circle);
3234
+ }
3235
+ if (message.areaGeojson !== undefined) {
3236
+ obj.areaGeojson = GeoJSON_1.GeoJSON.toJSON(message.areaGeojson);
3237
+ }
3238
+ if (message.timeToAct !== undefined) {
3239
+ obj.timeToAct = duration_1.Duration.toJSON(message.timeToAct);
3240
+ }
3241
+ if (message.requiredAction !== 0) {
3242
+ obj.requiredAction = actionPointRequiredActionToJSON(message.requiredAction);
3243
+ }
3244
+ if (message.description !== "") {
3245
+ obj.description = message.description;
3246
+ }
3247
+ if (message.extensions !== undefined) {
3248
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
3249
+ }
3250
+ return obj;
3251
+ },
3252
+ create(base) {
3253
+ return exports.ActionPoint.fromPartial(base ?? {});
3254
+ },
3255
+ fromPartial(object) {
3256
+ const message = createBaseActionPoint();
3257
+ message.id = object.id ?? "";
3258
+ message.name = object.name ?? "";
3259
+ message.circle = (object.circle !== undefined && object.circle !== null)
3260
+ ? exports.CircleGeometry.fromPartial(object.circle)
3261
+ : undefined;
3262
+ message.areaGeojson = (object.areaGeojson !== undefined && object.areaGeojson !== null)
3263
+ ? GeoJSON_1.GeoJSON.fromPartial(object.areaGeojson)
3264
+ : undefined;
3265
+ message.timeToAct = (object.timeToAct !== undefined && object.timeToAct !== null)
3266
+ ? duration_1.Duration.fromPartial(object.timeToAct)
3267
+ : undefined;
3268
+ message.requiredAction = object.requiredAction ?? 0;
3269
+ message.description = object.description ?? "";
3270
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
3271
+ ? exports.Extensions.fromPartial(object.extensions)
3272
+ : undefined;
3273
+ return message;
3274
+ },
3275
+ };
3276
+ function createBaseHazardZone() {
3277
+ return {
3278
+ id: "",
3279
+ type: 0,
3280
+ severity: 0,
3281
+ description: "",
3282
+ circle: undefined,
3283
+ polygonGeojson: undefined,
3284
+ validFrom: undefined,
3285
+ validTo: undefined,
3286
+ extensions: undefined,
3287
+ };
3288
+ }
3289
+ exports.HazardZone = {
3290
+ encode(message, writer = new wire_1.BinaryWriter()) {
3291
+ if (message.id !== "") {
3292
+ writer.uint32(10).string(message.id);
3293
+ }
3294
+ if (message.type !== 0) {
3295
+ writer.uint32(16).int32(message.type);
3296
+ }
3297
+ if (message.severity !== 0) {
3298
+ writer.uint32(24).int32(message.severity);
3299
+ }
3300
+ if (message.description !== "") {
3301
+ writer.uint32(34).string(message.description);
3302
+ }
3303
+ if (message.circle !== undefined) {
3304
+ exports.CircleGeometry.encode(message.circle, writer.uint32(106).fork()).join();
3305
+ }
3306
+ if (message.polygonGeojson !== undefined) {
3307
+ GeoJSON_1.GeoJSON.encode(message.polygonGeojson, writer.uint32(114).fork()).join();
3308
+ }
3309
+ if (message.validFrom !== undefined) {
3310
+ timestamp_1.Timestamp.encode(toTimestamp(message.validFrom), writer.uint32(162).fork()).join();
3311
+ }
3312
+ if (message.validTo !== undefined) {
3313
+ timestamp_1.Timestamp.encode(toTimestamp(message.validTo), writer.uint32(170).fork()).join();
3314
+ }
3315
+ if (message.extensions !== undefined) {
3316
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
3317
+ }
3318
+ return writer;
3319
+ },
3320
+ decode(input, length) {
3321
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
3322
+ let end = length === undefined ? reader.len : reader.pos + length;
3323
+ const message = createBaseHazardZone();
3324
+ while (reader.pos < end) {
3325
+ const tag = reader.uint32();
3326
+ switch (tag >>> 3) {
3327
+ case 1: {
3328
+ if (tag !== 10) {
3329
+ break;
3330
+ }
3331
+ message.id = reader.string();
3332
+ continue;
3333
+ }
3334
+ case 2: {
3335
+ if (tag !== 16) {
3336
+ break;
3337
+ }
3338
+ message.type = reader.int32();
3339
+ continue;
3340
+ }
3341
+ case 3: {
3342
+ if (tag !== 24) {
3343
+ break;
3344
+ }
3345
+ message.severity = reader.int32();
3346
+ continue;
3347
+ }
3348
+ case 4: {
3349
+ if (tag !== 34) {
3350
+ break;
3351
+ }
3352
+ message.description = reader.string();
3353
+ continue;
3354
+ }
3355
+ case 13: {
3356
+ if (tag !== 106) {
3357
+ break;
3358
+ }
3359
+ message.circle = exports.CircleGeometry.decode(reader, reader.uint32());
3360
+ continue;
3361
+ }
3362
+ case 14: {
3363
+ if (tag !== 114) {
3364
+ break;
3365
+ }
3366
+ message.polygonGeojson = GeoJSON_1.GeoJSON.decode(reader, reader.uint32());
3367
+ continue;
3368
+ }
3369
+ case 20: {
3370
+ if (tag !== 162) {
3371
+ break;
3372
+ }
3373
+ message.validFrom = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
3374
+ continue;
3375
+ }
3376
+ case 21: {
3377
+ if (tag !== 170) {
3378
+ break;
3379
+ }
3380
+ message.validTo = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
3381
+ continue;
3382
+ }
3383
+ case 99: {
3384
+ if (tag !== 794) {
3385
+ break;
3386
+ }
3387
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
3388
+ continue;
3389
+ }
3390
+ }
3391
+ if ((tag & 7) === 4 || tag === 0) {
3392
+ break;
3393
+ }
3394
+ reader.skip(tag & 7);
3395
+ }
3396
+ return message;
3397
+ },
3398
+ fromJSON(object) {
3399
+ return {
3400
+ id: isSet(object.id) ? globalThis.String(object.id) : "",
3401
+ type: isSet(object.type) ? hazardZoneTypeFromJSON(object.type) : 0,
3402
+ severity: isSet(object.severity) ? (0, Severity_1.severityLevelFromJSON)(object.severity) : 0,
3403
+ description: isSet(object.description) ? globalThis.String(object.description) : "",
3404
+ circle: isSet(object.circle) ? exports.CircleGeometry.fromJSON(object.circle) : undefined,
3405
+ polygonGeojson: isSet(object.polygonGeojson) ? GeoJSON_1.GeoJSON.fromJSON(object.polygonGeojson) : undefined,
3406
+ validFrom: isSet(object.validFrom) ? fromJsonTimestamp(object.validFrom) : undefined,
3407
+ validTo: isSet(object.validTo) ? fromJsonTimestamp(object.validTo) : undefined,
3408
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
3409
+ };
3410
+ },
3411
+ toJSON(message) {
3412
+ const obj = {};
3413
+ if (message.id !== "") {
3414
+ obj.id = message.id;
3415
+ }
3416
+ if (message.type !== 0) {
3417
+ obj.type = hazardZoneTypeToJSON(message.type);
3418
+ }
3419
+ if (message.severity !== 0) {
3420
+ obj.severity = (0, Severity_1.severityLevelToJSON)(message.severity);
3421
+ }
3422
+ if (message.description !== "") {
3423
+ obj.description = message.description;
3424
+ }
3425
+ if (message.circle !== undefined) {
3426
+ obj.circle = exports.CircleGeometry.toJSON(message.circle);
3427
+ }
3428
+ if (message.polygonGeojson !== undefined) {
3429
+ obj.polygonGeojson = GeoJSON_1.GeoJSON.toJSON(message.polygonGeojson);
3430
+ }
3431
+ if (message.validFrom !== undefined) {
3432
+ obj.validFrom = message.validFrom.toISOString();
3433
+ }
3434
+ if (message.validTo !== undefined) {
3435
+ obj.validTo = message.validTo.toISOString();
3436
+ }
3437
+ if (message.extensions !== undefined) {
3438
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
3439
+ }
3440
+ return obj;
3441
+ },
3442
+ create(base) {
3443
+ return exports.HazardZone.fromPartial(base ?? {});
3444
+ },
3445
+ fromPartial(object) {
3446
+ const message = createBaseHazardZone();
3447
+ message.id = object.id ?? "";
3448
+ message.type = object.type ?? 0;
3449
+ message.severity = object.severity ?? 0;
3450
+ message.description = object.description ?? "";
3451
+ message.circle = (object.circle !== undefined && object.circle !== null)
3452
+ ? exports.CircleGeometry.fromPartial(object.circle)
3453
+ : undefined;
3454
+ message.polygonGeojson = (object.polygonGeojson !== undefined && object.polygonGeojson !== null)
3455
+ ? GeoJSON_1.GeoJSON.fromPartial(object.polygonGeojson)
3456
+ : undefined;
3457
+ message.validFrom = object.validFrom ?? undefined;
3458
+ message.validTo = object.validTo ?? undefined;
3459
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
3460
+ ? exports.Extensions.fromPartial(object.extensions)
3461
+ : undefined;
3462
+ return message;
3463
+ },
3464
+ };
3465
+ function createBaseRouteChallenge() {
3466
+ return { id: "", type: 0, severity: 0, description: "", waypointIds: [], extensions: undefined };
3467
+ }
3468
+ exports.RouteChallenge = {
3469
+ encode(message, writer = new wire_1.BinaryWriter()) {
3470
+ if (message.id !== "") {
3471
+ writer.uint32(10).string(message.id);
3472
+ }
3473
+ if (message.type !== 0) {
3474
+ writer.uint32(16).int32(message.type);
3475
+ }
3476
+ if (message.severity !== 0) {
3477
+ writer.uint32(24).int32(message.severity);
3478
+ }
3479
+ if (message.description !== "") {
3480
+ writer.uint32(34).string(message.description);
3481
+ }
3482
+ for (const v of message.waypointIds) {
3483
+ writer.uint32(42).string(v);
3484
+ }
3485
+ if (message.extensions !== undefined) {
3486
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
3487
+ }
3488
+ return writer;
3489
+ },
3490
+ decode(input, length) {
3491
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
3492
+ let end = length === undefined ? reader.len : reader.pos + length;
3493
+ const message = createBaseRouteChallenge();
3494
+ while (reader.pos < end) {
3495
+ const tag = reader.uint32();
3496
+ switch (tag >>> 3) {
3497
+ case 1: {
3498
+ if (tag !== 10) {
3499
+ break;
3500
+ }
3501
+ message.id = reader.string();
3502
+ continue;
3503
+ }
3504
+ case 2: {
3505
+ if (tag !== 16) {
3506
+ break;
3507
+ }
3508
+ message.type = reader.int32();
3509
+ continue;
3510
+ }
3511
+ case 3: {
3512
+ if (tag !== 24) {
3513
+ break;
3514
+ }
3515
+ message.severity = reader.int32();
3516
+ continue;
3517
+ }
3518
+ case 4: {
3519
+ if (tag !== 34) {
3520
+ break;
3521
+ }
3522
+ message.description = reader.string();
3523
+ continue;
3524
+ }
3525
+ case 5: {
3526
+ if (tag !== 42) {
3527
+ break;
3528
+ }
3529
+ message.waypointIds.push(reader.string());
3530
+ continue;
3531
+ }
3532
+ case 99: {
3533
+ if (tag !== 794) {
3534
+ break;
3535
+ }
3536
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
3537
+ continue;
3538
+ }
3539
+ }
3540
+ if ((tag & 7) === 4 || tag === 0) {
3541
+ break;
3542
+ }
3543
+ reader.skip(tag & 7);
3544
+ }
3545
+ return message;
3546
+ },
3547
+ fromJSON(object) {
3548
+ return {
3549
+ id: isSet(object.id) ? globalThis.String(object.id) : "",
3550
+ type: isSet(object.type) ? routeChallengeTypeFromJSON(object.type) : 0,
3551
+ severity: isSet(object.severity) ? (0, Severity_1.severityLevelFromJSON)(object.severity) : 0,
3552
+ description: isSet(object.description) ? globalThis.String(object.description) : "",
3553
+ waypointIds: globalThis.Array.isArray(object?.waypointIds)
3554
+ ? object.waypointIds.map((e) => globalThis.String(e))
3555
+ : [],
3556
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
3557
+ };
3558
+ },
3559
+ toJSON(message) {
3560
+ const obj = {};
3561
+ if (message.id !== "") {
3562
+ obj.id = message.id;
3563
+ }
3564
+ if (message.type !== 0) {
3565
+ obj.type = routeChallengeTypeToJSON(message.type);
3566
+ }
3567
+ if (message.severity !== 0) {
3568
+ obj.severity = (0, Severity_1.severityLevelToJSON)(message.severity);
3569
+ }
3570
+ if (message.description !== "") {
3571
+ obj.description = message.description;
3572
+ }
3573
+ if (message.waypointIds?.length) {
3574
+ obj.waypointIds = message.waypointIds;
3575
+ }
3576
+ if (message.extensions !== undefined) {
3577
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
3578
+ }
3579
+ return obj;
3580
+ },
3581
+ create(base) {
3582
+ return exports.RouteChallenge.fromPartial(base ?? {});
3583
+ },
3584
+ fromPartial(object) {
3585
+ const message = createBaseRouteChallenge();
3586
+ message.id = object.id ?? "";
3587
+ message.type = object.type ?? 0;
3588
+ message.severity = object.severity ?? 0;
3589
+ message.description = object.description ?? "";
3590
+ message.waypointIds = object.waypointIds?.map((e) => e) || [];
3591
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
3592
+ ? exports.Extensions.fromPartial(object.extensions)
3593
+ : undefined;
3594
+ return message;
3595
+ },
3596
+ };
3597
+ function createBaseRouteIssue() {
3598
+ return { id: "", severity: 0, description: "", raisedAt: undefined, raisedBy: "", extensions: undefined };
3599
+ }
3600
+ exports.RouteIssue = {
3601
+ encode(message, writer = new wire_1.BinaryWriter()) {
3602
+ if (message.id !== "") {
3603
+ writer.uint32(10).string(message.id);
3604
+ }
3605
+ if (message.severity !== 0) {
3606
+ writer.uint32(16).int32(message.severity);
3607
+ }
3608
+ if (message.description !== "") {
3609
+ writer.uint32(26).string(message.description);
3610
+ }
3611
+ if (message.raisedAt !== undefined) {
3612
+ timestamp_1.Timestamp.encode(toTimestamp(message.raisedAt), writer.uint32(34).fork()).join();
3613
+ }
3614
+ if (message.raisedBy !== "") {
3615
+ writer.uint32(42).string(message.raisedBy);
3616
+ }
3617
+ if (message.extensions !== undefined) {
3618
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
3619
+ }
3620
+ return writer;
3621
+ },
3622
+ decode(input, length) {
3623
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
3624
+ let end = length === undefined ? reader.len : reader.pos + length;
3625
+ const message = createBaseRouteIssue();
3626
+ while (reader.pos < end) {
3627
+ const tag = reader.uint32();
3628
+ switch (tag >>> 3) {
3629
+ case 1: {
3630
+ if (tag !== 10) {
3631
+ break;
3632
+ }
3633
+ message.id = reader.string();
3634
+ continue;
3635
+ }
3636
+ case 2: {
3637
+ if (tag !== 16) {
3638
+ break;
3639
+ }
3640
+ message.severity = reader.int32();
3641
+ continue;
3642
+ }
3643
+ case 3: {
3644
+ if (tag !== 26) {
3645
+ break;
3646
+ }
3647
+ message.description = reader.string();
3648
+ continue;
3649
+ }
3650
+ case 4: {
3651
+ if (tag !== 34) {
3652
+ break;
3653
+ }
3654
+ message.raisedAt = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
3655
+ continue;
3656
+ }
3657
+ case 5: {
3658
+ if (tag !== 42) {
3659
+ break;
3660
+ }
3661
+ message.raisedBy = reader.string();
3662
+ continue;
3663
+ }
3664
+ case 99: {
3665
+ if (tag !== 794) {
3666
+ break;
3667
+ }
3668
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
3669
+ continue;
3670
+ }
3671
+ }
3672
+ if ((tag & 7) === 4 || tag === 0) {
3673
+ break;
3674
+ }
3675
+ reader.skip(tag & 7);
3676
+ }
3677
+ return message;
3678
+ },
3679
+ fromJSON(object) {
3680
+ return {
3681
+ id: isSet(object.id) ? globalThis.String(object.id) : "",
3682
+ severity: isSet(object.severity) ? (0, Severity_1.severityLevelFromJSON)(object.severity) : 0,
3683
+ description: isSet(object.description) ? globalThis.String(object.description) : "",
3684
+ raisedAt: isSet(object.raisedAt) ? fromJsonTimestamp(object.raisedAt) : undefined,
3685
+ raisedBy: isSet(object.raisedBy) ? globalThis.String(object.raisedBy) : "",
3686
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
3687
+ };
3688
+ },
3689
+ toJSON(message) {
3690
+ const obj = {};
3691
+ if (message.id !== "") {
3692
+ obj.id = message.id;
3693
+ }
3694
+ if (message.severity !== 0) {
3695
+ obj.severity = (0, Severity_1.severityLevelToJSON)(message.severity);
3696
+ }
3697
+ if (message.description !== "") {
3698
+ obj.description = message.description;
3699
+ }
3700
+ if (message.raisedAt !== undefined) {
3701
+ obj.raisedAt = message.raisedAt.toISOString();
3702
+ }
3703
+ if (message.raisedBy !== "") {
3704
+ obj.raisedBy = message.raisedBy;
3705
+ }
3706
+ if (message.extensions !== undefined) {
3707
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
3708
+ }
3709
+ return obj;
3710
+ },
3711
+ create(base) {
3712
+ return exports.RouteIssue.fromPartial(base ?? {});
3713
+ },
3714
+ fromPartial(object) {
3715
+ const message = createBaseRouteIssue();
3716
+ message.id = object.id ?? "";
3717
+ message.severity = object.severity ?? 0;
3718
+ message.description = object.description ?? "";
3719
+ message.raisedAt = object.raisedAt ?? undefined;
3720
+ message.raisedBy = object.raisedBy ?? "";
3721
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
3722
+ ? exports.Extensions.fromPartial(object.extensions)
3723
+ : undefined;
3724
+ return message;
3725
+ },
3726
+ };
3727
+ function createBaseRouteSignatures() {
3728
+ return { routeRef: undefined, signatures: [], extensions: undefined };
3729
+ }
3730
+ exports.RouteSignatures = {
3731
+ encode(message, writer = new wire_1.BinaryWriter()) {
3732
+ if (message.routeRef !== undefined) {
3733
+ exports.RouteRef.encode(message.routeRef, writer.uint32(10).fork()).join();
3734
+ }
3735
+ for (const v of message.signatures) {
3736
+ exports.RouteSignature.encode(v, writer.uint32(18).fork()).join();
3737
+ }
3738
+ if (message.extensions !== undefined) {
3739
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
3740
+ }
3741
+ return writer;
3742
+ },
3743
+ decode(input, length) {
3744
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
3745
+ let end = length === undefined ? reader.len : reader.pos + length;
3746
+ const message = createBaseRouteSignatures();
3747
+ while (reader.pos < end) {
3748
+ const tag = reader.uint32();
3749
+ switch (tag >>> 3) {
3750
+ case 1: {
3751
+ if (tag !== 10) {
3752
+ break;
3753
+ }
3754
+ message.routeRef = exports.RouteRef.decode(reader, reader.uint32());
3755
+ continue;
3756
+ }
3757
+ case 2: {
3758
+ if (tag !== 18) {
3759
+ break;
3760
+ }
3761
+ message.signatures.push(exports.RouteSignature.decode(reader, reader.uint32()));
3762
+ continue;
3763
+ }
3764
+ case 99: {
3765
+ if (tag !== 794) {
3766
+ break;
3767
+ }
3768
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
3769
+ continue;
3770
+ }
3771
+ }
3772
+ if ((tag & 7) === 4 || tag === 0) {
3773
+ break;
3774
+ }
3775
+ reader.skip(tag & 7);
3776
+ }
3777
+ return message;
3778
+ },
3779
+ fromJSON(object) {
3780
+ return {
3781
+ routeRef: isSet(object.routeRef) ? exports.RouteRef.fromJSON(object.routeRef) : undefined,
3782
+ signatures: globalThis.Array.isArray(object?.signatures)
3783
+ ? object.signatures.map((e) => exports.RouteSignature.fromJSON(e))
3784
+ : [],
3785
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
3786
+ };
3787
+ },
3788
+ toJSON(message) {
3789
+ const obj = {};
3790
+ if (message.routeRef !== undefined) {
3791
+ obj.routeRef = exports.RouteRef.toJSON(message.routeRef);
3792
+ }
3793
+ if (message.signatures?.length) {
3794
+ obj.signatures = message.signatures.map((e) => exports.RouteSignature.toJSON(e));
3795
+ }
3796
+ if (message.extensions !== undefined) {
3797
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
3798
+ }
3799
+ return obj;
3800
+ },
3801
+ create(base) {
3802
+ return exports.RouteSignatures.fromPartial(base ?? {});
3803
+ },
3804
+ fromPartial(object) {
3805
+ const message = createBaseRouteSignatures();
3806
+ message.routeRef = (object.routeRef !== undefined && object.routeRef !== null)
3807
+ ? exports.RouteRef.fromPartial(object.routeRef)
3808
+ : undefined;
3809
+ message.signatures = object.signatures?.map((e) => exports.RouteSignature.fromPartial(e)) || [];
3810
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
3811
+ ? exports.Extensions.fromPartial(object.extensions)
3812
+ : undefined;
3813
+ return message;
3814
+ },
3815
+ };
3816
+ function createBaseRouteSignature() {
3817
+ return {
3818
+ signerId: "",
3819
+ signerRole: "",
3820
+ algorithm: "",
3821
+ signature: new Uint8Array(0),
3822
+ signedAt: undefined,
3823
+ keyReference: "",
3824
+ extensions: undefined,
3825
+ };
3826
+ }
3827
+ exports.RouteSignature = {
3828
+ encode(message, writer = new wire_1.BinaryWriter()) {
3829
+ if (message.signerId !== "") {
3830
+ writer.uint32(10).string(message.signerId);
3831
+ }
3832
+ if (message.signerRole !== "") {
3833
+ writer.uint32(18).string(message.signerRole);
3834
+ }
3835
+ if (message.algorithm !== "") {
3836
+ writer.uint32(26).string(message.algorithm);
3837
+ }
3838
+ if (message.signature.length !== 0) {
3839
+ writer.uint32(34).bytes(message.signature);
3840
+ }
3841
+ if (message.signedAt !== undefined) {
3842
+ timestamp_1.Timestamp.encode(toTimestamp(message.signedAt), writer.uint32(42).fork()).join();
3843
+ }
3844
+ if (message.keyReference !== "") {
3845
+ writer.uint32(50).string(message.keyReference);
3846
+ }
3847
+ if (message.extensions !== undefined) {
3848
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
3849
+ }
3850
+ return writer;
3851
+ },
3852
+ decode(input, length) {
3853
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
3854
+ let end = length === undefined ? reader.len : reader.pos + length;
3855
+ const message = createBaseRouteSignature();
3856
+ while (reader.pos < end) {
3857
+ const tag = reader.uint32();
3858
+ switch (tag >>> 3) {
3859
+ case 1: {
3860
+ if (tag !== 10) {
3861
+ break;
3862
+ }
3863
+ message.signerId = reader.string();
3864
+ continue;
3865
+ }
3866
+ case 2: {
3867
+ if (tag !== 18) {
3868
+ break;
3869
+ }
3870
+ message.signerRole = reader.string();
3871
+ continue;
3872
+ }
3873
+ case 3: {
3874
+ if (tag !== 26) {
3875
+ break;
3876
+ }
3877
+ message.algorithm = reader.string();
3878
+ continue;
3879
+ }
3880
+ case 4: {
3881
+ if (tag !== 34) {
3882
+ break;
3883
+ }
3884
+ message.signature = reader.bytes();
3885
+ continue;
3886
+ }
3887
+ case 5: {
3888
+ if (tag !== 42) {
3889
+ break;
3890
+ }
3891
+ message.signedAt = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
3892
+ continue;
3893
+ }
3894
+ case 6: {
3895
+ if (tag !== 50) {
3896
+ break;
3897
+ }
3898
+ message.keyReference = reader.string();
3899
+ continue;
3900
+ }
3901
+ case 99: {
3902
+ if (tag !== 794) {
3903
+ break;
3904
+ }
3905
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
3906
+ continue;
3907
+ }
3908
+ }
3909
+ if ((tag & 7) === 4 || tag === 0) {
3910
+ break;
3911
+ }
3912
+ reader.skip(tag & 7);
3913
+ }
3914
+ return message;
3915
+ },
3916
+ fromJSON(object) {
3917
+ return {
3918
+ signerId: isSet(object.signerId) ? globalThis.String(object.signerId) : "",
3919
+ signerRole: isSet(object.signerRole) ? globalThis.String(object.signerRole) : "",
3920
+ algorithm: isSet(object.algorithm) ? globalThis.String(object.algorithm) : "",
3921
+ signature: isSet(object.signature) ? bytesFromBase64(object.signature) : new Uint8Array(0),
3922
+ signedAt: isSet(object.signedAt) ? fromJsonTimestamp(object.signedAt) : undefined,
3923
+ keyReference: isSet(object.keyReference) ? globalThis.String(object.keyReference) : "",
3924
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
3925
+ };
3926
+ },
3927
+ toJSON(message) {
3928
+ const obj = {};
3929
+ if (message.signerId !== "") {
3930
+ obj.signerId = message.signerId;
3931
+ }
3932
+ if (message.signerRole !== "") {
3933
+ obj.signerRole = message.signerRole;
3934
+ }
3935
+ if (message.algorithm !== "") {
3936
+ obj.algorithm = message.algorithm;
3937
+ }
3938
+ if (message.signature.length !== 0) {
3939
+ obj.signature = base64FromBytes(message.signature);
3940
+ }
3941
+ if (message.signedAt !== undefined) {
3942
+ obj.signedAt = message.signedAt.toISOString();
3943
+ }
3944
+ if (message.keyReference !== "") {
3945
+ obj.keyReference = message.keyReference;
3946
+ }
3947
+ if (message.extensions !== undefined) {
3948
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
3949
+ }
3950
+ return obj;
3951
+ },
3952
+ create(base) {
3953
+ return exports.RouteSignature.fromPartial(base ?? {});
3954
+ },
3955
+ fromPartial(object) {
3956
+ const message = createBaseRouteSignature();
3957
+ message.signerId = object.signerId ?? "";
3958
+ message.signerRole = object.signerRole ?? "";
3959
+ message.algorithm = object.algorithm ?? "";
3960
+ message.signature = object.signature ?? new Uint8Array(0);
3961
+ message.signedAt = object.signedAt ?? undefined;
3962
+ message.keyReference = object.keyReference ?? "";
3963
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
3964
+ ? exports.Extensions.fromPartial(object.extensions)
3965
+ : undefined;
3966
+ return message;
3967
+ },
3968
+ };
3969
+ function createBaseRouteStatusUpdate() {
3970
+ return { timestamp: undefined, routeId: "", routeEditionNumber: 0, status: 0, changedBy: "", note: "" };
3971
+ }
3972
+ exports.RouteStatusUpdate = {
3973
+ encode(message, writer = new wire_1.BinaryWriter()) {
3974
+ if (message.timestamp !== undefined) {
3975
+ timestamp_1.Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(10).fork()).join();
3976
+ }
3977
+ if (message.routeId !== "") {
3978
+ writer.uint32(18).string(message.routeId);
3979
+ }
3980
+ if (message.routeEditionNumber !== 0) {
3981
+ writer.uint32(24).uint32(message.routeEditionNumber);
3982
+ }
3983
+ if (message.status !== 0) {
3984
+ writer.uint32(32).int32(message.status);
3985
+ }
3986
+ if (message.changedBy !== "") {
3987
+ writer.uint32(42).string(message.changedBy);
3988
+ }
3989
+ if (message.note !== "") {
3990
+ writer.uint32(50).string(message.note);
3991
+ }
3992
+ return writer;
3993
+ },
3994
+ decode(input, length) {
3995
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
3996
+ let end = length === undefined ? reader.len : reader.pos + length;
3997
+ const message = createBaseRouteStatusUpdate();
3998
+ while (reader.pos < end) {
3999
+ const tag = reader.uint32();
4000
+ switch (tag >>> 3) {
4001
+ case 1: {
4002
+ if (tag !== 10) {
4003
+ break;
4004
+ }
4005
+ message.timestamp = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
4006
+ continue;
4007
+ }
4008
+ case 2: {
4009
+ if (tag !== 18) {
4010
+ break;
4011
+ }
4012
+ message.routeId = reader.string();
4013
+ continue;
4014
+ }
4015
+ case 3: {
4016
+ if (tag !== 24) {
4017
+ break;
4018
+ }
4019
+ message.routeEditionNumber = reader.uint32();
4020
+ continue;
4021
+ }
4022
+ case 4: {
4023
+ if (tag !== 32) {
4024
+ break;
4025
+ }
4026
+ message.status = reader.int32();
4027
+ continue;
4028
+ }
4029
+ case 5: {
4030
+ if (tag !== 42) {
4031
+ break;
4032
+ }
4033
+ message.changedBy = reader.string();
4034
+ continue;
4035
+ }
4036
+ case 6: {
4037
+ if (tag !== 50) {
4038
+ break;
4039
+ }
4040
+ message.note = reader.string();
4041
+ continue;
4042
+ }
4043
+ }
4044
+ if ((tag & 7) === 4 || tag === 0) {
4045
+ break;
4046
+ }
4047
+ reader.skip(tag & 7);
4048
+ }
4049
+ return message;
4050
+ },
4051
+ fromJSON(object) {
4052
+ return {
4053
+ timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,
4054
+ routeId: isSet(object.routeId) ? globalThis.String(object.routeId) : "",
4055
+ routeEditionNumber: isSet(object.routeEditionNumber) ? globalThis.Number(object.routeEditionNumber) : 0,
4056
+ status: isSet(object.status) ? routeStatusFromJSON(object.status) : 0,
4057
+ changedBy: isSet(object.changedBy) ? globalThis.String(object.changedBy) : "",
4058
+ note: isSet(object.note) ? globalThis.String(object.note) : "",
4059
+ };
4060
+ },
4061
+ toJSON(message) {
4062
+ const obj = {};
4063
+ if (message.timestamp !== undefined) {
4064
+ obj.timestamp = message.timestamp.toISOString();
4065
+ }
4066
+ if (message.routeId !== "") {
4067
+ obj.routeId = message.routeId;
4068
+ }
4069
+ if (message.routeEditionNumber !== 0) {
4070
+ obj.routeEditionNumber = Math.round(message.routeEditionNumber);
4071
+ }
4072
+ if (message.status !== 0) {
4073
+ obj.status = routeStatusToJSON(message.status);
4074
+ }
4075
+ if (message.changedBy !== "") {
4076
+ obj.changedBy = message.changedBy;
4077
+ }
4078
+ if (message.note !== "") {
4079
+ obj.note = message.note;
4080
+ }
4081
+ return obj;
4082
+ },
4083
+ create(base) {
4084
+ return exports.RouteStatusUpdate.fromPartial(base ?? {});
4085
+ },
4086
+ fromPartial(object) {
4087
+ const message = createBaseRouteStatusUpdate();
4088
+ message.timestamp = object.timestamp ?? undefined;
4089
+ message.routeId = object.routeId ?? "";
4090
+ message.routeEditionNumber = object.routeEditionNumber ?? 0;
4091
+ message.status = object.status ?? 0;
4092
+ message.changedBy = object.changedBy ?? "";
4093
+ message.note = object.note ?? "";
4094
+ return message;
4095
+ },
4096
+ };
4097
+ function bytesFromBase64(b64) {
4098
+ if (globalThis.Buffer) {
4099
+ return Uint8Array.from(globalThis.Buffer.from(b64, "base64"));
4100
+ }
4101
+ else {
4102
+ const bin = globalThis.atob(b64);
4103
+ const arr = new Uint8Array(bin.length);
4104
+ for (let i = 0; i < bin.length; ++i) {
4105
+ arr[i] = bin.charCodeAt(i);
4106
+ }
4107
+ return arr;
4108
+ }
4109
+ }
4110
+ function base64FromBytes(arr) {
4111
+ if (globalThis.Buffer) {
4112
+ return globalThis.Buffer.from(arr).toString("base64");
4113
+ }
4114
+ else {
4115
+ const bin = [];
4116
+ arr.forEach((byte) => {
4117
+ bin.push(globalThis.String.fromCharCode(byte));
4118
+ });
4119
+ return globalThis.btoa(bin.join(""));
4120
+ }
4121
+ }
4122
+ function toTimestamp(date) {
4123
+ const seconds = Math.trunc(date.getTime() / 1000);
4124
+ const nanos = (date.getTime() % 1000) * 1000000;
4125
+ return { seconds, nanos };
4126
+ }
4127
+ function fromTimestamp(t) {
4128
+ let millis = (t.seconds || 0) * 1000;
4129
+ millis += (t.nanos || 0) / 1000000;
4130
+ return new globalThis.Date(millis);
4131
+ }
4132
+ function fromJsonTimestamp(o) {
4133
+ if (o instanceof globalThis.Date) {
4134
+ return o;
4135
+ }
4136
+ else if (typeof o === "string") {
4137
+ return new globalThis.Date(o);
4138
+ }
4139
+ else {
4140
+ return fromTimestamp(timestamp_1.Timestamp.fromJSON(o));
4141
+ }
4142
+ }
4143
+ function isObject(value) {
4144
+ return typeof value === "object" && value !== null;
4145
+ }
4146
+ function isSet(value) {
4147
+ return value !== null && value !== undefined;
4148
+ }