@rise-maritime/keelson-js 0.5.3 → 0.6.0-alpha.202.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 (121) 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 +640 -0
  21. package/dist/interfaces/Route.js +4180 -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/ChecklistEvent.d.ts +152 -0
  66. package/dist/payloads/ChecklistEvent.js +524 -0
  67. package/dist/payloads/ChecklistEvidence.d.ts +79 -0
  68. package/dist/payloads/ChecklistEvidence.js +287 -0
  69. package/dist/payloads/ChecklistPresence.d.ts +68 -0
  70. package/dist/payloads/ChecklistPresence.js +286 -0
  71. package/dist/payloads/ChecklistProcedure.d.ts +81 -0
  72. package/dist/payloads/ChecklistProcedure.js +364 -0
  73. package/dist/payloads/ChecklistState.d.ts +178 -0
  74. package/dist/payloads/ChecklistState.js +838 -0
  75. package/dist/payloads/CommandAuthority.d.ts +82 -0
  76. package/dist/payloads/CommandAuthority.js +364 -0
  77. package/dist/payloads/Coordinate.d.ts +39 -0
  78. package/dist/payloads/Coordinate.js +85 -0
  79. package/dist/payloads/EntityHealth.d.ts +9 -0
  80. package/dist/payloads/EntityHealth.js +14 -0
  81. package/dist/payloads/Mission.d.ts +137 -0
  82. package/dist/payloads/Mission.js +826 -0
  83. package/dist/payloads/OperationalAuthority.d.ts +172 -5
  84. package/dist/payloads/OperationalAuthority.js +525 -6
  85. package/dist/payloads/Route.d.ts +662 -0
  86. package/dist/payloads/Route.js +4289 -0
  87. package/dist/payloads/RouteChangeEvent.d.ts +42 -0
  88. package/dist/payloads/RouteChangeEvent.js +223 -0
  89. package/dist/payloads/RouteEditAuthority.d.ts +87 -0
  90. package/dist/payloads/RouteEditAuthority.js +380 -0
  91. package/dist/payloads/RouteExecution.d.ts +64 -0
  92. package/dist/payloads/RouteExecution.js +310 -0
  93. package/dist/payloads/ScenarioStatus.d.ts +160 -0
  94. package/dist/payloads/ScenarioStatus.js +654 -0
  95. package/dist/payloads/Severity.d.ts +13 -6
  96. package/dist/payloads/Severity.js +30 -18
  97. package/dist/payloads/SimulationStatus.d.ts +3 -4
  98. package/dist/payloads/SimulationStatus.js +12 -18
  99. package/dist/payloads/TestObjectStatus.d.ts +154 -0
  100. package/dist/payloads/TestObjectStatus.js +580 -0
  101. package/dist/payloads/VesselType.d.ts +2 -1
  102. package/dist/payloads/VesselType.js +1 -1
  103. package/dist/payloads/Voyage.d.ts +154 -0
  104. package/dist/payloads/Voyage.js +866 -0
  105. package/dist/payloads/WarrantRecord.d.ts +168 -0
  106. package/dist/payloads/WarrantRecord.js +781 -0
  107. package/dist/payloads/foxglove/CompressedPointCloud.d.ts +37 -0
  108. package/dist/payloads/foxglove/CompressedPointCloud.js +185 -0
  109. package/dist/payloads/google/protobuf/any.d.ts +145 -0
  110. package/dist/payloads/google/protobuf/any.js +110 -0
  111. package/dist/payloads/google/protobuf/empty.d.ts +34 -0
  112. package/dist/payloads/google/protobuf/empty.js +50 -0
  113. package/dist/payloads/index.foxglove.d.ts +1 -0
  114. package/dist/payloads/index.foxglove.js +1 -0
  115. package/dist/payloads/index.google.protobuf.d.ts +2 -0
  116. package/dist/payloads/index.google.protobuf.js +2 -0
  117. package/dist/payloads/index.keelson.d.ts +17 -1
  118. package/dist/payloads/index.keelson.js +17 -1
  119. package/dist/qos.json +95 -0
  120. package/dist/subjects.json +38 -1
  121. package/package.json +2 -1
@@ -0,0 +1,4289 @@
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
+ minVisibilityM: undefined,
1346
+ maxWindGustMps: undefined,
1347
+ optimizationMethod: "",
1348
+ autonomyLevel: 0,
1349
+ extensions: undefined,
1350
+ };
1351
+ }
1352
+ exports.RouteInfo = {
1353
+ $type: "keelson.RouteInfo",
1354
+ encode(message, writer = new wire_1.BinaryWriter()) {
1355
+ if (message.name !== "") {
1356
+ writer.uint32(10).string(message.name);
1357
+ }
1358
+ if (message.author !== "") {
1359
+ writer.uint32(18).string(message.author);
1360
+ }
1361
+ if (message.authorOrganization !== "") {
1362
+ writer.uint32(26).string(message.authorOrganization);
1363
+ }
1364
+ if (message.validFrom !== undefined) {
1365
+ timestamp_1.Timestamp.encode(toTimestamp(message.validFrom), writer.uint32(34).fork()).join();
1366
+ }
1367
+ if (message.validTo !== undefined) {
1368
+ timestamp_1.Timestamp.encode(toTimestamp(message.validTo), writer.uint32(42).fork()).join();
1369
+ }
1370
+ if (message.vesselLoaM !== undefined) {
1371
+ writer.uint32(165).float(message.vesselLoaM);
1372
+ }
1373
+ if (message.vesselBeamM !== undefined) {
1374
+ writer.uint32(173).float(message.vesselBeamM);
1375
+ }
1376
+ if (message.vesselDraftM !== undefined) {
1377
+ writer.uint32(181).float(message.vesselDraftM);
1378
+ }
1379
+ if (message.vesselAirDraftM !== undefined) {
1380
+ writer.uint32(189).float(message.vesselAirDraftM);
1381
+ }
1382
+ if (message.maxRollDeg !== undefined) {
1383
+ writer.uint32(245).float(message.maxRollDeg);
1384
+ }
1385
+ if (message.maxWaveHeightM !== undefined) {
1386
+ writer.uint32(253).float(message.maxWaveHeightM);
1387
+ }
1388
+ if (message.maxWindSpeedMps !== undefined) {
1389
+ writer.uint32(261).float(message.maxWindSpeedMps);
1390
+ }
1391
+ if (message.minSpeedKnots !== undefined) {
1392
+ writer.uint32(269).float(message.minSpeedKnots);
1393
+ }
1394
+ if (message.maxSpeedKnots !== undefined) {
1395
+ writer.uint32(277).float(message.maxSpeedKnots);
1396
+ }
1397
+ if (message.minVisibilityM !== undefined) {
1398
+ writer.uint32(285).float(message.minVisibilityM);
1399
+ }
1400
+ if (message.maxWindGustMps !== undefined) {
1401
+ writer.uint32(293).float(message.maxWindGustMps);
1402
+ }
1403
+ if (message.optimizationMethod !== "") {
1404
+ writer.uint32(402).string(message.optimizationMethod);
1405
+ }
1406
+ if (message.autonomyLevel !== 0) {
1407
+ writer.uint32(408).int32(message.autonomyLevel);
1408
+ }
1409
+ if (message.extensions !== undefined) {
1410
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
1411
+ }
1412
+ return writer;
1413
+ },
1414
+ decode(input, length) {
1415
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
1416
+ let end = length === undefined ? reader.len : reader.pos + length;
1417
+ const message = createBaseRouteInfo();
1418
+ while (reader.pos < end) {
1419
+ const tag = reader.uint32();
1420
+ switch (tag >>> 3) {
1421
+ case 1: {
1422
+ if (tag !== 10) {
1423
+ break;
1424
+ }
1425
+ message.name = reader.string();
1426
+ continue;
1427
+ }
1428
+ case 2: {
1429
+ if (tag !== 18) {
1430
+ break;
1431
+ }
1432
+ message.author = reader.string();
1433
+ continue;
1434
+ }
1435
+ case 3: {
1436
+ if (tag !== 26) {
1437
+ break;
1438
+ }
1439
+ message.authorOrganization = reader.string();
1440
+ continue;
1441
+ }
1442
+ case 4: {
1443
+ if (tag !== 34) {
1444
+ break;
1445
+ }
1446
+ message.validFrom = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
1447
+ continue;
1448
+ }
1449
+ case 5: {
1450
+ if (tag !== 42) {
1451
+ break;
1452
+ }
1453
+ message.validTo = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
1454
+ continue;
1455
+ }
1456
+ case 20: {
1457
+ if (tag !== 165) {
1458
+ break;
1459
+ }
1460
+ message.vesselLoaM = reader.float();
1461
+ continue;
1462
+ }
1463
+ case 21: {
1464
+ if (tag !== 173) {
1465
+ break;
1466
+ }
1467
+ message.vesselBeamM = reader.float();
1468
+ continue;
1469
+ }
1470
+ case 22: {
1471
+ if (tag !== 181) {
1472
+ break;
1473
+ }
1474
+ message.vesselDraftM = reader.float();
1475
+ continue;
1476
+ }
1477
+ case 23: {
1478
+ if (tag !== 189) {
1479
+ break;
1480
+ }
1481
+ message.vesselAirDraftM = reader.float();
1482
+ continue;
1483
+ }
1484
+ case 30: {
1485
+ if (tag !== 245) {
1486
+ break;
1487
+ }
1488
+ message.maxRollDeg = reader.float();
1489
+ continue;
1490
+ }
1491
+ case 31: {
1492
+ if (tag !== 253) {
1493
+ break;
1494
+ }
1495
+ message.maxWaveHeightM = reader.float();
1496
+ continue;
1497
+ }
1498
+ case 32: {
1499
+ if (tag !== 261) {
1500
+ break;
1501
+ }
1502
+ message.maxWindSpeedMps = reader.float();
1503
+ continue;
1504
+ }
1505
+ case 33: {
1506
+ if (tag !== 269) {
1507
+ break;
1508
+ }
1509
+ message.minSpeedKnots = reader.float();
1510
+ continue;
1511
+ }
1512
+ case 34: {
1513
+ if (tag !== 277) {
1514
+ break;
1515
+ }
1516
+ message.maxSpeedKnots = reader.float();
1517
+ continue;
1518
+ }
1519
+ case 35: {
1520
+ if (tag !== 285) {
1521
+ break;
1522
+ }
1523
+ message.minVisibilityM = reader.float();
1524
+ continue;
1525
+ }
1526
+ case 36: {
1527
+ if (tag !== 293) {
1528
+ break;
1529
+ }
1530
+ message.maxWindGustMps = reader.float();
1531
+ continue;
1532
+ }
1533
+ case 50: {
1534
+ if (tag !== 402) {
1535
+ break;
1536
+ }
1537
+ message.optimizationMethod = reader.string();
1538
+ continue;
1539
+ }
1540
+ case 51: {
1541
+ if (tag !== 408) {
1542
+ break;
1543
+ }
1544
+ message.autonomyLevel = reader.int32();
1545
+ continue;
1546
+ }
1547
+ case 99: {
1548
+ if (tag !== 794) {
1549
+ break;
1550
+ }
1551
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
1552
+ continue;
1553
+ }
1554
+ }
1555
+ if ((tag & 7) === 4 || tag === 0) {
1556
+ break;
1557
+ }
1558
+ reader.skip(tag & 7);
1559
+ }
1560
+ return message;
1561
+ },
1562
+ fromJSON(object) {
1563
+ return {
1564
+ $type: exports.RouteInfo.$type,
1565
+ name: isSet(object.name) ? globalThis.String(object.name) : "",
1566
+ author: isSet(object.author) ? globalThis.String(object.author) : "",
1567
+ authorOrganization: isSet(object.authorOrganization) ? globalThis.String(object.authorOrganization) : "",
1568
+ validFrom: isSet(object.validFrom) ? fromJsonTimestamp(object.validFrom) : undefined,
1569
+ validTo: isSet(object.validTo) ? fromJsonTimestamp(object.validTo) : undefined,
1570
+ vesselLoaM: isSet(object.vesselLoaM) ? globalThis.Number(object.vesselLoaM) : undefined,
1571
+ vesselBeamM: isSet(object.vesselBeamM) ? globalThis.Number(object.vesselBeamM) : undefined,
1572
+ vesselDraftM: isSet(object.vesselDraftM) ? globalThis.Number(object.vesselDraftM) : undefined,
1573
+ vesselAirDraftM: isSet(object.vesselAirDraftM) ? globalThis.Number(object.vesselAirDraftM) : undefined,
1574
+ maxRollDeg: isSet(object.maxRollDeg) ? globalThis.Number(object.maxRollDeg) : undefined,
1575
+ maxWaveHeightM: isSet(object.maxWaveHeightM) ? globalThis.Number(object.maxWaveHeightM) : undefined,
1576
+ maxWindSpeedMps: isSet(object.maxWindSpeedMps) ? globalThis.Number(object.maxWindSpeedMps) : undefined,
1577
+ minSpeedKnots: isSet(object.minSpeedKnots) ? globalThis.Number(object.minSpeedKnots) : undefined,
1578
+ maxSpeedKnots: isSet(object.maxSpeedKnots) ? globalThis.Number(object.maxSpeedKnots) : undefined,
1579
+ minVisibilityM: isSet(object.minVisibilityM) ? globalThis.Number(object.minVisibilityM) : undefined,
1580
+ maxWindGustMps: isSet(object.maxWindGustMps) ? globalThis.Number(object.maxWindGustMps) : undefined,
1581
+ optimizationMethod: isSet(object.optimizationMethod) ? globalThis.String(object.optimizationMethod) : "",
1582
+ autonomyLevel: isSet(object.autonomyLevel) ? autonomyLevelFromJSON(object.autonomyLevel) : 0,
1583
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
1584
+ };
1585
+ },
1586
+ toJSON(message) {
1587
+ const obj = {};
1588
+ if (message.name !== "") {
1589
+ obj.name = message.name;
1590
+ }
1591
+ if (message.author !== "") {
1592
+ obj.author = message.author;
1593
+ }
1594
+ if (message.authorOrganization !== "") {
1595
+ obj.authorOrganization = message.authorOrganization;
1596
+ }
1597
+ if (message.validFrom !== undefined) {
1598
+ obj.validFrom = message.validFrom.toISOString();
1599
+ }
1600
+ if (message.validTo !== undefined) {
1601
+ obj.validTo = message.validTo.toISOString();
1602
+ }
1603
+ if (message.vesselLoaM !== undefined) {
1604
+ obj.vesselLoaM = message.vesselLoaM;
1605
+ }
1606
+ if (message.vesselBeamM !== undefined) {
1607
+ obj.vesselBeamM = message.vesselBeamM;
1608
+ }
1609
+ if (message.vesselDraftM !== undefined) {
1610
+ obj.vesselDraftM = message.vesselDraftM;
1611
+ }
1612
+ if (message.vesselAirDraftM !== undefined) {
1613
+ obj.vesselAirDraftM = message.vesselAirDraftM;
1614
+ }
1615
+ if (message.maxRollDeg !== undefined) {
1616
+ obj.maxRollDeg = message.maxRollDeg;
1617
+ }
1618
+ if (message.maxWaveHeightM !== undefined) {
1619
+ obj.maxWaveHeightM = message.maxWaveHeightM;
1620
+ }
1621
+ if (message.maxWindSpeedMps !== undefined) {
1622
+ obj.maxWindSpeedMps = message.maxWindSpeedMps;
1623
+ }
1624
+ if (message.minSpeedKnots !== undefined) {
1625
+ obj.minSpeedKnots = message.minSpeedKnots;
1626
+ }
1627
+ if (message.maxSpeedKnots !== undefined) {
1628
+ obj.maxSpeedKnots = message.maxSpeedKnots;
1629
+ }
1630
+ if (message.minVisibilityM !== undefined) {
1631
+ obj.minVisibilityM = message.minVisibilityM;
1632
+ }
1633
+ if (message.maxWindGustMps !== undefined) {
1634
+ obj.maxWindGustMps = message.maxWindGustMps;
1635
+ }
1636
+ if (message.optimizationMethod !== "") {
1637
+ obj.optimizationMethod = message.optimizationMethod;
1638
+ }
1639
+ if (message.autonomyLevel !== 0) {
1640
+ obj.autonomyLevel = autonomyLevelToJSON(message.autonomyLevel);
1641
+ }
1642
+ if (message.extensions !== undefined) {
1643
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
1644
+ }
1645
+ return obj;
1646
+ },
1647
+ create(base) {
1648
+ return exports.RouteInfo.fromPartial(base ?? {});
1649
+ },
1650
+ fromPartial(object) {
1651
+ const message = createBaseRouteInfo();
1652
+ message.name = object.name ?? "";
1653
+ message.author = object.author ?? "";
1654
+ message.authorOrganization = object.authorOrganization ?? "";
1655
+ message.validFrom = object.validFrom ?? undefined;
1656
+ message.validTo = object.validTo ?? undefined;
1657
+ message.vesselLoaM = object.vesselLoaM ?? undefined;
1658
+ message.vesselBeamM = object.vesselBeamM ?? undefined;
1659
+ message.vesselDraftM = object.vesselDraftM ?? undefined;
1660
+ message.vesselAirDraftM = object.vesselAirDraftM ?? undefined;
1661
+ message.maxRollDeg = object.maxRollDeg ?? undefined;
1662
+ message.maxWaveHeightM = object.maxWaveHeightM ?? undefined;
1663
+ message.maxWindSpeedMps = object.maxWindSpeedMps ?? undefined;
1664
+ message.minSpeedKnots = object.minSpeedKnots ?? undefined;
1665
+ message.maxSpeedKnots = object.maxSpeedKnots ?? undefined;
1666
+ message.minVisibilityM = object.minVisibilityM ?? undefined;
1667
+ message.maxWindGustMps = object.maxWindGustMps ?? undefined;
1668
+ message.optimizationMethod = object.optimizationMethod ?? "";
1669
+ message.autonomyLevel = object.autonomyLevel ?? 0;
1670
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
1671
+ ? exports.Extensions.fromPartial(object.extensions)
1672
+ : undefined;
1673
+ return message;
1674
+ },
1675
+ };
1676
+ typeRegistry_1.messageTypeRegistry.set(exports.RouteInfo.$type, exports.RouteInfo);
1677
+ function createBaseWaypoints() {
1678
+ return { $type: "keelson.Waypoints", defaults: undefined, waypoint: [], extensions: undefined };
1679
+ }
1680
+ exports.Waypoints = {
1681
+ $type: "keelson.Waypoints",
1682
+ encode(message, writer = new wire_1.BinaryWriter()) {
1683
+ if (message.defaults !== undefined) {
1684
+ exports.DefaultWaypoint.encode(message.defaults, writer.uint32(10).fork()).join();
1685
+ }
1686
+ for (const v of message.waypoint) {
1687
+ exports.Waypoint.encode(v, writer.uint32(18).fork()).join();
1688
+ }
1689
+ if (message.extensions !== undefined) {
1690
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
1691
+ }
1692
+ return writer;
1693
+ },
1694
+ decode(input, length) {
1695
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
1696
+ let end = length === undefined ? reader.len : reader.pos + length;
1697
+ const message = createBaseWaypoints();
1698
+ while (reader.pos < end) {
1699
+ const tag = reader.uint32();
1700
+ switch (tag >>> 3) {
1701
+ case 1: {
1702
+ if (tag !== 10) {
1703
+ break;
1704
+ }
1705
+ message.defaults = exports.DefaultWaypoint.decode(reader, reader.uint32());
1706
+ continue;
1707
+ }
1708
+ case 2: {
1709
+ if (tag !== 18) {
1710
+ break;
1711
+ }
1712
+ message.waypoint.push(exports.Waypoint.decode(reader, reader.uint32()));
1713
+ continue;
1714
+ }
1715
+ case 99: {
1716
+ if (tag !== 794) {
1717
+ break;
1718
+ }
1719
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
1720
+ continue;
1721
+ }
1722
+ }
1723
+ if ((tag & 7) === 4 || tag === 0) {
1724
+ break;
1725
+ }
1726
+ reader.skip(tag & 7);
1727
+ }
1728
+ return message;
1729
+ },
1730
+ fromJSON(object) {
1731
+ return {
1732
+ $type: exports.Waypoints.$type,
1733
+ defaults: isSet(object.defaults) ? exports.DefaultWaypoint.fromJSON(object.defaults) : undefined,
1734
+ waypoint: globalThis.Array.isArray(object?.waypoint) ? object.waypoint.map((e) => exports.Waypoint.fromJSON(e)) : [],
1735
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
1736
+ };
1737
+ },
1738
+ toJSON(message) {
1739
+ const obj = {};
1740
+ if (message.defaults !== undefined) {
1741
+ obj.defaults = exports.DefaultWaypoint.toJSON(message.defaults);
1742
+ }
1743
+ if (message.waypoint?.length) {
1744
+ obj.waypoint = message.waypoint.map((e) => exports.Waypoint.toJSON(e));
1745
+ }
1746
+ if (message.extensions !== undefined) {
1747
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
1748
+ }
1749
+ return obj;
1750
+ },
1751
+ create(base) {
1752
+ return exports.Waypoints.fromPartial(base ?? {});
1753
+ },
1754
+ fromPartial(object) {
1755
+ const message = createBaseWaypoints();
1756
+ message.defaults = (object.defaults !== undefined && object.defaults !== null)
1757
+ ? exports.DefaultWaypoint.fromPartial(object.defaults)
1758
+ : undefined;
1759
+ message.waypoint = object.waypoint?.map((e) => exports.Waypoint.fromPartial(e)) || [];
1760
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
1761
+ ? exports.Extensions.fromPartial(object.extensions)
1762
+ : undefined;
1763
+ return message;
1764
+ },
1765
+ };
1766
+ typeRegistry_1.messageTypeRegistry.set(exports.Waypoints.$type, exports.Waypoints);
1767
+ function createBaseDefaultWaypoint() {
1768
+ return { $type: "keelson.DefaultWaypoint", leg: undefined, radiusM: undefined, plannedSogKnots: undefined };
1769
+ }
1770
+ exports.DefaultWaypoint = {
1771
+ $type: "keelson.DefaultWaypoint",
1772
+ encode(message, writer = new wire_1.BinaryWriter()) {
1773
+ if (message.leg !== undefined) {
1774
+ exports.Leg.encode(message.leg, writer.uint32(10).fork()).join();
1775
+ }
1776
+ if (message.radiusM !== undefined) {
1777
+ writer.uint32(21).float(message.radiusM);
1778
+ }
1779
+ if (message.plannedSogKnots !== undefined) {
1780
+ writer.uint32(29).float(message.plannedSogKnots);
1781
+ }
1782
+ return writer;
1783
+ },
1784
+ decode(input, length) {
1785
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
1786
+ let end = length === undefined ? reader.len : reader.pos + length;
1787
+ const message = createBaseDefaultWaypoint();
1788
+ while (reader.pos < end) {
1789
+ const tag = reader.uint32();
1790
+ switch (tag >>> 3) {
1791
+ case 1: {
1792
+ if (tag !== 10) {
1793
+ break;
1794
+ }
1795
+ message.leg = exports.Leg.decode(reader, reader.uint32());
1796
+ continue;
1797
+ }
1798
+ case 2: {
1799
+ if (tag !== 21) {
1800
+ break;
1801
+ }
1802
+ message.radiusM = reader.float();
1803
+ continue;
1804
+ }
1805
+ case 3: {
1806
+ if (tag !== 29) {
1807
+ break;
1808
+ }
1809
+ message.plannedSogKnots = reader.float();
1810
+ continue;
1811
+ }
1812
+ }
1813
+ if ((tag & 7) === 4 || tag === 0) {
1814
+ break;
1815
+ }
1816
+ reader.skip(tag & 7);
1817
+ }
1818
+ return message;
1819
+ },
1820
+ fromJSON(object) {
1821
+ return {
1822
+ $type: exports.DefaultWaypoint.$type,
1823
+ leg: isSet(object.leg) ? exports.Leg.fromJSON(object.leg) : undefined,
1824
+ radiusM: isSet(object.radiusM) ? globalThis.Number(object.radiusM) : undefined,
1825
+ plannedSogKnots: isSet(object.plannedSogKnots) ? globalThis.Number(object.plannedSogKnots) : undefined,
1826
+ };
1827
+ },
1828
+ toJSON(message) {
1829
+ const obj = {};
1830
+ if (message.leg !== undefined) {
1831
+ obj.leg = exports.Leg.toJSON(message.leg);
1832
+ }
1833
+ if (message.radiusM !== undefined) {
1834
+ obj.radiusM = message.radiusM;
1835
+ }
1836
+ if (message.plannedSogKnots !== undefined) {
1837
+ obj.plannedSogKnots = message.plannedSogKnots;
1838
+ }
1839
+ return obj;
1840
+ },
1841
+ create(base) {
1842
+ return exports.DefaultWaypoint.fromPartial(base ?? {});
1843
+ },
1844
+ fromPartial(object) {
1845
+ const message = createBaseDefaultWaypoint();
1846
+ message.leg = (object.leg !== undefined && object.leg !== null) ? exports.Leg.fromPartial(object.leg) : undefined;
1847
+ message.radiusM = object.radiusM ?? undefined;
1848
+ message.plannedSogKnots = object.plannedSogKnots ?? undefined;
1849
+ return message;
1850
+ },
1851
+ };
1852
+ typeRegistry_1.messageTypeRegistry.set(exports.DefaultWaypoint.$type, exports.DefaultWaypoint);
1853
+ function createBaseWaypoint() {
1854
+ return {
1855
+ $type: "keelson.Waypoint",
1856
+ id: "",
1857
+ revision: 0,
1858
+ name: "",
1859
+ position: undefined,
1860
+ plannedSogKnots: undefined,
1861
+ radiusM: undefined,
1862
+ rateOfTurnDegps: undefined,
1863
+ wheelOverDistanceM: undefined,
1864
+ lock: false,
1865
+ operationalContext: 0,
1866
+ leg: undefined,
1867
+ note: "",
1868
+ extensions: undefined,
1869
+ };
1870
+ }
1871
+ exports.Waypoint = {
1872
+ $type: "keelson.Waypoint",
1873
+ encode(message, writer = new wire_1.BinaryWriter()) {
1874
+ if (message.id !== "") {
1875
+ writer.uint32(10).string(message.id);
1876
+ }
1877
+ if (message.revision !== 0) {
1878
+ writer.uint32(16).uint32(message.revision);
1879
+ }
1880
+ if (message.name !== "") {
1881
+ writer.uint32(26).string(message.name);
1882
+ }
1883
+ if (message.position !== undefined) {
1884
+ Coordinate_1.Coordinate.encode(message.position, writer.uint32(34).fork()).join();
1885
+ }
1886
+ if (message.plannedSogKnots !== undefined) {
1887
+ writer.uint32(45).float(message.plannedSogKnots);
1888
+ }
1889
+ if (message.radiusM !== undefined) {
1890
+ writer.uint32(53).float(message.radiusM);
1891
+ }
1892
+ if (message.rateOfTurnDegps !== undefined) {
1893
+ writer.uint32(61).float(message.rateOfTurnDegps);
1894
+ }
1895
+ if (message.wheelOverDistanceM !== undefined) {
1896
+ writer.uint32(69).float(message.wheelOverDistanceM);
1897
+ }
1898
+ if (message.lock !== false) {
1899
+ writer.uint32(72).bool(message.lock);
1900
+ }
1901
+ if (message.operationalContext !== 0) {
1902
+ writer.uint32(80).int32(message.operationalContext);
1903
+ }
1904
+ if (message.leg !== undefined) {
1905
+ exports.Leg.encode(message.leg, writer.uint32(90).fork()).join();
1906
+ }
1907
+ if (message.note !== "") {
1908
+ writer.uint32(98).string(message.note);
1909
+ }
1910
+ if (message.extensions !== undefined) {
1911
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
1912
+ }
1913
+ return writer;
1914
+ },
1915
+ decode(input, length) {
1916
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
1917
+ let end = length === undefined ? reader.len : reader.pos + length;
1918
+ const message = createBaseWaypoint();
1919
+ while (reader.pos < end) {
1920
+ const tag = reader.uint32();
1921
+ switch (tag >>> 3) {
1922
+ case 1: {
1923
+ if (tag !== 10) {
1924
+ break;
1925
+ }
1926
+ message.id = reader.string();
1927
+ continue;
1928
+ }
1929
+ case 2: {
1930
+ if (tag !== 16) {
1931
+ break;
1932
+ }
1933
+ message.revision = reader.uint32();
1934
+ continue;
1935
+ }
1936
+ case 3: {
1937
+ if (tag !== 26) {
1938
+ break;
1939
+ }
1940
+ message.name = reader.string();
1941
+ continue;
1942
+ }
1943
+ case 4: {
1944
+ if (tag !== 34) {
1945
+ break;
1946
+ }
1947
+ message.position = Coordinate_1.Coordinate.decode(reader, reader.uint32());
1948
+ continue;
1949
+ }
1950
+ case 5: {
1951
+ if (tag !== 45) {
1952
+ break;
1953
+ }
1954
+ message.plannedSogKnots = reader.float();
1955
+ continue;
1956
+ }
1957
+ case 6: {
1958
+ if (tag !== 53) {
1959
+ break;
1960
+ }
1961
+ message.radiusM = reader.float();
1962
+ continue;
1963
+ }
1964
+ case 7: {
1965
+ if (tag !== 61) {
1966
+ break;
1967
+ }
1968
+ message.rateOfTurnDegps = reader.float();
1969
+ continue;
1970
+ }
1971
+ case 8: {
1972
+ if (tag !== 69) {
1973
+ break;
1974
+ }
1975
+ message.wheelOverDistanceM = reader.float();
1976
+ continue;
1977
+ }
1978
+ case 9: {
1979
+ if (tag !== 72) {
1980
+ break;
1981
+ }
1982
+ message.lock = reader.bool();
1983
+ continue;
1984
+ }
1985
+ case 10: {
1986
+ if (tag !== 80) {
1987
+ break;
1988
+ }
1989
+ message.operationalContext = reader.int32();
1990
+ continue;
1991
+ }
1992
+ case 11: {
1993
+ if (tag !== 90) {
1994
+ break;
1995
+ }
1996
+ message.leg = exports.Leg.decode(reader, reader.uint32());
1997
+ continue;
1998
+ }
1999
+ case 12: {
2000
+ if (tag !== 98) {
2001
+ break;
2002
+ }
2003
+ message.note = reader.string();
2004
+ continue;
2005
+ }
2006
+ case 99: {
2007
+ if (tag !== 794) {
2008
+ break;
2009
+ }
2010
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
2011
+ continue;
2012
+ }
2013
+ }
2014
+ if ((tag & 7) === 4 || tag === 0) {
2015
+ break;
2016
+ }
2017
+ reader.skip(tag & 7);
2018
+ }
2019
+ return message;
2020
+ },
2021
+ fromJSON(object) {
2022
+ return {
2023
+ $type: exports.Waypoint.$type,
2024
+ id: isSet(object.id) ? globalThis.String(object.id) : "",
2025
+ revision: isSet(object.revision) ? globalThis.Number(object.revision) : 0,
2026
+ name: isSet(object.name) ? globalThis.String(object.name) : "",
2027
+ position: isSet(object.position) ? Coordinate_1.Coordinate.fromJSON(object.position) : undefined,
2028
+ plannedSogKnots: isSet(object.plannedSogKnots) ? globalThis.Number(object.plannedSogKnots) : undefined,
2029
+ radiusM: isSet(object.radiusM) ? globalThis.Number(object.radiusM) : undefined,
2030
+ rateOfTurnDegps: isSet(object.rateOfTurnDegps) ? globalThis.Number(object.rateOfTurnDegps) : undefined,
2031
+ wheelOverDistanceM: isSet(object.wheelOverDistanceM) ? globalThis.Number(object.wheelOverDistanceM) : undefined,
2032
+ lock: isSet(object.lock) ? globalThis.Boolean(object.lock) : false,
2033
+ operationalContext: isSet(object.operationalContext) ? operationalContextFromJSON(object.operationalContext) : 0,
2034
+ leg: isSet(object.leg) ? exports.Leg.fromJSON(object.leg) : undefined,
2035
+ note: isSet(object.note) ? globalThis.String(object.note) : "",
2036
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
2037
+ };
2038
+ },
2039
+ toJSON(message) {
2040
+ const obj = {};
2041
+ if (message.id !== "") {
2042
+ obj.id = message.id;
2043
+ }
2044
+ if (message.revision !== 0) {
2045
+ obj.revision = Math.round(message.revision);
2046
+ }
2047
+ if (message.name !== "") {
2048
+ obj.name = message.name;
2049
+ }
2050
+ if (message.position !== undefined) {
2051
+ obj.position = Coordinate_1.Coordinate.toJSON(message.position);
2052
+ }
2053
+ if (message.plannedSogKnots !== undefined) {
2054
+ obj.plannedSogKnots = message.plannedSogKnots;
2055
+ }
2056
+ if (message.radiusM !== undefined) {
2057
+ obj.radiusM = message.radiusM;
2058
+ }
2059
+ if (message.rateOfTurnDegps !== undefined) {
2060
+ obj.rateOfTurnDegps = message.rateOfTurnDegps;
2061
+ }
2062
+ if (message.wheelOverDistanceM !== undefined) {
2063
+ obj.wheelOverDistanceM = message.wheelOverDistanceM;
2064
+ }
2065
+ if (message.lock !== false) {
2066
+ obj.lock = message.lock;
2067
+ }
2068
+ if (message.operationalContext !== 0) {
2069
+ obj.operationalContext = operationalContextToJSON(message.operationalContext);
2070
+ }
2071
+ if (message.leg !== undefined) {
2072
+ obj.leg = exports.Leg.toJSON(message.leg);
2073
+ }
2074
+ if (message.note !== "") {
2075
+ obj.note = message.note;
2076
+ }
2077
+ if (message.extensions !== undefined) {
2078
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
2079
+ }
2080
+ return obj;
2081
+ },
2082
+ create(base) {
2083
+ return exports.Waypoint.fromPartial(base ?? {});
2084
+ },
2085
+ fromPartial(object) {
2086
+ const message = createBaseWaypoint();
2087
+ message.id = object.id ?? "";
2088
+ message.revision = object.revision ?? 0;
2089
+ message.name = object.name ?? "";
2090
+ message.position = (object.position !== undefined && object.position !== null)
2091
+ ? Coordinate_1.Coordinate.fromPartial(object.position)
2092
+ : undefined;
2093
+ message.plannedSogKnots = object.plannedSogKnots ?? undefined;
2094
+ message.radiusM = object.radiusM ?? undefined;
2095
+ message.rateOfTurnDegps = object.rateOfTurnDegps ?? undefined;
2096
+ message.wheelOverDistanceM = object.wheelOverDistanceM ?? undefined;
2097
+ message.lock = object.lock ?? false;
2098
+ message.operationalContext = object.operationalContext ?? 0;
2099
+ message.leg = (object.leg !== undefined && object.leg !== null) ? exports.Leg.fromPartial(object.leg) : undefined;
2100
+ message.note = object.note ?? "";
2101
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
2102
+ ? exports.Extensions.fromPartial(object.extensions)
2103
+ : undefined;
2104
+ return message;
2105
+ },
2106
+ };
2107
+ typeRegistry_1.messageTypeRegistry.set(exports.Waypoint.$type, exports.Waypoint);
2108
+ function createBaseLeg() {
2109
+ return {
2110
+ $type: "keelson.Leg",
2111
+ xtdPortM: undefined,
2112
+ xtdStarboardM: undefined,
2113
+ xtdMonitoringPortM: undefined,
2114
+ xtdMonitoringStarboardM: undefined,
2115
+ safetyContourM: undefined,
2116
+ safetyDepthM: undefined,
2117
+ ukcStaticM: undefined,
2118
+ ukcDynamicM: undefined,
2119
+ draughtBowM: undefined,
2120
+ draughtSternM: undefined,
2121
+ draughtMeanM: undefined,
2122
+ geometryType: 0,
2123
+ sogMinKnots: undefined,
2124
+ sogMaxKnots: undefined,
2125
+ stwMinKnots: undefined,
2126
+ stwMaxKnots: undefined,
2127
+ draughtMaxM: undefined,
2128
+ airDraftMaxM: undefined,
2129
+ beamMaxM: undefined,
2130
+ lengthMaxM: undefined,
2131
+ report: "",
2132
+ note: "",
2133
+ colregSituation: 0,
2134
+ colregTrafficIntensity: 0,
2135
+ extensions: undefined,
2136
+ };
2137
+ }
2138
+ exports.Leg = {
2139
+ $type: "keelson.Leg",
2140
+ encode(message, writer = new wire_1.BinaryWriter()) {
2141
+ if (message.xtdPortM !== undefined) {
2142
+ writer.uint32(13).float(message.xtdPortM);
2143
+ }
2144
+ if (message.xtdStarboardM !== undefined) {
2145
+ writer.uint32(21).float(message.xtdStarboardM);
2146
+ }
2147
+ if (message.xtdMonitoringPortM !== undefined) {
2148
+ writer.uint32(29).float(message.xtdMonitoringPortM);
2149
+ }
2150
+ if (message.xtdMonitoringStarboardM !== undefined) {
2151
+ writer.uint32(37).float(message.xtdMonitoringStarboardM);
2152
+ }
2153
+ if (message.safetyContourM !== undefined) {
2154
+ writer.uint32(85).float(message.safetyContourM);
2155
+ }
2156
+ if (message.safetyDepthM !== undefined) {
2157
+ writer.uint32(93).float(message.safetyDepthM);
2158
+ }
2159
+ if (message.ukcStaticM !== undefined) {
2160
+ writer.uint32(165).float(message.ukcStaticM);
2161
+ }
2162
+ if (message.ukcDynamicM !== undefined) {
2163
+ writer.uint32(173).float(message.ukcDynamicM);
2164
+ }
2165
+ if (message.draughtBowM !== undefined) {
2166
+ writer.uint32(245).float(message.draughtBowM);
2167
+ }
2168
+ if (message.draughtSternM !== undefined) {
2169
+ writer.uint32(253).float(message.draughtSternM);
2170
+ }
2171
+ if (message.draughtMeanM !== undefined) {
2172
+ writer.uint32(261).float(message.draughtMeanM);
2173
+ }
2174
+ if (message.geometryType !== 0) {
2175
+ writer.uint32(320).int32(message.geometryType);
2176
+ }
2177
+ if (message.sogMinKnots !== undefined) {
2178
+ writer.uint32(405).float(message.sogMinKnots);
2179
+ }
2180
+ if (message.sogMaxKnots !== undefined) {
2181
+ writer.uint32(413).float(message.sogMaxKnots);
2182
+ }
2183
+ if (message.stwMinKnots !== undefined) {
2184
+ writer.uint32(421).float(message.stwMinKnots);
2185
+ }
2186
+ if (message.stwMaxKnots !== undefined) {
2187
+ writer.uint32(429).float(message.stwMaxKnots);
2188
+ }
2189
+ if (message.draughtMaxM !== undefined) {
2190
+ writer.uint32(565).float(message.draughtMaxM);
2191
+ }
2192
+ if (message.airDraftMaxM !== undefined) {
2193
+ writer.uint32(573).float(message.airDraftMaxM);
2194
+ }
2195
+ if (message.beamMaxM !== undefined) {
2196
+ writer.uint32(581).float(message.beamMaxM);
2197
+ }
2198
+ if (message.lengthMaxM !== undefined) {
2199
+ writer.uint32(589).float(message.lengthMaxM);
2200
+ }
2201
+ if (message.report !== "") {
2202
+ writer.uint32(642).string(message.report);
2203
+ }
2204
+ if (message.note !== "") {
2205
+ writer.uint32(650).string(message.note);
2206
+ }
2207
+ if (message.colregSituation !== 0) {
2208
+ writer.uint32(720).int32(message.colregSituation);
2209
+ }
2210
+ if (message.colregTrafficIntensity !== 0) {
2211
+ writer.uint32(728).int32(message.colregTrafficIntensity);
2212
+ }
2213
+ if (message.extensions !== undefined) {
2214
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
2215
+ }
2216
+ return writer;
2217
+ },
2218
+ decode(input, length) {
2219
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
2220
+ let end = length === undefined ? reader.len : reader.pos + length;
2221
+ const message = createBaseLeg();
2222
+ while (reader.pos < end) {
2223
+ const tag = reader.uint32();
2224
+ switch (tag >>> 3) {
2225
+ case 1: {
2226
+ if (tag !== 13) {
2227
+ break;
2228
+ }
2229
+ message.xtdPortM = reader.float();
2230
+ continue;
2231
+ }
2232
+ case 2: {
2233
+ if (tag !== 21) {
2234
+ break;
2235
+ }
2236
+ message.xtdStarboardM = reader.float();
2237
+ continue;
2238
+ }
2239
+ case 3: {
2240
+ if (tag !== 29) {
2241
+ break;
2242
+ }
2243
+ message.xtdMonitoringPortM = reader.float();
2244
+ continue;
2245
+ }
2246
+ case 4: {
2247
+ if (tag !== 37) {
2248
+ break;
2249
+ }
2250
+ message.xtdMonitoringStarboardM = reader.float();
2251
+ continue;
2252
+ }
2253
+ case 10: {
2254
+ if (tag !== 85) {
2255
+ break;
2256
+ }
2257
+ message.safetyContourM = reader.float();
2258
+ continue;
2259
+ }
2260
+ case 11: {
2261
+ if (tag !== 93) {
2262
+ break;
2263
+ }
2264
+ message.safetyDepthM = reader.float();
2265
+ continue;
2266
+ }
2267
+ case 20: {
2268
+ if (tag !== 165) {
2269
+ break;
2270
+ }
2271
+ message.ukcStaticM = reader.float();
2272
+ continue;
2273
+ }
2274
+ case 21: {
2275
+ if (tag !== 173) {
2276
+ break;
2277
+ }
2278
+ message.ukcDynamicM = reader.float();
2279
+ continue;
2280
+ }
2281
+ case 30: {
2282
+ if (tag !== 245) {
2283
+ break;
2284
+ }
2285
+ message.draughtBowM = reader.float();
2286
+ continue;
2287
+ }
2288
+ case 31: {
2289
+ if (tag !== 253) {
2290
+ break;
2291
+ }
2292
+ message.draughtSternM = reader.float();
2293
+ continue;
2294
+ }
2295
+ case 32: {
2296
+ if (tag !== 261) {
2297
+ break;
2298
+ }
2299
+ message.draughtMeanM = reader.float();
2300
+ continue;
2301
+ }
2302
+ case 40: {
2303
+ if (tag !== 320) {
2304
+ break;
2305
+ }
2306
+ message.geometryType = reader.int32();
2307
+ continue;
2308
+ }
2309
+ case 50: {
2310
+ if (tag !== 405) {
2311
+ break;
2312
+ }
2313
+ message.sogMinKnots = reader.float();
2314
+ continue;
2315
+ }
2316
+ case 51: {
2317
+ if (tag !== 413) {
2318
+ break;
2319
+ }
2320
+ message.sogMaxKnots = reader.float();
2321
+ continue;
2322
+ }
2323
+ case 52: {
2324
+ if (tag !== 421) {
2325
+ break;
2326
+ }
2327
+ message.stwMinKnots = reader.float();
2328
+ continue;
2329
+ }
2330
+ case 53: {
2331
+ if (tag !== 429) {
2332
+ break;
2333
+ }
2334
+ message.stwMaxKnots = reader.float();
2335
+ continue;
2336
+ }
2337
+ case 70: {
2338
+ if (tag !== 565) {
2339
+ break;
2340
+ }
2341
+ message.draughtMaxM = reader.float();
2342
+ continue;
2343
+ }
2344
+ case 71: {
2345
+ if (tag !== 573) {
2346
+ break;
2347
+ }
2348
+ message.airDraftMaxM = reader.float();
2349
+ continue;
2350
+ }
2351
+ case 72: {
2352
+ if (tag !== 581) {
2353
+ break;
2354
+ }
2355
+ message.beamMaxM = reader.float();
2356
+ continue;
2357
+ }
2358
+ case 73: {
2359
+ if (tag !== 589) {
2360
+ break;
2361
+ }
2362
+ message.lengthMaxM = reader.float();
2363
+ continue;
2364
+ }
2365
+ case 80: {
2366
+ if (tag !== 642) {
2367
+ break;
2368
+ }
2369
+ message.report = reader.string();
2370
+ continue;
2371
+ }
2372
+ case 81: {
2373
+ if (tag !== 650) {
2374
+ break;
2375
+ }
2376
+ message.note = reader.string();
2377
+ continue;
2378
+ }
2379
+ case 90: {
2380
+ if (tag !== 720) {
2381
+ break;
2382
+ }
2383
+ message.colregSituation = reader.int32();
2384
+ continue;
2385
+ }
2386
+ case 91: {
2387
+ if (tag !== 728) {
2388
+ break;
2389
+ }
2390
+ message.colregTrafficIntensity = reader.int32();
2391
+ continue;
2392
+ }
2393
+ case 99: {
2394
+ if (tag !== 794) {
2395
+ break;
2396
+ }
2397
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
2398
+ continue;
2399
+ }
2400
+ }
2401
+ if ((tag & 7) === 4 || tag === 0) {
2402
+ break;
2403
+ }
2404
+ reader.skip(tag & 7);
2405
+ }
2406
+ return message;
2407
+ },
2408
+ fromJSON(object) {
2409
+ return {
2410
+ $type: exports.Leg.$type,
2411
+ xtdPortM: isSet(object.xtdPortM) ? globalThis.Number(object.xtdPortM) : undefined,
2412
+ xtdStarboardM: isSet(object.xtdStarboardM) ? globalThis.Number(object.xtdStarboardM) : undefined,
2413
+ xtdMonitoringPortM: isSet(object.xtdMonitoringPortM) ? globalThis.Number(object.xtdMonitoringPortM) : undefined,
2414
+ xtdMonitoringStarboardM: isSet(object.xtdMonitoringStarboardM)
2415
+ ? globalThis.Number(object.xtdMonitoringStarboardM)
2416
+ : undefined,
2417
+ safetyContourM: isSet(object.safetyContourM) ? globalThis.Number(object.safetyContourM) : undefined,
2418
+ safetyDepthM: isSet(object.safetyDepthM) ? globalThis.Number(object.safetyDepthM) : undefined,
2419
+ ukcStaticM: isSet(object.ukcStaticM) ? globalThis.Number(object.ukcStaticM) : undefined,
2420
+ ukcDynamicM: isSet(object.ukcDynamicM) ? globalThis.Number(object.ukcDynamicM) : undefined,
2421
+ draughtBowM: isSet(object.draughtBowM) ? globalThis.Number(object.draughtBowM) : undefined,
2422
+ draughtSternM: isSet(object.draughtSternM) ? globalThis.Number(object.draughtSternM) : undefined,
2423
+ draughtMeanM: isSet(object.draughtMeanM) ? globalThis.Number(object.draughtMeanM) : undefined,
2424
+ geometryType: isSet(object.geometryType) ? geometryTypeFromJSON(object.geometryType) : 0,
2425
+ sogMinKnots: isSet(object.sogMinKnots) ? globalThis.Number(object.sogMinKnots) : undefined,
2426
+ sogMaxKnots: isSet(object.sogMaxKnots) ? globalThis.Number(object.sogMaxKnots) : undefined,
2427
+ stwMinKnots: isSet(object.stwMinKnots) ? globalThis.Number(object.stwMinKnots) : undefined,
2428
+ stwMaxKnots: isSet(object.stwMaxKnots) ? globalThis.Number(object.stwMaxKnots) : undefined,
2429
+ draughtMaxM: isSet(object.draughtMaxM) ? globalThis.Number(object.draughtMaxM) : undefined,
2430
+ airDraftMaxM: isSet(object.airDraftMaxM) ? globalThis.Number(object.airDraftMaxM) : undefined,
2431
+ beamMaxM: isSet(object.beamMaxM) ? globalThis.Number(object.beamMaxM) : undefined,
2432
+ lengthMaxM: isSet(object.lengthMaxM) ? globalThis.Number(object.lengthMaxM) : undefined,
2433
+ report: isSet(object.report) ? globalThis.String(object.report) : "",
2434
+ note: isSet(object.note) ? globalThis.String(object.note) : "",
2435
+ colregSituation: isSet(object.colregSituation) ? colregSituationFromJSON(object.colregSituation) : 0,
2436
+ colregTrafficIntensity: isSet(object.colregTrafficIntensity)
2437
+ ? colregTrafficIntensityFromJSON(object.colregTrafficIntensity)
2438
+ : 0,
2439
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
2440
+ };
2441
+ },
2442
+ toJSON(message) {
2443
+ const obj = {};
2444
+ if (message.xtdPortM !== undefined) {
2445
+ obj.xtdPortM = message.xtdPortM;
2446
+ }
2447
+ if (message.xtdStarboardM !== undefined) {
2448
+ obj.xtdStarboardM = message.xtdStarboardM;
2449
+ }
2450
+ if (message.xtdMonitoringPortM !== undefined) {
2451
+ obj.xtdMonitoringPortM = message.xtdMonitoringPortM;
2452
+ }
2453
+ if (message.xtdMonitoringStarboardM !== undefined) {
2454
+ obj.xtdMonitoringStarboardM = message.xtdMonitoringStarboardM;
2455
+ }
2456
+ if (message.safetyContourM !== undefined) {
2457
+ obj.safetyContourM = message.safetyContourM;
2458
+ }
2459
+ if (message.safetyDepthM !== undefined) {
2460
+ obj.safetyDepthM = message.safetyDepthM;
2461
+ }
2462
+ if (message.ukcStaticM !== undefined) {
2463
+ obj.ukcStaticM = message.ukcStaticM;
2464
+ }
2465
+ if (message.ukcDynamicM !== undefined) {
2466
+ obj.ukcDynamicM = message.ukcDynamicM;
2467
+ }
2468
+ if (message.draughtBowM !== undefined) {
2469
+ obj.draughtBowM = message.draughtBowM;
2470
+ }
2471
+ if (message.draughtSternM !== undefined) {
2472
+ obj.draughtSternM = message.draughtSternM;
2473
+ }
2474
+ if (message.draughtMeanM !== undefined) {
2475
+ obj.draughtMeanM = message.draughtMeanM;
2476
+ }
2477
+ if (message.geometryType !== 0) {
2478
+ obj.geometryType = geometryTypeToJSON(message.geometryType);
2479
+ }
2480
+ if (message.sogMinKnots !== undefined) {
2481
+ obj.sogMinKnots = message.sogMinKnots;
2482
+ }
2483
+ if (message.sogMaxKnots !== undefined) {
2484
+ obj.sogMaxKnots = message.sogMaxKnots;
2485
+ }
2486
+ if (message.stwMinKnots !== undefined) {
2487
+ obj.stwMinKnots = message.stwMinKnots;
2488
+ }
2489
+ if (message.stwMaxKnots !== undefined) {
2490
+ obj.stwMaxKnots = message.stwMaxKnots;
2491
+ }
2492
+ if (message.draughtMaxM !== undefined) {
2493
+ obj.draughtMaxM = message.draughtMaxM;
2494
+ }
2495
+ if (message.airDraftMaxM !== undefined) {
2496
+ obj.airDraftMaxM = message.airDraftMaxM;
2497
+ }
2498
+ if (message.beamMaxM !== undefined) {
2499
+ obj.beamMaxM = message.beamMaxM;
2500
+ }
2501
+ if (message.lengthMaxM !== undefined) {
2502
+ obj.lengthMaxM = message.lengthMaxM;
2503
+ }
2504
+ if (message.report !== "") {
2505
+ obj.report = message.report;
2506
+ }
2507
+ if (message.note !== "") {
2508
+ obj.note = message.note;
2509
+ }
2510
+ if (message.colregSituation !== 0) {
2511
+ obj.colregSituation = colregSituationToJSON(message.colregSituation);
2512
+ }
2513
+ if (message.colregTrafficIntensity !== 0) {
2514
+ obj.colregTrafficIntensity = colregTrafficIntensityToJSON(message.colregTrafficIntensity);
2515
+ }
2516
+ if (message.extensions !== undefined) {
2517
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
2518
+ }
2519
+ return obj;
2520
+ },
2521
+ create(base) {
2522
+ return exports.Leg.fromPartial(base ?? {});
2523
+ },
2524
+ fromPartial(object) {
2525
+ const message = createBaseLeg();
2526
+ message.xtdPortM = object.xtdPortM ?? undefined;
2527
+ message.xtdStarboardM = object.xtdStarboardM ?? undefined;
2528
+ message.xtdMonitoringPortM = object.xtdMonitoringPortM ?? undefined;
2529
+ message.xtdMonitoringStarboardM = object.xtdMonitoringStarboardM ?? undefined;
2530
+ message.safetyContourM = object.safetyContourM ?? undefined;
2531
+ message.safetyDepthM = object.safetyDepthM ?? undefined;
2532
+ message.ukcStaticM = object.ukcStaticM ?? undefined;
2533
+ message.ukcDynamicM = object.ukcDynamicM ?? undefined;
2534
+ message.draughtBowM = object.draughtBowM ?? undefined;
2535
+ message.draughtSternM = object.draughtSternM ?? undefined;
2536
+ message.draughtMeanM = object.draughtMeanM ?? undefined;
2537
+ message.geometryType = object.geometryType ?? 0;
2538
+ message.sogMinKnots = object.sogMinKnots ?? undefined;
2539
+ message.sogMaxKnots = object.sogMaxKnots ?? undefined;
2540
+ message.stwMinKnots = object.stwMinKnots ?? undefined;
2541
+ message.stwMaxKnots = object.stwMaxKnots ?? undefined;
2542
+ message.draughtMaxM = object.draughtMaxM ?? undefined;
2543
+ message.airDraftMaxM = object.airDraftMaxM ?? undefined;
2544
+ message.beamMaxM = object.beamMaxM ?? undefined;
2545
+ message.lengthMaxM = object.lengthMaxM ?? undefined;
2546
+ message.report = object.report ?? "";
2547
+ message.note = object.note ?? "";
2548
+ message.colregSituation = object.colregSituation ?? 0;
2549
+ message.colregTrafficIntensity = object.colregTrafficIntensity ?? 0;
2550
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
2551
+ ? exports.Extensions.fromPartial(object.extensions)
2552
+ : undefined;
2553
+ return message;
2554
+ },
2555
+ };
2556
+ typeRegistry_1.messageTypeRegistry.set(exports.Leg.$type, exports.Leg);
2557
+ function createBaseSchedules() {
2558
+ return { $type: "keelson.Schedules", schedule: [], extensions: undefined };
2559
+ }
2560
+ exports.Schedules = {
2561
+ $type: "keelson.Schedules",
2562
+ encode(message, writer = new wire_1.BinaryWriter()) {
2563
+ for (const v of message.schedule) {
2564
+ exports.Schedule.encode(v, writer.uint32(10).fork()).join();
2565
+ }
2566
+ if (message.extensions !== undefined) {
2567
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
2568
+ }
2569
+ return writer;
2570
+ },
2571
+ decode(input, length) {
2572
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
2573
+ let end = length === undefined ? reader.len : reader.pos + length;
2574
+ const message = createBaseSchedules();
2575
+ while (reader.pos < end) {
2576
+ const tag = reader.uint32();
2577
+ switch (tag >>> 3) {
2578
+ case 1: {
2579
+ if (tag !== 10) {
2580
+ break;
2581
+ }
2582
+ message.schedule.push(exports.Schedule.decode(reader, reader.uint32()));
2583
+ continue;
2584
+ }
2585
+ case 99: {
2586
+ if (tag !== 794) {
2587
+ break;
2588
+ }
2589
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
2590
+ continue;
2591
+ }
2592
+ }
2593
+ if ((tag & 7) === 4 || tag === 0) {
2594
+ break;
2595
+ }
2596
+ reader.skip(tag & 7);
2597
+ }
2598
+ return message;
2599
+ },
2600
+ fromJSON(object) {
2601
+ return {
2602
+ $type: exports.Schedules.$type,
2603
+ schedule: globalThis.Array.isArray(object?.schedule) ? object.schedule.map((e) => exports.Schedule.fromJSON(e)) : [],
2604
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
2605
+ };
2606
+ },
2607
+ toJSON(message) {
2608
+ const obj = {};
2609
+ if (message.schedule?.length) {
2610
+ obj.schedule = message.schedule.map((e) => exports.Schedule.toJSON(e));
2611
+ }
2612
+ if (message.extensions !== undefined) {
2613
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
2614
+ }
2615
+ return obj;
2616
+ },
2617
+ create(base) {
2618
+ return exports.Schedules.fromPartial(base ?? {});
2619
+ },
2620
+ fromPartial(object) {
2621
+ const message = createBaseSchedules();
2622
+ message.schedule = object.schedule?.map((e) => exports.Schedule.fromPartial(e)) || [];
2623
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
2624
+ ? exports.Extensions.fromPartial(object.extensions)
2625
+ : undefined;
2626
+ return message;
2627
+ },
2628
+ };
2629
+ typeRegistry_1.messageTypeRegistry.set(exports.Schedules.$type, exports.Schedules);
2630
+ function createBaseSchedule() {
2631
+ return { $type: "keelson.Schedule", id: "", name: "", origin: 0, element: [], extensions: undefined };
2632
+ }
2633
+ exports.Schedule = {
2634
+ $type: "keelson.Schedule",
2635
+ encode(message, writer = new wire_1.BinaryWriter()) {
2636
+ if (message.id !== "") {
2637
+ writer.uint32(10).string(message.id);
2638
+ }
2639
+ if (message.name !== "") {
2640
+ writer.uint32(18).string(message.name);
2641
+ }
2642
+ if (message.origin !== 0) {
2643
+ writer.uint32(24).int32(message.origin);
2644
+ }
2645
+ for (const v of message.element) {
2646
+ exports.ScheduleElement.encode(v, writer.uint32(34).fork()).join();
2647
+ }
2648
+ if (message.extensions !== undefined) {
2649
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
2650
+ }
2651
+ return writer;
2652
+ },
2653
+ decode(input, length) {
2654
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
2655
+ let end = length === undefined ? reader.len : reader.pos + length;
2656
+ const message = createBaseSchedule();
2657
+ while (reader.pos < end) {
2658
+ const tag = reader.uint32();
2659
+ switch (tag >>> 3) {
2660
+ case 1: {
2661
+ if (tag !== 10) {
2662
+ break;
2663
+ }
2664
+ message.id = reader.string();
2665
+ continue;
2666
+ }
2667
+ case 2: {
2668
+ if (tag !== 18) {
2669
+ break;
2670
+ }
2671
+ message.name = reader.string();
2672
+ continue;
2673
+ }
2674
+ case 3: {
2675
+ if (tag !== 24) {
2676
+ break;
2677
+ }
2678
+ message.origin = reader.int32();
2679
+ continue;
2680
+ }
2681
+ case 4: {
2682
+ if (tag !== 34) {
2683
+ break;
2684
+ }
2685
+ message.element.push(exports.ScheduleElement.decode(reader, reader.uint32()));
2686
+ continue;
2687
+ }
2688
+ case 99: {
2689
+ if (tag !== 794) {
2690
+ break;
2691
+ }
2692
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
2693
+ continue;
2694
+ }
2695
+ }
2696
+ if ((tag & 7) === 4 || tag === 0) {
2697
+ break;
2698
+ }
2699
+ reader.skip(tag & 7);
2700
+ }
2701
+ return message;
2702
+ },
2703
+ fromJSON(object) {
2704
+ return {
2705
+ $type: exports.Schedule.$type,
2706
+ id: isSet(object.id) ? globalThis.String(object.id) : "",
2707
+ name: isSet(object.name) ? globalThis.String(object.name) : "",
2708
+ origin: isSet(object.origin) ? schedule_OriginFromJSON(object.origin) : 0,
2709
+ element: globalThis.Array.isArray(object?.element)
2710
+ ? object.element.map((e) => exports.ScheduleElement.fromJSON(e))
2711
+ : [],
2712
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
2713
+ };
2714
+ },
2715
+ toJSON(message) {
2716
+ const obj = {};
2717
+ if (message.id !== "") {
2718
+ obj.id = message.id;
2719
+ }
2720
+ if (message.name !== "") {
2721
+ obj.name = message.name;
2722
+ }
2723
+ if (message.origin !== 0) {
2724
+ obj.origin = schedule_OriginToJSON(message.origin);
2725
+ }
2726
+ if (message.element?.length) {
2727
+ obj.element = message.element.map((e) => exports.ScheduleElement.toJSON(e));
2728
+ }
2729
+ if (message.extensions !== undefined) {
2730
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
2731
+ }
2732
+ return obj;
2733
+ },
2734
+ create(base) {
2735
+ return exports.Schedule.fromPartial(base ?? {});
2736
+ },
2737
+ fromPartial(object) {
2738
+ const message = createBaseSchedule();
2739
+ message.id = object.id ?? "";
2740
+ message.name = object.name ?? "";
2741
+ message.origin = object.origin ?? 0;
2742
+ message.element = object.element?.map((e) => exports.ScheduleElement.fromPartial(e)) || [];
2743
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
2744
+ ? exports.Extensions.fromPartial(object.extensions)
2745
+ : undefined;
2746
+ return message;
2747
+ },
2748
+ };
2749
+ typeRegistry_1.messageTypeRegistry.set(exports.Schedule.$type, exports.Schedule);
2750
+ function createBaseScheduleElement() {
2751
+ return {
2752
+ $type: "keelson.ScheduleElement",
2753
+ waypointId: "",
2754
+ eta: undefined,
2755
+ etaWindowStart: undefined,
2756
+ etaWindowEnd: undefined,
2757
+ etd: undefined,
2758
+ etdWindowStart: undefined,
2759
+ etdWindowEnd: undefined,
2760
+ stay: undefined,
2761
+ windSpeedMps: 0,
2762
+ windDirectionDeg: 0,
2763
+ currentSpeedMps: 0,
2764
+ currentDirectionDeg: 0,
2765
+ waveHeightM: 0,
2766
+ wavePeriodS: 0,
2767
+ waveDirectionDeg: 0,
2768
+ plannedRpm: 0,
2769
+ plannedPropellerPitchPct: 0,
2770
+ plannedFuelKg: 0,
2771
+ fuelSavingVsReferenceKg: 0,
2772
+ extensions: undefined,
2773
+ };
2774
+ }
2775
+ exports.ScheduleElement = {
2776
+ $type: "keelson.ScheduleElement",
2777
+ encode(message, writer = new wire_1.BinaryWriter()) {
2778
+ if (message.waypointId !== "") {
2779
+ writer.uint32(10).string(message.waypointId);
2780
+ }
2781
+ if (message.eta !== undefined) {
2782
+ timestamp_1.Timestamp.encode(toTimestamp(message.eta), writer.uint32(18).fork()).join();
2783
+ }
2784
+ if (message.etaWindowStart !== undefined) {
2785
+ timestamp_1.Timestamp.encode(toTimestamp(message.etaWindowStart), writer.uint32(26).fork()).join();
2786
+ }
2787
+ if (message.etaWindowEnd !== undefined) {
2788
+ timestamp_1.Timestamp.encode(toTimestamp(message.etaWindowEnd), writer.uint32(34).fork()).join();
2789
+ }
2790
+ if (message.etd !== undefined) {
2791
+ timestamp_1.Timestamp.encode(toTimestamp(message.etd), writer.uint32(42).fork()).join();
2792
+ }
2793
+ if (message.etdWindowStart !== undefined) {
2794
+ timestamp_1.Timestamp.encode(toTimestamp(message.etdWindowStart), writer.uint32(50).fork()).join();
2795
+ }
2796
+ if (message.etdWindowEnd !== undefined) {
2797
+ timestamp_1.Timestamp.encode(toTimestamp(message.etdWindowEnd), writer.uint32(58).fork()).join();
2798
+ }
2799
+ if (message.stay !== undefined) {
2800
+ duration_1.Duration.encode(message.stay, writer.uint32(66).fork()).join();
2801
+ }
2802
+ if (message.windSpeedMps !== 0) {
2803
+ writer.uint32(165).float(message.windSpeedMps);
2804
+ }
2805
+ if (message.windDirectionDeg !== 0) {
2806
+ writer.uint32(173).float(message.windDirectionDeg);
2807
+ }
2808
+ if (message.currentSpeedMps !== 0) {
2809
+ writer.uint32(181).float(message.currentSpeedMps);
2810
+ }
2811
+ if (message.currentDirectionDeg !== 0) {
2812
+ writer.uint32(189).float(message.currentDirectionDeg);
2813
+ }
2814
+ if (message.waveHeightM !== 0) {
2815
+ writer.uint32(197).float(message.waveHeightM);
2816
+ }
2817
+ if (message.wavePeriodS !== 0) {
2818
+ writer.uint32(205).float(message.wavePeriodS);
2819
+ }
2820
+ if (message.waveDirectionDeg !== 0) {
2821
+ writer.uint32(213).float(message.waveDirectionDeg);
2822
+ }
2823
+ if (message.plannedRpm !== 0) {
2824
+ writer.uint32(245).float(message.plannedRpm);
2825
+ }
2826
+ if (message.plannedPropellerPitchPct !== 0) {
2827
+ writer.uint32(253).float(message.plannedPropellerPitchPct);
2828
+ }
2829
+ if (message.plannedFuelKg !== 0) {
2830
+ writer.uint32(261).float(message.plannedFuelKg);
2831
+ }
2832
+ if (message.fuelSavingVsReferenceKg !== 0) {
2833
+ writer.uint32(269).float(message.fuelSavingVsReferenceKg);
2834
+ }
2835
+ if (message.extensions !== undefined) {
2836
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
2837
+ }
2838
+ return writer;
2839
+ },
2840
+ decode(input, length) {
2841
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
2842
+ let end = length === undefined ? reader.len : reader.pos + length;
2843
+ const message = createBaseScheduleElement();
2844
+ while (reader.pos < end) {
2845
+ const tag = reader.uint32();
2846
+ switch (tag >>> 3) {
2847
+ case 1: {
2848
+ if (tag !== 10) {
2849
+ break;
2850
+ }
2851
+ message.waypointId = reader.string();
2852
+ continue;
2853
+ }
2854
+ case 2: {
2855
+ if (tag !== 18) {
2856
+ break;
2857
+ }
2858
+ message.eta = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
2859
+ continue;
2860
+ }
2861
+ case 3: {
2862
+ if (tag !== 26) {
2863
+ break;
2864
+ }
2865
+ message.etaWindowStart = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
2866
+ continue;
2867
+ }
2868
+ case 4: {
2869
+ if (tag !== 34) {
2870
+ break;
2871
+ }
2872
+ message.etaWindowEnd = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
2873
+ continue;
2874
+ }
2875
+ case 5: {
2876
+ if (tag !== 42) {
2877
+ break;
2878
+ }
2879
+ message.etd = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
2880
+ continue;
2881
+ }
2882
+ case 6: {
2883
+ if (tag !== 50) {
2884
+ break;
2885
+ }
2886
+ message.etdWindowStart = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
2887
+ continue;
2888
+ }
2889
+ case 7: {
2890
+ if (tag !== 58) {
2891
+ break;
2892
+ }
2893
+ message.etdWindowEnd = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
2894
+ continue;
2895
+ }
2896
+ case 8: {
2897
+ if (tag !== 66) {
2898
+ break;
2899
+ }
2900
+ message.stay = duration_1.Duration.decode(reader, reader.uint32());
2901
+ continue;
2902
+ }
2903
+ case 20: {
2904
+ if (tag !== 165) {
2905
+ break;
2906
+ }
2907
+ message.windSpeedMps = reader.float();
2908
+ continue;
2909
+ }
2910
+ case 21: {
2911
+ if (tag !== 173) {
2912
+ break;
2913
+ }
2914
+ message.windDirectionDeg = reader.float();
2915
+ continue;
2916
+ }
2917
+ case 22: {
2918
+ if (tag !== 181) {
2919
+ break;
2920
+ }
2921
+ message.currentSpeedMps = reader.float();
2922
+ continue;
2923
+ }
2924
+ case 23: {
2925
+ if (tag !== 189) {
2926
+ break;
2927
+ }
2928
+ message.currentDirectionDeg = reader.float();
2929
+ continue;
2930
+ }
2931
+ case 24: {
2932
+ if (tag !== 197) {
2933
+ break;
2934
+ }
2935
+ message.waveHeightM = reader.float();
2936
+ continue;
2937
+ }
2938
+ case 25: {
2939
+ if (tag !== 205) {
2940
+ break;
2941
+ }
2942
+ message.wavePeriodS = reader.float();
2943
+ continue;
2944
+ }
2945
+ case 26: {
2946
+ if (tag !== 213) {
2947
+ break;
2948
+ }
2949
+ message.waveDirectionDeg = reader.float();
2950
+ continue;
2951
+ }
2952
+ case 30: {
2953
+ if (tag !== 245) {
2954
+ break;
2955
+ }
2956
+ message.plannedRpm = reader.float();
2957
+ continue;
2958
+ }
2959
+ case 31: {
2960
+ if (tag !== 253) {
2961
+ break;
2962
+ }
2963
+ message.plannedPropellerPitchPct = reader.float();
2964
+ continue;
2965
+ }
2966
+ case 32: {
2967
+ if (tag !== 261) {
2968
+ break;
2969
+ }
2970
+ message.plannedFuelKg = reader.float();
2971
+ continue;
2972
+ }
2973
+ case 33: {
2974
+ if (tag !== 269) {
2975
+ break;
2976
+ }
2977
+ message.fuelSavingVsReferenceKg = reader.float();
2978
+ continue;
2979
+ }
2980
+ case 99: {
2981
+ if (tag !== 794) {
2982
+ break;
2983
+ }
2984
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
2985
+ continue;
2986
+ }
2987
+ }
2988
+ if ((tag & 7) === 4 || tag === 0) {
2989
+ break;
2990
+ }
2991
+ reader.skip(tag & 7);
2992
+ }
2993
+ return message;
2994
+ },
2995
+ fromJSON(object) {
2996
+ return {
2997
+ $type: exports.ScheduleElement.$type,
2998
+ waypointId: isSet(object.waypointId) ? globalThis.String(object.waypointId) : "",
2999
+ eta: isSet(object.eta) ? fromJsonTimestamp(object.eta) : undefined,
3000
+ etaWindowStart: isSet(object.etaWindowStart) ? fromJsonTimestamp(object.etaWindowStart) : undefined,
3001
+ etaWindowEnd: isSet(object.etaWindowEnd) ? fromJsonTimestamp(object.etaWindowEnd) : undefined,
3002
+ etd: isSet(object.etd) ? fromJsonTimestamp(object.etd) : undefined,
3003
+ etdWindowStart: isSet(object.etdWindowStart) ? fromJsonTimestamp(object.etdWindowStart) : undefined,
3004
+ etdWindowEnd: isSet(object.etdWindowEnd) ? fromJsonTimestamp(object.etdWindowEnd) : undefined,
3005
+ stay: isSet(object.stay) ? duration_1.Duration.fromJSON(object.stay) : undefined,
3006
+ windSpeedMps: isSet(object.windSpeedMps) ? globalThis.Number(object.windSpeedMps) : 0,
3007
+ windDirectionDeg: isSet(object.windDirectionDeg) ? globalThis.Number(object.windDirectionDeg) : 0,
3008
+ currentSpeedMps: isSet(object.currentSpeedMps) ? globalThis.Number(object.currentSpeedMps) : 0,
3009
+ currentDirectionDeg: isSet(object.currentDirectionDeg) ? globalThis.Number(object.currentDirectionDeg) : 0,
3010
+ waveHeightM: isSet(object.waveHeightM) ? globalThis.Number(object.waveHeightM) : 0,
3011
+ wavePeriodS: isSet(object.wavePeriodS) ? globalThis.Number(object.wavePeriodS) : 0,
3012
+ waveDirectionDeg: isSet(object.waveDirectionDeg) ? globalThis.Number(object.waveDirectionDeg) : 0,
3013
+ plannedRpm: isSet(object.plannedRpm) ? globalThis.Number(object.plannedRpm) : 0,
3014
+ plannedPropellerPitchPct: isSet(object.plannedPropellerPitchPct)
3015
+ ? globalThis.Number(object.plannedPropellerPitchPct)
3016
+ : 0,
3017
+ plannedFuelKg: isSet(object.plannedFuelKg) ? globalThis.Number(object.plannedFuelKg) : 0,
3018
+ fuelSavingVsReferenceKg: isSet(object.fuelSavingVsReferenceKg)
3019
+ ? globalThis.Number(object.fuelSavingVsReferenceKg)
3020
+ : 0,
3021
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
3022
+ };
3023
+ },
3024
+ toJSON(message) {
3025
+ const obj = {};
3026
+ if (message.waypointId !== "") {
3027
+ obj.waypointId = message.waypointId;
3028
+ }
3029
+ if (message.eta !== undefined) {
3030
+ obj.eta = message.eta.toISOString();
3031
+ }
3032
+ if (message.etaWindowStart !== undefined) {
3033
+ obj.etaWindowStart = message.etaWindowStart.toISOString();
3034
+ }
3035
+ if (message.etaWindowEnd !== undefined) {
3036
+ obj.etaWindowEnd = message.etaWindowEnd.toISOString();
3037
+ }
3038
+ if (message.etd !== undefined) {
3039
+ obj.etd = message.etd.toISOString();
3040
+ }
3041
+ if (message.etdWindowStart !== undefined) {
3042
+ obj.etdWindowStart = message.etdWindowStart.toISOString();
3043
+ }
3044
+ if (message.etdWindowEnd !== undefined) {
3045
+ obj.etdWindowEnd = message.etdWindowEnd.toISOString();
3046
+ }
3047
+ if (message.stay !== undefined) {
3048
+ obj.stay = duration_1.Duration.toJSON(message.stay);
3049
+ }
3050
+ if (message.windSpeedMps !== 0) {
3051
+ obj.windSpeedMps = message.windSpeedMps;
3052
+ }
3053
+ if (message.windDirectionDeg !== 0) {
3054
+ obj.windDirectionDeg = message.windDirectionDeg;
3055
+ }
3056
+ if (message.currentSpeedMps !== 0) {
3057
+ obj.currentSpeedMps = message.currentSpeedMps;
3058
+ }
3059
+ if (message.currentDirectionDeg !== 0) {
3060
+ obj.currentDirectionDeg = message.currentDirectionDeg;
3061
+ }
3062
+ if (message.waveHeightM !== 0) {
3063
+ obj.waveHeightM = message.waveHeightM;
3064
+ }
3065
+ if (message.wavePeriodS !== 0) {
3066
+ obj.wavePeriodS = message.wavePeriodS;
3067
+ }
3068
+ if (message.waveDirectionDeg !== 0) {
3069
+ obj.waveDirectionDeg = message.waveDirectionDeg;
3070
+ }
3071
+ if (message.plannedRpm !== 0) {
3072
+ obj.plannedRpm = message.plannedRpm;
3073
+ }
3074
+ if (message.plannedPropellerPitchPct !== 0) {
3075
+ obj.plannedPropellerPitchPct = message.plannedPropellerPitchPct;
3076
+ }
3077
+ if (message.plannedFuelKg !== 0) {
3078
+ obj.plannedFuelKg = message.plannedFuelKg;
3079
+ }
3080
+ if (message.fuelSavingVsReferenceKg !== 0) {
3081
+ obj.fuelSavingVsReferenceKg = message.fuelSavingVsReferenceKg;
3082
+ }
3083
+ if (message.extensions !== undefined) {
3084
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
3085
+ }
3086
+ return obj;
3087
+ },
3088
+ create(base) {
3089
+ return exports.ScheduleElement.fromPartial(base ?? {});
3090
+ },
3091
+ fromPartial(object) {
3092
+ const message = createBaseScheduleElement();
3093
+ message.waypointId = object.waypointId ?? "";
3094
+ message.eta = object.eta ?? undefined;
3095
+ message.etaWindowStart = object.etaWindowStart ?? undefined;
3096
+ message.etaWindowEnd = object.etaWindowEnd ?? undefined;
3097
+ message.etd = object.etd ?? undefined;
3098
+ message.etdWindowStart = object.etdWindowStart ?? undefined;
3099
+ message.etdWindowEnd = object.etdWindowEnd ?? undefined;
3100
+ message.stay = (object.stay !== undefined && object.stay !== null) ? duration_1.Duration.fromPartial(object.stay) : undefined;
3101
+ message.windSpeedMps = object.windSpeedMps ?? 0;
3102
+ message.windDirectionDeg = object.windDirectionDeg ?? 0;
3103
+ message.currentSpeedMps = object.currentSpeedMps ?? 0;
3104
+ message.currentDirectionDeg = object.currentDirectionDeg ?? 0;
3105
+ message.waveHeightM = object.waveHeightM ?? 0;
3106
+ message.wavePeriodS = object.wavePeriodS ?? 0;
3107
+ message.waveDirectionDeg = object.waveDirectionDeg ?? 0;
3108
+ message.plannedRpm = object.plannedRpm ?? 0;
3109
+ message.plannedPropellerPitchPct = object.plannedPropellerPitchPct ?? 0;
3110
+ message.plannedFuelKg = object.plannedFuelKg ?? 0;
3111
+ message.fuelSavingVsReferenceKg = object.fuelSavingVsReferenceKg ?? 0;
3112
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
3113
+ ? exports.Extensions.fromPartial(object.extensions)
3114
+ : undefined;
3115
+ return message;
3116
+ },
3117
+ };
3118
+ typeRegistry_1.messageTypeRegistry.set(exports.ScheduleElement.$type, exports.ScheduleElement);
3119
+ function createBaseActionPoints() {
3120
+ return { $type: "keelson.ActionPoints", actionPoint: [], extensions: undefined };
3121
+ }
3122
+ exports.ActionPoints = {
3123
+ $type: "keelson.ActionPoints",
3124
+ encode(message, writer = new wire_1.BinaryWriter()) {
3125
+ for (const v of message.actionPoint) {
3126
+ exports.ActionPoint.encode(v, writer.uint32(10).fork()).join();
3127
+ }
3128
+ if (message.extensions !== undefined) {
3129
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
3130
+ }
3131
+ return writer;
3132
+ },
3133
+ decode(input, length) {
3134
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
3135
+ let end = length === undefined ? reader.len : reader.pos + length;
3136
+ const message = createBaseActionPoints();
3137
+ while (reader.pos < end) {
3138
+ const tag = reader.uint32();
3139
+ switch (tag >>> 3) {
3140
+ case 1: {
3141
+ if (tag !== 10) {
3142
+ break;
3143
+ }
3144
+ message.actionPoint.push(exports.ActionPoint.decode(reader, reader.uint32()));
3145
+ continue;
3146
+ }
3147
+ case 99: {
3148
+ if (tag !== 794) {
3149
+ break;
3150
+ }
3151
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
3152
+ continue;
3153
+ }
3154
+ }
3155
+ if ((tag & 7) === 4 || tag === 0) {
3156
+ break;
3157
+ }
3158
+ reader.skip(tag & 7);
3159
+ }
3160
+ return message;
3161
+ },
3162
+ fromJSON(object) {
3163
+ return {
3164
+ $type: exports.ActionPoints.$type,
3165
+ actionPoint: globalThis.Array.isArray(object?.actionPoint)
3166
+ ? object.actionPoint.map((e) => exports.ActionPoint.fromJSON(e))
3167
+ : [],
3168
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
3169
+ };
3170
+ },
3171
+ toJSON(message) {
3172
+ const obj = {};
3173
+ if (message.actionPoint?.length) {
3174
+ obj.actionPoint = message.actionPoint.map((e) => exports.ActionPoint.toJSON(e));
3175
+ }
3176
+ if (message.extensions !== undefined) {
3177
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
3178
+ }
3179
+ return obj;
3180
+ },
3181
+ create(base) {
3182
+ return exports.ActionPoints.fromPartial(base ?? {});
3183
+ },
3184
+ fromPartial(object) {
3185
+ const message = createBaseActionPoints();
3186
+ message.actionPoint = object.actionPoint?.map((e) => exports.ActionPoint.fromPartial(e)) || [];
3187
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
3188
+ ? exports.Extensions.fromPartial(object.extensions)
3189
+ : undefined;
3190
+ return message;
3191
+ },
3192
+ };
3193
+ typeRegistry_1.messageTypeRegistry.set(exports.ActionPoints.$type, exports.ActionPoints);
3194
+ function createBaseActionPoint() {
3195
+ return {
3196
+ $type: "keelson.ActionPoint",
3197
+ id: "",
3198
+ name: "",
3199
+ circle: undefined,
3200
+ areaGeojson: undefined,
3201
+ timeToAct: undefined,
3202
+ requiredAction: 0,
3203
+ description: "",
3204
+ extensions: undefined,
3205
+ };
3206
+ }
3207
+ exports.ActionPoint = {
3208
+ $type: "keelson.ActionPoint",
3209
+ encode(message, writer = new wire_1.BinaryWriter()) {
3210
+ if (message.id !== "") {
3211
+ writer.uint32(10).string(message.id);
3212
+ }
3213
+ if (message.name !== "") {
3214
+ writer.uint32(18).string(message.name);
3215
+ }
3216
+ if (message.circle !== undefined) {
3217
+ exports.CircleGeometry.encode(message.circle, writer.uint32(50).fork()).join();
3218
+ }
3219
+ if (message.areaGeojson !== undefined) {
3220
+ GeoJSON_1.GeoJSON.encode(message.areaGeojson, writer.uint32(58).fork()).join();
3221
+ }
3222
+ if (message.timeToAct !== undefined) {
3223
+ duration_1.Duration.encode(message.timeToAct, writer.uint32(82).fork()).join();
3224
+ }
3225
+ if (message.requiredAction !== 0) {
3226
+ writer.uint32(88).int32(message.requiredAction);
3227
+ }
3228
+ if (message.description !== "") {
3229
+ writer.uint32(98).string(message.description);
3230
+ }
3231
+ if (message.extensions !== undefined) {
3232
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
3233
+ }
3234
+ return writer;
3235
+ },
3236
+ decode(input, length) {
3237
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
3238
+ let end = length === undefined ? reader.len : reader.pos + length;
3239
+ const message = createBaseActionPoint();
3240
+ while (reader.pos < end) {
3241
+ const tag = reader.uint32();
3242
+ switch (tag >>> 3) {
3243
+ case 1: {
3244
+ if (tag !== 10) {
3245
+ break;
3246
+ }
3247
+ message.id = reader.string();
3248
+ continue;
3249
+ }
3250
+ case 2: {
3251
+ if (tag !== 18) {
3252
+ break;
3253
+ }
3254
+ message.name = reader.string();
3255
+ continue;
3256
+ }
3257
+ case 6: {
3258
+ if (tag !== 50) {
3259
+ break;
3260
+ }
3261
+ message.circle = exports.CircleGeometry.decode(reader, reader.uint32());
3262
+ continue;
3263
+ }
3264
+ case 7: {
3265
+ if (tag !== 58) {
3266
+ break;
3267
+ }
3268
+ message.areaGeojson = GeoJSON_1.GeoJSON.decode(reader, reader.uint32());
3269
+ continue;
3270
+ }
3271
+ case 10: {
3272
+ if (tag !== 82) {
3273
+ break;
3274
+ }
3275
+ message.timeToAct = duration_1.Duration.decode(reader, reader.uint32());
3276
+ continue;
3277
+ }
3278
+ case 11: {
3279
+ if (tag !== 88) {
3280
+ break;
3281
+ }
3282
+ message.requiredAction = reader.int32();
3283
+ continue;
3284
+ }
3285
+ case 12: {
3286
+ if (tag !== 98) {
3287
+ break;
3288
+ }
3289
+ message.description = reader.string();
3290
+ continue;
3291
+ }
3292
+ case 99: {
3293
+ if (tag !== 794) {
3294
+ break;
3295
+ }
3296
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
3297
+ continue;
3298
+ }
3299
+ }
3300
+ if ((tag & 7) === 4 || tag === 0) {
3301
+ break;
3302
+ }
3303
+ reader.skip(tag & 7);
3304
+ }
3305
+ return message;
3306
+ },
3307
+ fromJSON(object) {
3308
+ return {
3309
+ $type: exports.ActionPoint.$type,
3310
+ id: isSet(object.id) ? globalThis.String(object.id) : "",
3311
+ name: isSet(object.name) ? globalThis.String(object.name) : "",
3312
+ circle: isSet(object.circle) ? exports.CircleGeometry.fromJSON(object.circle) : undefined,
3313
+ areaGeojson: isSet(object.areaGeojson) ? GeoJSON_1.GeoJSON.fromJSON(object.areaGeojson) : undefined,
3314
+ timeToAct: isSet(object.timeToAct) ? duration_1.Duration.fromJSON(object.timeToAct) : undefined,
3315
+ requiredAction: isSet(object.requiredAction) ? actionPointRequiredActionFromJSON(object.requiredAction) : 0,
3316
+ description: isSet(object.description) ? globalThis.String(object.description) : "",
3317
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
3318
+ };
3319
+ },
3320
+ toJSON(message) {
3321
+ const obj = {};
3322
+ if (message.id !== "") {
3323
+ obj.id = message.id;
3324
+ }
3325
+ if (message.name !== "") {
3326
+ obj.name = message.name;
3327
+ }
3328
+ if (message.circle !== undefined) {
3329
+ obj.circle = exports.CircleGeometry.toJSON(message.circle);
3330
+ }
3331
+ if (message.areaGeojson !== undefined) {
3332
+ obj.areaGeojson = GeoJSON_1.GeoJSON.toJSON(message.areaGeojson);
3333
+ }
3334
+ if (message.timeToAct !== undefined) {
3335
+ obj.timeToAct = duration_1.Duration.toJSON(message.timeToAct);
3336
+ }
3337
+ if (message.requiredAction !== 0) {
3338
+ obj.requiredAction = actionPointRequiredActionToJSON(message.requiredAction);
3339
+ }
3340
+ if (message.description !== "") {
3341
+ obj.description = message.description;
3342
+ }
3343
+ if (message.extensions !== undefined) {
3344
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
3345
+ }
3346
+ return obj;
3347
+ },
3348
+ create(base) {
3349
+ return exports.ActionPoint.fromPartial(base ?? {});
3350
+ },
3351
+ fromPartial(object) {
3352
+ const message = createBaseActionPoint();
3353
+ message.id = object.id ?? "";
3354
+ message.name = object.name ?? "";
3355
+ message.circle = (object.circle !== undefined && object.circle !== null)
3356
+ ? exports.CircleGeometry.fromPartial(object.circle)
3357
+ : undefined;
3358
+ message.areaGeojson = (object.areaGeojson !== undefined && object.areaGeojson !== null)
3359
+ ? GeoJSON_1.GeoJSON.fromPartial(object.areaGeojson)
3360
+ : undefined;
3361
+ message.timeToAct = (object.timeToAct !== undefined && object.timeToAct !== null)
3362
+ ? duration_1.Duration.fromPartial(object.timeToAct)
3363
+ : undefined;
3364
+ message.requiredAction = object.requiredAction ?? 0;
3365
+ message.description = object.description ?? "";
3366
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
3367
+ ? exports.Extensions.fromPartial(object.extensions)
3368
+ : undefined;
3369
+ return message;
3370
+ },
3371
+ };
3372
+ typeRegistry_1.messageTypeRegistry.set(exports.ActionPoint.$type, exports.ActionPoint);
3373
+ function createBaseHazardZone() {
3374
+ return {
3375
+ $type: "keelson.HazardZone",
3376
+ id: "",
3377
+ type: 0,
3378
+ severity: 0,
3379
+ description: "",
3380
+ circle: undefined,
3381
+ polygonGeojson: undefined,
3382
+ validFrom: undefined,
3383
+ validTo: undefined,
3384
+ extensions: undefined,
3385
+ };
3386
+ }
3387
+ exports.HazardZone = {
3388
+ $type: "keelson.HazardZone",
3389
+ encode(message, writer = new wire_1.BinaryWriter()) {
3390
+ if (message.id !== "") {
3391
+ writer.uint32(10).string(message.id);
3392
+ }
3393
+ if (message.type !== 0) {
3394
+ writer.uint32(16).int32(message.type);
3395
+ }
3396
+ if (message.severity !== 0) {
3397
+ writer.uint32(24).int32(message.severity);
3398
+ }
3399
+ if (message.description !== "") {
3400
+ writer.uint32(34).string(message.description);
3401
+ }
3402
+ if (message.circle !== undefined) {
3403
+ exports.CircleGeometry.encode(message.circle, writer.uint32(106).fork()).join();
3404
+ }
3405
+ if (message.polygonGeojson !== undefined) {
3406
+ GeoJSON_1.GeoJSON.encode(message.polygonGeojson, writer.uint32(114).fork()).join();
3407
+ }
3408
+ if (message.validFrom !== undefined) {
3409
+ timestamp_1.Timestamp.encode(toTimestamp(message.validFrom), writer.uint32(162).fork()).join();
3410
+ }
3411
+ if (message.validTo !== undefined) {
3412
+ timestamp_1.Timestamp.encode(toTimestamp(message.validTo), writer.uint32(170).fork()).join();
3413
+ }
3414
+ if (message.extensions !== undefined) {
3415
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
3416
+ }
3417
+ return writer;
3418
+ },
3419
+ decode(input, length) {
3420
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
3421
+ let end = length === undefined ? reader.len : reader.pos + length;
3422
+ const message = createBaseHazardZone();
3423
+ while (reader.pos < end) {
3424
+ const tag = reader.uint32();
3425
+ switch (tag >>> 3) {
3426
+ case 1: {
3427
+ if (tag !== 10) {
3428
+ break;
3429
+ }
3430
+ message.id = reader.string();
3431
+ continue;
3432
+ }
3433
+ case 2: {
3434
+ if (tag !== 16) {
3435
+ break;
3436
+ }
3437
+ message.type = reader.int32();
3438
+ continue;
3439
+ }
3440
+ case 3: {
3441
+ if (tag !== 24) {
3442
+ break;
3443
+ }
3444
+ message.severity = reader.int32();
3445
+ continue;
3446
+ }
3447
+ case 4: {
3448
+ if (tag !== 34) {
3449
+ break;
3450
+ }
3451
+ message.description = reader.string();
3452
+ continue;
3453
+ }
3454
+ case 13: {
3455
+ if (tag !== 106) {
3456
+ break;
3457
+ }
3458
+ message.circle = exports.CircleGeometry.decode(reader, reader.uint32());
3459
+ continue;
3460
+ }
3461
+ case 14: {
3462
+ if (tag !== 114) {
3463
+ break;
3464
+ }
3465
+ message.polygonGeojson = GeoJSON_1.GeoJSON.decode(reader, reader.uint32());
3466
+ continue;
3467
+ }
3468
+ case 20: {
3469
+ if (tag !== 162) {
3470
+ break;
3471
+ }
3472
+ message.validFrom = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
3473
+ continue;
3474
+ }
3475
+ case 21: {
3476
+ if (tag !== 170) {
3477
+ break;
3478
+ }
3479
+ message.validTo = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
3480
+ continue;
3481
+ }
3482
+ case 99: {
3483
+ if (tag !== 794) {
3484
+ break;
3485
+ }
3486
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
3487
+ continue;
3488
+ }
3489
+ }
3490
+ if ((tag & 7) === 4 || tag === 0) {
3491
+ break;
3492
+ }
3493
+ reader.skip(tag & 7);
3494
+ }
3495
+ return message;
3496
+ },
3497
+ fromJSON(object) {
3498
+ return {
3499
+ $type: exports.HazardZone.$type,
3500
+ id: isSet(object.id) ? globalThis.String(object.id) : "",
3501
+ type: isSet(object.type) ? hazardZoneTypeFromJSON(object.type) : 0,
3502
+ severity: isSet(object.severity) ? (0, Severity_1.severityLevelFromJSON)(object.severity) : 0,
3503
+ description: isSet(object.description) ? globalThis.String(object.description) : "",
3504
+ circle: isSet(object.circle) ? exports.CircleGeometry.fromJSON(object.circle) : undefined,
3505
+ polygonGeojson: isSet(object.polygonGeojson) ? GeoJSON_1.GeoJSON.fromJSON(object.polygonGeojson) : undefined,
3506
+ validFrom: isSet(object.validFrom) ? fromJsonTimestamp(object.validFrom) : undefined,
3507
+ validTo: isSet(object.validTo) ? fromJsonTimestamp(object.validTo) : undefined,
3508
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
3509
+ };
3510
+ },
3511
+ toJSON(message) {
3512
+ const obj = {};
3513
+ if (message.id !== "") {
3514
+ obj.id = message.id;
3515
+ }
3516
+ if (message.type !== 0) {
3517
+ obj.type = hazardZoneTypeToJSON(message.type);
3518
+ }
3519
+ if (message.severity !== 0) {
3520
+ obj.severity = (0, Severity_1.severityLevelToJSON)(message.severity);
3521
+ }
3522
+ if (message.description !== "") {
3523
+ obj.description = message.description;
3524
+ }
3525
+ if (message.circle !== undefined) {
3526
+ obj.circle = exports.CircleGeometry.toJSON(message.circle);
3527
+ }
3528
+ if (message.polygonGeojson !== undefined) {
3529
+ obj.polygonGeojson = GeoJSON_1.GeoJSON.toJSON(message.polygonGeojson);
3530
+ }
3531
+ if (message.validFrom !== undefined) {
3532
+ obj.validFrom = message.validFrom.toISOString();
3533
+ }
3534
+ if (message.validTo !== undefined) {
3535
+ obj.validTo = message.validTo.toISOString();
3536
+ }
3537
+ if (message.extensions !== undefined) {
3538
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
3539
+ }
3540
+ return obj;
3541
+ },
3542
+ create(base) {
3543
+ return exports.HazardZone.fromPartial(base ?? {});
3544
+ },
3545
+ fromPartial(object) {
3546
+ const message = createBaseHazardZone();
3547
+ message.id = object.id ?? "";
3548
+ message.type = object.type ?? 0;
3549
+ message.severity = object.severity ?? 0;
3550
+ message.description = object.description ?? "";
3551
+ message.circle = (object.circle !== undefined && object.circle !== null)
3552
+ ? exports.CircleGeometry.fromPartial(object.circle)
3553
+ : undefined;
3554
+ message.polygonGeojson = (object.polygonGeojson !== undefined && object.polygonGeojson !== null)
3555
+ ? GeoJSON_1.GeoJSON.fromPartial(object.polygonGeojson)
3556
+ : undefined;
3557
+ message.validFrom = object.validFrom ?? undefined;
3558
+ message.validTo = object.validTo ?? undefined;
3559
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
3560
+ ? exports.Extensions.fromPartial(object.extensions)
3561
+ : undefined;
3562
+ return message;
3563
+ },
3564
+ };
3565
+ typeRegistry_1.messageTypeRegistry.set(exports.HazardZone.$type, exports.HazardZone);
3566
+ function createBaseRouteChallenge() {
3567
+ return {
3568
+ $type: "keelson.RouteChallenge",
3569
+ id: "",
3570
+ type: 0,
3571
+ severity: 0,
3572
+ description: "",
3573
+ waypointIds: [],
3574
+ extensions: undefined,
3575
+ };
3576
+ }
3577
+ exports.RouteChallenge = {
3578
+ $type: "keelson.RouteChallenge",
3579
+ encode(message, writer = new wire_1.BinaryWriter()) {
3580
+ if (message.id !== "") {
3581
+ writer.uint32(10).string(message.id);
3582
+ }
3583
+ if (message.type !== 0) {
3584
+ writer.uint32(16).int32(message.type);
3585
+ }
3586
+ if (message.severity !== 0) {
3587
+ writer.uint32(24).int32(message.severity);
3588
+ }
3589
+ if (message.description !== "") {
3590
+ writer.uint32(34).string(message.description);
3591
+ }
3592
+ for (const v of message.waypointIds) {
3593
+ writer.uint32(42).string(v);
3594
+ }
3595
+ if (message.extensions !== undefined) {
3596
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
3597
+ }
3598
+ return writer;
3599
+ },
3600
+ decode(input, length) {
3601
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
3602
+ let end = length === undefined ? reader.len : reader.pos + length;
3603
+ const message = createBaseRouteChallenge();
3604
+ while (reader.pos < end) {
3605
+ const tag = reader.uint32();
3606
+ switch (tag >>> 3) {
3607
+ case 1: {
3608
+ if (tag !== 10) {
3609
+ break;
3610
+ }
3611
+ message.id = reader.string();
3612
+ continue;
3613
+ }
3614
+ case 2: {
3615
+ if (tag !== 16) {
3616
+ break;
3617
+ }
3618
+ message.type = reader.int32();
3619
+ continue;
3620
+ }
3621
+ case 3: {
3622
+ if (tag !== 24) {
3623
+ break;
3624
+ }
3625
+ message.severity = reader.int32();
3626
+ continue;
3627
+ }
3628
+ case 4: {
3629
+ if (tag !== 34) {
3630
+ break;
3631
+ }
3632
+ message.description = reader.string();
3633
+ continue;
3634
+ }
3635
+ case 5: {
3636
+ if (tag !== 42) {
3637
+ break;
3638
+ }
3639
+ message.waypointIds.push(reader.string());
3640
+ continue;
3641
+ }
3642
+ case 99: {
3643
+ if (tag !== 794) {
3644
+ break;
3645
+ }
3646
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
3647
+ continue;
3648
+ }
3649
+ }
3650
+ if ((tag & 7) === 4 || tag === 0) {
3651
+ break;
3652
+ }
3653
+ reader.skip(tag & 7);
3654
+ }
3655
+ return message;
3656
+ },
3657
+ fromJSON(object) {
3658
+ return {
3659
+ $type: exports.RouteChallenge.$type,
3660
+ id: isSet(object.id) ? globalThis.String(object.id) : "",
3661
+ type: isSet(object.type) ? routeChallengeTypeFromJSON(object.type) : 0,
3662
+ severity: isSet(object.severity) ? (0, Severity_1.severityLevelFromJSON)(object.severity) : 0,
3663
+ description: isSet(object.description) ? globalThis.String(object.description) : "",
3664
+ waypointIds: globalThis.Array.isArray(object?.waypointIds)
3665
+ ? object.waypointIds.map((e) => globalThis.String(e))
3666
+ : [],
3667
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
3668
+ };
3669
+ },
3670
+ toJSON(message) {
3671
+ const obj = {};
3672
+ if (message.id !== "") {
3673
+ obj.id = message.id;
3674
+ }
3675
+ if (message.type !== 0) {
3676
+ obj.type = routeChallengeTypeToJSON(message.type);
3677
+ }
3678
+ if (message.severity !== 0) {
3679
+ obj.severity = (0, Severity_1.severityLevelToJSON)(message.severity);
3680
+ }
3681
+ if (message.description !== "") {
3682
+ obj.description = message.description;
3683
+ }
3684
+ if (message.waypointIds?.length) {
3685
+ obj.waypointIds = message.waypointIds;
3686
+ }
3687
+ if (message.extensions !== undefined) {
3688
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
3689
+ }
3690
+ return obj;
3691
+ },
3692
+ create(base) {
3693
+ return exports.RouteChallenge.fromPartial(base ?? {});
3694
+ },
3695
+ fromPartial(object) {
3696
+ const message = createBaseRouteChallenge();
3697
+ message.id = object.id ?? "";
3698
+ message.type = object.type ?? 0;
3699
+ message.severity = object.severity ?? 0;
3700
+ message.description = object.description ?? "";
3701
+ message.waypointIds = object.waypointIds?.map((e) => e) || [];
3702
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
3703
+ ? exports.Extensions.fromPartial(object.extensions)
3704
+ : undefined;
3705
+ return message;
3706
+ },
3707
+ };
3708
+ typeRegistry_1.messageTypeRegistry.set(exports.RouteChallenge.$type, exports.RouteChallenge);
3709
+ function createBaseRouteIssue() {
3710
+ return {
3711
+ $type: "keelson.RouteIssue",
3712
+ id: "",
3713
+ severity: 0,
3714
+ description: "",
3715
+ raisedAt: undefined,
3716
+ raisedBy: "",
3717
+ extensions: undefined,
3718
+ };
3719
+ }
3720
+ exports.RouteIssue = {
3721
+ $type: "keelson.RouteIssue",
3722
+ encode(message, writer = new wire_1.BinaryWriter()) {
3723
+ if (message.id !== "") {
3724
+ writer.uint32(10).string(message.id);
3725
+ }
3726
+ if (message.severity !== 0) {
3727
+ writer.uint32(16).int32(message.severity);
3728
+ }
3729
+ if (message.description !== "") {
3730
+ writer.uint32(26).string(message.description);
3731
+ }
3732
+ if (message.raisedAt !== undefined) {
3733
+ timestamp_1.Timestamp.encode(toTimestamp(message.raisedAt), writer.uint32(34).fork()).join();
3734
+ }
3735
+ if (message.raisedBy !== "") {
3736
+ writer.uint32(42).string(message.raisedBy);
3737
+ }
3738
+ if (message.extensions !== undefined) {
3739
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
3740
+ }
3741
+ return writer;
3742
+ },
3743
+ decode(input, length) {
3744
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
3745
+ let end = length === undefined ? reader.len : reader.pos + length;
3746
+ const message = createBaseRouteIssue();
3747
+ while (reader.pos < end) {
3748
+ const tag = reader.uint32();
3749
+ switch (tag >>> 3) {
3750
+ case 1: {
3751
+ if (tag !== 10) {
3752
+ break;
3753
+ }
3754
+ message.id = reader.string();
3755
+ continue;
3756
+ }
3757
+ case 2: {
3758
+ if (tag !== 16) {
3759
+ break;
3760
+ }
3761
+ message.severity = reader.int32();
3762
+ continue;
3763
+ }
3764
+ case 3: {
3765
+ if (tag !== 26) {
3766
+ break;
3767
+ }
3768
+ message.description = reader.string();
3769
+ continue;
3770
+ }
3771
+ case 4: {
3772
+ if (tag !== 34) {
3773
+ break;
3774
+ }
3775
+ message.raisedAt = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
3776
+ continue;
3777
+ }
3778
+ case 5: {
3779
+ if (tag !== 42) {
3780
+ break;
3781
+ }
3782
+ message.raisedBy = reader.string();
3783
+ continue;
3784
+ }
3785
+ case 99: {
3786
+ if (tag !== 794) {
3787
+ break;
3788
+ }
3789
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
3790
+ continue;
3791
+ }
3792
+ }
3793
+ if ((tag & 7) === 4 || tag === 0) {
3794
+ break;
3795
+ }
3796
+ reader.skip(tag & 7);
3797
+ }
3798
+ return message;
3799
+ },
3800
+ fromJSON(object) {
3801
+ return {
3802
+ $type: exports.RouteIssue.$type,
3803
+ id: isSet(object.id) ? globalThis.String(object.id) : "",
3804
+ severity: isSet(object.severity) ? (0, Severity_1.severityLevelFromJSON)(object.severity) : 0,
3805
+ description: isSet(object.description) ? globalThis.String(object.description) : "",
3806
+ raisedAt: isSet(object.raisedAt) ? fromJsonTimestamp(object.raisedAt) : undefined,
3807
+ raisedBy: isSet(object.raisedBy) ? globalThis.String(object.raisedBy) : "",
3808
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
3809
+ };
3810
+ },
3811
+ toJSON(message) {
3812
+ const obj = {};
3813
+ if (message.id !== "") {
3814
+ obj.id = message.id;
3815
+ }
3816
+ if (message.severity !== 0) {
3817
+ obj.severity = (0, Severity_1.severityLevelToJSON)(message.severity);
3818
+ }
3819
+ if (message.description !== "") {
3820
+ obj.description = message.description;
3821
+ }
3822
+ if (message.raisedAt !== undefined) {
3823
+ obj.raisedAt = message.raisedAt.toISOString();
3824
+ }
3825
+ if (message.raisedBy !== "") {
3826
+ obj.raisedBy = message.raisedBy;
3827
+ }
3828
+ if (message.extensions !== undefined) {
3829
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
3830
+ }
3831
+ return obj;
3832
+ },
3833
+ create(base) {
3834
+ return exports.RouteIssue.fromPartial(base ?? {});
3835
+ },
3836
+ fromPartial(object) {
3837
+ const message = createBaseRouteIssue();
3838
+ message.id = object.id ?? "";
3839
+ message.severity = object.severity ?? 0;
3840
+ message.description = object.description ?? "";
3841
+ message.raisedAt = object.raisedAt ?? undefined;
3842
+ message.raisedBy = object.raisedBy ?? "";
3843
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
3844
+ ? exports.Extensions.fromPartial(object.extensions)
3845
+ : undefined;
3846
+ return message;
3847
+ },
3848
+ };
3849
+ typeRegistry_1.messageTypeRegistry.set(exports.RouteIssue.$type, exports.RouteIssue);
3850
+ function createBaseRouteSignatures() {
3851
+ return { $type: "keelson.RouteSignatures", routeRef: undefined, signatures: [], extensions: undefined };
3852
+ }
3853
+ exports.RouteSignatures = {
3854
+ $type: "keelson.RouteSignatures",
3855
+ encode(message, writer = new wire_1.BinaryWriter()) {
3856
+ if (message.routeRef !== undefined) {
3857
+ exports.RouteRef.encode(message.routeRef, writer.uint32(10).fork()).join();
3858
+ }
3859
+ for (const v of message.signatures) {
3860
+ exports.RouteSignature.encode(v, writer.uint32(18).fork()).join();
3861
+ }
3862
+ if (message.extensions !== undefined) {
3863
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
3864
+ }
3865
+ return writer;
3866
+ },
3867
+ decode(input, length) {
3868
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
3869
+ let end = length === undefined ? reader.len : reader.pos + length;
3870
+ const message = createBaseRouteSignatures();
3871
+ while (reader.pos < end) {
3872
+ const tag = reader.uint32();
3873
+ switch (tag >>> 3) {
3874
+ case 1: {
3875
+ if (tag !== 10) {
3876
+ break;
3877
+ }
3878
+ message.routeRef = exports.RouteRef.decode(reader, reader.uint32());
3879
+ continue;
3880
+ }
3881
+ case 2: {
3882
+ if (tag !== 18) {
3883
+ break;
3884
+ }
3885
+ message.signatures.push(exports.RouteSignature.decode(reader, reader.uint32()));
3886
+ continue;
3887
+ }
3888
+ case 99: {
3889
+ if (tag !== 794) {
3890
+ break;
3891
+ }
3892
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
3893
+ continue;
3894
+ }
3895
+ }
3896
+ if ((tag & 7) === 4 || tag === 0) {
3897
+ break;
3898
+ }
3899
+ reader.skip(tag & 7);
3900
+ }
3901
+ return message;
3902
+ },
3903
+ fromJSON(object) {
3904
+ return {
3905
+ $type: exports.RouteSignatures.$type,
3906
+ routeRef: isSet(object.routeRef) ? exports.RouteRef.fromJSON(object.routeRef) : undefined,
3907
+ signatures: globalThis.Array.isArray(object?.signatures)
3908
+ ? object.signatures.map((e) => exports.RouteSignature.fromJSON(e))
3909
+ : [],
3910
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
3911
+ };
3912
+ },
3913
+ toJSON(message) {
3914
+ const obj = {};
3915
+ if (message.routeRef !== undefined) {
3916
+ obj.routeRef = exports.RouteRef.toJSON(message.routeRef);
3917
+ }
3918
+ if (message.signatures?.length) {
3919
+ obj.signatures = message.signatures.map((e) => exports.RouteSignature.toJSON(e));
3920
+ }
3921
+ if (message.extensions !== undefined) {
3922
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
3923
+ }
3924
+ return obj;
3925
+ },
3926
+ create(base) {
3927
+ return exports.RouteSignatures.fromPartial(base ?? {});
3928
+ },
3929
+ fromPartial(object) {
3930
+ const message = createBaseRouteSignatures();
3931
+ message.routeRef = (object.routeRef !== undefined && object.routeRef !== null)
3932
+ ? exports.RouteRef.fromPartial(object.routeRef)
3933
+ : undefined;
3934
+ message.signatures = object.signatures?.map((e) => exports.RouteSignature.fromPartial(e)) || [];
3935
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
3936
+ ? exports.Extensions.fromPartial(object.extensions)
3937
+ : undefined;
3938
+ return message;
3939
+ },
3940
+ };
3941
+ typeRegistry_1.messageTypeRegistry.set(exports.RouteSignatures.$type, exports.RouteSignatures);
3942
+ function createBaseRouteSignature() {
3943
+ return {
3944
+ $type: "keelson.RouteSignature",
3945
+ signerId: "",
3946
+ signerRole: "",
3947
+ algorithm: "",
3948
+ signature: new Uint8Array(0),
3949
+ signedAt: undefined,
3950
+ keyReference: "",
3951
+ extensions: undefined,
3952
+ };
3953
+ }
3954
+ exports.RouteSignature = {
3955
+ $type: "keelson.RouteSignature",
3956
+ encode(message, writer = new wire_1.BinaryWriter()) {
3957
+ if (message.signerId !== "") {
3958
+ writer.uint32(10).string(message.signerId);
3959
+ }
3960
+ if (message.signerRole !== "") {
3961
+ writer.uint32(18).string(message.signerRole);
3962
+ }
3963
+ if (message.algorithm !== "") {
3964
+ writer.uint32(26).string(message.algorithm);
3965
+ }
3966
+ if (message.signature.length !== 0) {
3967
+ writer.uint32(34).bytes(message.signature);
3968
+ }
3969
+ if (message.signedAt !== undefined) {
3970
+ timestamp_1.Timestamp.encode(toTimestamp(message.signedAt), writer.uint32(42).fork()).join();
3971
+ }
3972
+ if (message.keyReference !== "") {
3973
+ writer.uint32(50).string(message.keyReference);
3974
+ }
3975
+ if (message.extensions !== undefined) {
3976
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
3977
+ }
3978
+ return writer;
3979
+ },
3980
+ decode(input, length) {
3981
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
3982
+ let end = length === undefined ? reader.len : reader.pos + length;
3983
+ const message = createBaseRouteSignature();
3984
+ while (reader.pos < end) {
3985
+ const tag = reader.uint32();
3986
+ switch (tag >>> 3) {
3987
+ case 1: {
3988
+ if (tag !== 10) {
3989
+ break;
3990
+ }
3991
+ message.signerId = reader.string();
3992
+ continue;
3993
+ }
3994
+ case 2: {
3995
+ if (tag !== 18) {
3996
+ break;
3997
+ }
3998
+ message.signerRole = reader.string();
3999
+ continue;
4000
+ }
4001
+ case 3: {
4002
+ if (tag !== 26) {
4003
+ break;
4004
+ }
4005
+ message.algorithm = reader.string();
4006
+ continue;
4007
+ }
4008
+ case 4: {
4009
+ if (tag !== 34) {
4010
+ break;
4011
+ }
4012
+ message.signature = reader.bytes();
4013
+ continue;
4014
+ }
4015
+ case 5: {
4016
+ if (tag !== 42) {
4017
+ break;
4018
+ }
4019
+ message.signedAt = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
4020
+ continue;
4021
+ }
4022
+ case 6: {
4023
+ if (tag !== 50) {
4024
+ break;
4025
+ }
4026
+ message.keyReference = reader.string();
4027
+ continue;
4028
+ }
4029
+ case 99: {
4030
+ if (tag !== 794) {
4031
+ break;
4032
+ }
4033
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
4034
+ continue;
4035
+ }
4036
+ }
4037
+ if ((tag & 7) === 4 || tag === 0) {
4038
+ break;
4039
+ }
4040
+ reader.skip(tag & 7);
4041
+ }
4042
+ return message;
4043
+ },
4044
+ fromJSON(object) {
4045
+ return {
4046
+ $type: exports.RouteSignature.$type,
4047
+ signerId: isSet(object.signerId) ? globalThis.String(object.signerId) : "",
4048
+ signerRole: isSet(object.signerRole) ? globalThis.String(object.signerRole) : "",
4049
+ algorithm: isSet(object.algorithm) ? globalThis.String(object.algorithm) : "",
4050
+ signature: isSet(object.signature) ? bytesFromBase64(object.signature) : new Uint8Array(0),
4051
+ signedAt: isSet(object.signedAt) ? fromJsonTimestamp(object.signedAt) : undefined,
4052
+ keyReference: isSet(object.keyReference) ? globalThis.String(object.keyReference) : "",
4053
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
4054
+ };
4055
+ },
4056
+ toJSON(message) {
4057
+ const obj = {};
4058
+ if (message.signerId !== "") {
4059
+ obj.signerId = message.signerId;
4060
+ }
4061
+ if (message.signerRole !== "") {
4062
+ obj.signerRole = message.signerRole;
4063
+ }
4064
+ if (message.algorithm !== "") {
4065
+ obj.algorithm = message.algorithm;
4066
+ }
4067
+ if (message.signature.length !== 0) {
4068
+ obj.signature = base64FromBytes(message.signature);
4069
+ }
4070
+ if (message.signedAt !== undefined) {
4071
+ obj.signedAt = message.signedAt.toISOString();
4072
+ }
4073
+ if (message.keyReference !== "") {
4074
+ obj.keyReference = message.keyReference;
4075
+ }
4076
+ if (message.extensions !== undefined) {
4077
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
4078
+ }
4079
+ return obj;
4080
+ },
4081
+ create(base) {
4082
+ return exports.RouteSignature.fromPartial(base ?? {});
4083
+ },
4084
+ fromPartial(object) {
4085
+ const message = createBaseRouteSignature();
4086
+ message.signerId = object.signerId ?? "";
4087
+ message.signerRole = object.signerRole ?? "";
4088
+ message.algorithm = object.algorithm ?? "";
4089
+ message.signature = object.signature ?? new Uint8Array(0);
4090
+ message.signedAt = object.signedAt ?? undefined;
4091
+ message.keyReference = object.keyReference ?? "";
4092
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
4093
+ ? exports.Extensions.fromPartial(object.extensions)
4094
+ : undefined;
4095
+ return message;
4096
+ },
4097
+ };
4098
+ typeRegistry_1.messageTypeRegistry.set(exports.RouteSignature.$type, exports.RouteSignature);
4099
+ function createBaseRouteStatusUpdate() {
4100
+ return {
4101
+ $type: "keelson.RouteStatusUpdate",
4102
+ timestamp: undefined,
4103
+ routeId: "",
4104
+ routeEditionNumber: 0,
4105
+ status: 0,
4106
+ changedBy: "",
4107
+ note: "",
4108
+ };
4109
+ }
4110
+ exports.RouteStatusUpdate = {
4111
+ $type: "keelson.RouteStatusUpdate",
4112
+ encode(message, writer = new wire_1.BinaryWriter()) {
4113
+ if (message.timestamp !== undefined) {
4114
+ timestamp_1.Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(10).fork()).join();
4115
+ }
4116
+ if (message.routeId !== "") {
4117
+ writer.uint32(18).string(message.routeId);
4118
+ }
4119
+ if (message.routeEditionNumber !== 0) {
4120
+ writer.uint32(24).uint32(message.routeEditionNumber);
4121
+ }
4122
+ if (message.status !== 0) {
4123
+ writer.uint32(32).int32(message.status);
4124
+ }
4125
+ if (message.changedBy !== "") {
4126
+ writer.uint32(42).string(message.changedBy);
4127
+ }
4128
+ if (message.note !== "") {
4129
+ writer.uint32(50).string(message.note);
4130
+ }
4131
+ return writer;
4132
+ },
4133
+ decode(input, length) {
4134
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
4135
+ let end = length === undefined ? reader.len : reader.pos + length;
4136
+ const message = createBaseRouteStatusUpdate();
4137
+ while (reader.pos < end) {
4138
+ const tag = reader.uint32();
4139
+ switch (tag >>> 3) {
4140
+ case 1: {
4141
+ if (tag !== 10) {
4142
+ break;
4143
+ }
4144
+ message.timestamp = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
4145
+ continue;
4146
+ }
4147
+ case 2: {
4148
+ if (tag !== 18) {
4149
+ break;
4150
+ }
4151
+ message.routeId = reader.string();
4152
+ continue;
4153
+ }
4154
+ case 3: {
4155
+ if (tag !== 24) {
4156
+ break;
4157
+ }
4158
+ message.routeEditionNumber = reader.uint32();
4159
+ continue;
4160
+ }
4161
+ case 4: {
4162
+ if (tag !== 32) {
4163
+ break;
4164
+ }
4165
+ message.status = reader.int32();
4166
+ continue;
4167
+ }
4168
+ case 5: {
4169
+ if (tag !== 42) {
4170
+ break;
4171
+ }
4172
+ message.changedBy = reader.string();
4173
+ continue;
4174
+ }
4175
+ case 6: {
4176
+ if (tag !== 50) {
4177
+ break;
4178
+ }
4179
+ message.note = reader.string();
4180
+ continue;
4181
+ }
4182
+ }
4183
+ if ((tag & 7) === 4 || tag === 0) {
4184
+ break;
4185
+ }
4186
+ reader.skip(tag & 7);
4187
+ }
4188
+ return message;
4189
+ },
4190
+ fromJSON(object) {
4191
+ return {
4192
+ $type: exports.RouteStatusUpdate.$type,
4193
+ timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,
4194
+ routeId: isSet(object.routeId) ? globalThis.String(object.routeId) : "",
4195
+ routeEditionNumber: isSet(object.routeEditionNumber) ? globalThis.Number(object.routeEditionNumber) : 0,
4196
+ status: isSet(object.status) ? routeStatusFromJSON(object.status) : 0,
4197
+ changedBy: isSet(object.changedBy) ? globalThis.String(object.changedBy) : "",
4198
+ note: isSet(object.note) ? globalThis.String(object.note) : "",
4199
+ };
4200
+ },
4201
+ toJSON(message) {
4202
+ const obj = {};
4203
+ if (message.timestamp !== undefined) {
4204
+ obj.timestamp = message.timestamp.toISOString();
4205
+ }
4206
+ if (message.routeId !== "") {
4207
+ obj.routeId = message.routeId;
4208
+ }
4209
+ if (message.routeEditionNumber !== 0) {
4210
+ obj.routeEditionNumber = Math.round(message.routeEditionNumber);
4211
+ }
4212
+ if (message.status !== 0) {
4213
+ obj.status = routeStatusToJSON(message.status);
4214
+ }
4215
+ if (message.changedBy !== "") {
4216
+ obj.changedBy = message.changedBy;
4217
+ }
4218
+ if (message.note !== "") {
4219
+ obj.note = message.note;
4220
+ }
4221
+ return obj;
4222
+ },
4223
+ create(base) {
4224
+ return exports.RouteStatusUpdate.fromPartial(base ?? {});
4225
+ },
4226
+ fromPartial(object) {
4227
+ const message = createBaseRouteStatusUpdate();
4228
+ message.timestamp = object.timestamp ?? undefined;
4229
+ message.routeId = object.routeId ?? "";
4230
+ message.routeEditionNumber = object.routeEditionNumber ?? 0;
4231
+ message.status = object.status ?? 0;
4232
+ message.changedBy = object.changedBy ?? "";
4233
+ message.note = object.note ?? "";
4234
+ return message;
4235
+ },
4236
+ };
4237
+ typeRegistry_1.messageTypeRegistry.set(exports.RouteStatusUpdate.$type, exports.RouteStatusUpdate);
4238
+ function bytesFromBase64(b64) {
4239
+ if (globalThis.Buffer) {
4240
+ return Uint8Array.from(globalThis.Buffer.from(b64, "base64"));
4241
+ }
4242
+ else {
4243
+ const bin = globalThis.atob(b64);
4244
+ const arr = new Uint8Array(bin.length);
4245
+ for (let i = 0; i < bin.length; ++i) {
4246
+ arr[i] = bin.charCodeAt(i);
4247
+ }
4248
+ return arr;
4249
+ }
4250
+ }
4251
+ function base64FromBytes(arr) {
4252
+ if (globalThis.Buffer) {
4253
+ return globalThis.Buffer.from(arr).toString("base64");
4254
+ }
4255
+ else {
4256
+ const bin = [];
4257
+ arr.forEach((byte) => {
4258
+ bin.push(globalThis.String.fromCharCode(byte));
4259
+ });
4260
+ return globalThis.btoa(bin.join(""));
4261
+ }
4262
+ }
4263
+ function toTimestamp(date) {
4264
+ const seconds = Math.trunc(date.getTime() / 1000);
4265
+ const nanos = (date.getTime() % 1000) * 1000000;
4266
+ return { $type: "google.protobuf.Timestamp", seconds, nanos };
4267
+ }
4268
+ function fromTimestamp(t) {
4269
+ let millis = (t.seconds || 0) * 1000;
4270
+ millis += (t.nanos || 0) / 1000000;
4271
+ return new globalThis.Date(millis);
4272
+ }
4273
+ function fromJsonTimestamp(o) {
4274
+ if (o instanceof globalThis.Date) {
4275
+ return o;
4276
+ }
4277
+ else if (typeof o === "string") {
4278
+ return new globalThis.Date(o);
4279
+ }
4280
+ else {
4281
+ return fromTimestamp(timestamp_1.Timestamp.fromJSON(o));
4282
+ }
4283
+ }
4284
+ function isObject(value) {
4285
+ return typeof value === "object" && value !== null;
4286
+ }
4287
+ function isSet(value) {
4288
+ return value !== null && value !== undefined;
4289
+ }