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