@tak-ps/node-cot 5.0.3 → 5.0.6
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.
- package/CHANGELOG.md +12 -0
- package/dist/lib/chat.js +2 -0
- package/dist/lib/chat.js.map +1 -1
- package/dist/lib/cot.js +24 -19
- package/dist/lib/cot.js.map +1 -1
- package/dist/lib/schema.json +18 -2
- package/dist/package.json +1 -1
- package/dist/test/chat.test.js +64 -60
- package/dist/test/chat.test.js.map +1 -1
- package/dist/test/cot-itak.test.js +79 -74
- package/dist/test/cot-itak.test.js.map +1 -1
- package/dist/test/flow-tags.test.js +2 -2
- package/dist/test/flow-tags.test.js.map +1 -1
- package/dist/test/from_geojson.test.js +93 -61
- package/dist/test/from_geojson.test.js.map +1 -1
- package/lib/chat.ts +2 -0
- package/lib/cot.ts +24 -20
- package/lib/schema.json +18 -2
- package/lib/types.ts +5 -2
- package/package.json +1 -1
- package/test/chat.test.ts +63 -60
- package/test/cot-itak.test.ts +79 -75
- package/test/flow-tags.test.ts +2 -2
- package/test/from_geojson.test.ts +92 -64
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,18 @@
|
|
|
10
10
|
|
|
11
11
|
## Version History
|
|
12
12
|
|
|
13
|
+
### v5.0.6
|
|
14
|
+
|
|
15
|
+
- :bug: Detail is optional in Tak/Pongs
|
|
16
|
+
|
|
17
|
+
### v5.0.5
|
|
18
|
+
|
|
19
|
+
- :bug: Object Defs
|
|
20
|
+
|
|
21
|
+
### v5.0.4
|
|
22
|
+
|
|
23
|
+
- :bug: Optional `_flow-tags_._attributes`
|
|
24
|
+
|
|
13
25
|
### v5.0.3
|
|
14
26
|
|
|
15
27
|
- :bug: `remarks._text` is optional
|
package/dist/lib/chat.js
CHANGED
|
@@ -29,6 +29,8 @@ export class DirectChat extends CoT {
|
|
|
29
29
|
}
|
|
30
30
|
};
|
|
31
31
|
cot.event._attributes.uid = `GeoChat.${chat.from.uid}.${chat.to.uid}.${randomUUID()}`;
|
|
32
|
+
if (!cot.event.detail)
|
|
33
|
+
cot.event.detail = {};
|
|
32
34
|
cot.event.detail.link = {
|
|
33
35
|
_attributes: {
|
|
34
36
|
uid: chat.from.uid,
|
package/dist/lib/chat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../lib/chat.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,GAAG,MAAM,UAAU,CAAC;AAE3B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAoBzC,MAAM,OAAO,UAAW,SAAQ,GAAG;IAC/B,YAAY,IAAqB;QAC7B,MAAM,GAAG,GAAY;YACjB,KAAK,EAAE;gBACH,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC;gBACtD,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE;gBACvB,MAAM,EAAE;oBACJ,MAAM,EAAE;wBACJ,WAAW,EAAE;4BACT,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,kBAAkB;4BACzC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;4BAC9C,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,UAAU,EAAE;4BACzC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC,QAAQ;4BAC3C,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG;4BACf,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;yBACrC;wBACD,OAAO,EAAE;4BACL,WAAW,EAAE;gCACT,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;gCACnB,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG;gCACjB,EAAE,EAAG,IAAI,CAAC,EAAE,CAAC,GAAG;6BACnB;yBACJ;qBACJ;iBACJ;aACJ;SACJ,CAAA;QAED,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,WAAW,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,UAAU,EAAE,EAAE,CAAC;QAEtF,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG;YACpB,WAAW,EAAE;gBACT,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;gBAClB,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,KAAK;aAClB;SACJ,CAAA;QAED,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG;YACvB,WAAW,EAAE;gBACT,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;gBACrB,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG;gBACf,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI;aACnC;YACD,KAAK,EAAE,IAAI,CAAC,OAAO;SACtB,CAAA;QAED,KAAK,CAAC,GAAG,CAAC,CAAA;IACd,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../lib/chat.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,GAAG,MAAM,UAAU,CAAC;AAE3B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAoBzC,MAAM,OAAO,UAAW,SAAQ,GAAG;IAC/B,YAAY,IAAqB;QAC7B,MAAM,GAAG,GAAY;YACjB,KAAK,EAAE;gBACH,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC;gBACtD,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE;gBACvB,MAAM,EAAE;oBACJ,MAAM,EAAE;wBACJ,WAAW,EAAE;4BACT,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,kBAAkB;4BACzC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;4BAC9C,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,UAAU,EAAE;4BACzC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC,QAAQ;4BAC3C,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG;4BACf,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;yBACrC;wBACD,OAAO,EAAE;4BACL,WAAW,EAAE;gCACT,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;gCACnB,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG;gCACjB,EAAE,EAAG,IAAI,CAAC,EAAE,CAAC,GAAG;6BACnB;yBACJ;qBACJ;iBACJ;aACJ;SACJ,CAAA;QAED,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,WAAW,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,UAAU,EAAE,EAAE,CAAC;QAEtF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM;YAAE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;QAE7C,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG;YACpB,WAAW,EAAE;gBACT,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;gBAClB,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,KAAK;aAClB;SACJ,CAAA;QAED,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG;YACvB,WAAW,EAAE;gBACT,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;gBACrB,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG;gBACf,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI;aACnC;YACD,KAAK,EAAE,IAAI,CAAC,OAAO;SACtB,CAAA;QAED,KAAK,CAAC,GAAG,CAAC,CAAA;IACd,CAAC;CACJ"}
|
package/dist/lib/cot.js
CHANGED
|
@@ -36,6 +36,8 @@ export default class CoT {
|
|
|
36
36
|
ajv(this.raw);
|
|
37
37
|
if (ajv.errors)
|
|
38
38
|
throw new Error(`${ajv.errors[0].message} (${ajv.errors[0].instancePath})`);
|
|
39
|
+
if (!this.raw.event.detail)
|
|
40
|
+
this.raw.event.detail = {};
|
|
39
41
|
if (!this.raw.event.detail['_flow-tags_'])
|
|
40
42
|
this.raw.event.detail['_flow-tags_'] = {};
|
|
41
43
|
this.raw.event.detail['_flow-tags_'][`NodeCoT-${pkg.version}`] = new Date().toISOString();
|
|
@@ -63,6 +65,8 @@ export default class CoT {
|
|
|
63
65
|
cot.event._attributes.uid = String(feature.id);
|
|
64
66
|
if (feature.properties.callsign && !feature.id)
|
|
65
67
|
cot.event._attributes.uid = feature.properties.callsign;
|
|
68
|
+
if (!cot.event.detail)
|
|
69
|
+
cot.event.detail = {};
|
|
66
70
|
if (feature.properties.droid) {
|
|
67
71
|
cot.event.detail.uid = { _attributes: { Droid: feature.properties.droid } };
|
|
68
72
|
}
|
|
@@ -167,9 +171,9 @@ export default class CoT {
|
|
|
167
171
|
if (!raw.event.detail)
|
|
168
172
|
raw.event.detail = {};
|
|
169
173
|
if (!raw.event.detail.contact)
|
|
170
|
-
raw.event.detail.contact = {};
|
|
174
|
+
raw.event.detail.contact = { _attributes: { callsign: 'UNKNOWN' } };
|
|
171
175
|
if (!raw.event.detail.contact._attributes)
|
|
172
|
-
raw.event.detail.contact._attributes = {};
|
|
176
|
+
raw.event.detail.contact._attributes = { callsign: 'UNKNOWN' };
|
|
173
177
|
const feat = {
|
|
174
178
|
id: raw.event._attributes.uid,
|
|
175
179
|
type: 'Feature',
|
|
@@ -189,9 +193,10 @@ export default class CoT {
|
|
|
189
193
|
};
|
|
190
194
|
if (!feat.properties)
|
|
191
195
|
feat.properties = {};
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
196
|
+
const contact = JSON.parse(JSON.stringify(raw.event.detail.contact._attributes));
|
|
197
|
+
delete contact.callsign;
|
|
198
|
+
if (Object.keys(contact).length) {
|
|
199
|
+
feat.properties.contact = contact;
|
|
195
200
|
}
|
|
196
201
|
if (raw.event.detail.remarks && raw.event.detail.remarks._text) {
|
|
197
202
|
feat.properties.remarks = raw.event.detail.remarks._text;
|
|
@@ -211,8 +216,8 @@ export default class CoT {
|
|
|
211
216
|
if (raw.event.detail.takv && raw.event.detail.takv._attributes) {
|
|
212
217
|
feat.properties.takv = raw.event.detail.takv._attributes;
|
|
213
218
|
}
|
|
214
|
-
if (raw.event.detail.
|
|
215
|
-
feat.properties.group = raw.event.detail.
|
|
219
|
+
if (raw.event.detail.__group && raw.event.detail.__group._attributes) {
|
|
220
|
+
feat.properties.group = raw.event.detail.__group._attributes;
|
|
216
221
|
}
|
|
217
222
|
if (raw.event.detail['_flow-tags_'] && raw.event.detail['_flow-tags_']._attributes) {
|
|
218
223
|
feat.properties.flow = raw.event.detail['_flow-tags_']._attributes;
|
|
@@ -226,24 +231,24 @@ export default class CoT {
|
|
|
226
231
|
if (raw.event.detail.__group && raw.event.detail.__group._attributes) {
|
|
227
232
|
feat.properties.group = raw.event.detail.__group._attributes;
|
|
228
233
|
}
|
|
229
|
-
if (['u-d-f', 'u-d-r'].includes(
|
|
234
|
+
if (['u-d-f', 'u-d-r'].includes(raw.event._attributes.type) && Array.isArray(raw.event.detail.link)) {
|
|
230
235
|
const coordinates = [];
|
|
231
|
-
for (const l of
|
|
236
|
+
for (const l of raw.event.detail.link) {
|
|
232
237
|
coordinates.push(l._attributes.point.split(',').map((p) => { return Number(p.trim()); }).splice(0, 2).reverse());
|
|
233
238
|
}
|
|
234
|
-
if (
|
|
235
|
-
const stroke = new Color(Number(
|
|
239
|
+
if (raw.event.detail.strokeColor && raw.event.detail.strokeColor._attributes && raw.event.detail.strokeColor._attributes.value) {
|
|
240
|
+
const stroke = new Color(Number(raw.event.detail.strokeColor._attributes.value));
|
|
236
241
|
feat.properties.stroke = stroke.as_hex();
|
|
237
242
|
feat.properties['stroke-opacity'] = stroke.as_opacity();
|
|
238
243
|
}
|
|
239
|
-
if (
|
|
240
|
-
feat.properties['stroke-width'] = Number(
|
|
244
|
+
if (raw.event.detail.strokeWeight && raw.event.detail.strokeWeight._attributes && raw.event.detail.strokeWeight._attributes.value) {
|
|
245
|
+
feat.properties['stroke-width'] = Number(raw.event.detail.strokeWeight._attributes.value);
|
|
241
246
|
}
|
|
242
|
-
if (
|
|
243
|
-
feat.properties['stroke-style'] =
|
|
247
|
+
if (raw.event.detail.strokeStyle && raw.event.detail.strokeStyle._attributes && raw.event.detail.strokeStyle._attributes.value) {
|
|
248
|
+
feat.properties['stroke-style'] = raw.event.detail.strokeStyle._attributes.value;
|
|
244
249
|
}
|
|
245
|
-
if (
|
|
246
|
-
if (
|
|
250
|
+
if (raw.event._attributes.type === 'u-d-r' || (coordinates[0][0] === coordinates[coordinates.length - 1][0] && coordinates[0][1] === coordinates[coordinates.length - 1][1])) {
|
|
251
|
+
if (raw.event._attributes.type === 'u-d-r') {
|
|
247
252
|
// CoT rectangles are only 4 points - GeoJSON needs to be closed
|
|
248
253
|
coordinates.push(coordinates[0]);
|
|
249
254
|
}
|
|
@@ -251,8 +256,8 @@ export default class CoT {
|
|
|
251
256
|
type: 'Polygon',
|
|
252
257
|
coordinates: [coordinates]
|
|
253
258
|
};
|
|
254
|
-
if (
|
|
255
|
-
const fill = new Color(Number(
|
|
259
|
+
if (raw.event.detail.fillColor && raw.event.detail.fillColor._attributes && raw.event.detail.fillColor._attributes.value) {
|
|
260
|
+
const fill = new Color(Number(raw.event.detail.fillColor._attributes.value));
|
|
256
261
|
feat.properties['fill-opacity'] = fill.as_opacity();
|
|
257
262
|
feat.properties['fill'] = fill.as_hex();
|
|
258
263
|
}
|
package/dist/lib/cot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cot.js","sourceRoot":"","sources":["../../lib/cot.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cot.js","sourceRoot":"","sources":["../../lib/cot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,QAAQ,CAAC;AAG3B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,cAAc,MAAM,wBAAwB,CAAC;AAEpD,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9F,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7F,MAAM,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC;IACjB,SAAS,EAAE,IAAI;IACf,eAAe,EAAE,IAAI;CACxB,CAAC,CAAC;KACE,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,GAAG;IACpB,GAAG,CAAU;IAEb,YAAY,GAA8B;QACtC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,YAAY,MAAM,EAAE,CAAC;YACnD,IAAI,GAAG,YAAY,MAAM;gBAAE,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAE7C,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,GAAG,GAAG,GAAc,CAAC;QAC9B,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG;YAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEvF,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACd,IAAI,GAAG,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC;QAE5F,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM;YAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;QACrF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC7F,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,YAAY,CAAC,OAAgB;QAChC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAEzE,MAAM,GAAG,GAAY;YACjB,KAAK,EAAE;gBACH,WAAW,EAAE,IAAI,CAAC,cAAc,CAC5B,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,OAAO,EAClC,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,KAAK,EAC/B,OAAO,CAAC,UAAU,CAAC,IAAI,EACvB,OAAO,CAAC,UAAU,CAAC,KAAK,EACxB,OAAO,CAAC,UAAU,CAAC,KAAK,CAC3B;gBACD,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE;gBACvB,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;aAC7D;SACJ,CAAC;QAEF,IAAI,OAAO,CAAC,EAAE;YAAE,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/D,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,EAAE;YAAE,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;QACxG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM;YAAE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;QAE7C,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC3B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC;QAChF,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC1B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5E,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC7B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;QAClF,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACxD,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG;gBACrB,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;aACxF,CAAA;QACL,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC3B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAA;QAC/E,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC1B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAA;QACrF,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAC5B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAA;QAC/E,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;YACvC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,GAAG,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,EAAE,CAAA;QACrG,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC1B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAG,EAAE,WAAW,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAA;QACzF,CAAC;QAED,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,WAAW,EAAE,EAAG,EAAE,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QAEzF,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC7D,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAEtH,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACpC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1E,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1E,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;QACvF,CAAC;aAAM,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACnE,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;YACnE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC;YACvD,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,GAAG,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAErF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC;gBAAE,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAChF,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,GAAG,EAAE,WAAW,EAAE;oBAC3C,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;iBACpD,EAAE,CAAC;YAEJ,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC;gBAAE,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC;YACtF,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,GAAG,EAAE,WAAW,EAAE;oBAC1C,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC;iBAC5C,EAAE,CAAC;YAEJ,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACzC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,GAAG,OAAO,CAAC;gBAErC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;gBAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;oBAC/C,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;wBACvB,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;qBACpD,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;iBAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC7C,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,GAAG,OAAO,CAAC;gBAErC,oCAAoC;gBACpC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;gBAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClD,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;wBACvB,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;qBACpD,CAAC,CAAC;gBACP,CAAC;gBAED,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC/D,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC;gBACnD,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YACrF,CAAC;YAED,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC;YACjE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC;YAEzD,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACjH,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEvE,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBACxC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;gBACpF,CAAC;qBAAM,CAAC;oBACJ,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,KAAK,CAAC;gBAC5C,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,MAAM,MAAM,GAAG,cAAc,CAAC,OAAqB,CAAC,CAAC;gBACrD,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,KAAK,CAAC;YAC5C,CAAC;QACL,CAAC;QAED,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,UAAU;QACN,MAAM,GAAG,GAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM;YAAE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;QAC7C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO;YAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC;QACnG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW;YAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QAE1G,MAAM,IAAI,GAAY;YAClB,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG;YAC7B,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACR,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,IAAI,SAAS;gBACpE,MAAM,EAAE,CAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAE;gBACrI,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI;gBAChC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG;gBAC9B,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI;gBAChC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK;gBAClC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK;aACrC;YACD,QAAQ,EAAE;gBACN,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,CAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAE;aAC7I;SACJ,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QAE3C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QACjF,OAAO,OAAO,CAAC,QAAQ,CAAC;QACxB,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;YAC9B,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;QACtC,CAAC;QAED,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC7D,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QAC7D,CAAC;QAED,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YAC/D,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM;gBAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC1H,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM;gBAAE,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5H,CAAC;QAED,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;YAC1H,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC;QAC7E,CAAC;QAGD,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YACrG,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC;QACnE,CAAC;QAED,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7D,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;QAC7D,CAAC;QAED,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACnE,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;QACjE,CAAC;QAED,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;YACjF,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC;QACvE,CAAC;QAED,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACjE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;QACjE,CAAC;QAED,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;YACvF,IAAI,CAAC,UAAU,CAAC,iBAAiB,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC;QACvF,CAAC;QAED,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACnE,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;QACjE,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAClG,MAAM,WAAW,GAAG,EAAE,CAAC;YAEvB,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,GAAG,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5H,CAAC;YAED,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;gBAC7H,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;gBACjF,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBACzC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YAC5D,CAAC;YAED,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;gBAChI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC9F,CAAC;YAED,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;gBAC7H,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC;YACrF,CAAC;YAED,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,WAAW,CAAC,MAAM,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,WAAW,CAAC,MAAM,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzK,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACzC,gEAAgE;oBAChE,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;gBACpC,CAAC;gBAED,IAAI,CAAC,QAAQ,GAAG;oBACZ,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,CAAC,WAAW,CAAC;iBAC7B,CAAA;gBAED,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;oBACvH,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC7E,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC5C,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,QAAQ,GAAG;oBACZ,IAAI,EAAE,YAAY;oBAClB,WAAW;iBACd,CAAA;YACL,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM;QACF,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAI;QACP,OAAO,IAAI,GAAG,CAAC;YACX,KAAK,EAAE;gBACH,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,CAAC;gBACxD,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE;aAC1B;SACJ,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,OAAO;QACH,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACH,SAAS;QACL,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC3D,CAAC;IAED;;;;OAIG;IACH,UAAU;QACN,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC3D,CAAC;IAED;;;;OAIG;IACH,UAAU;QACN,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC3D,CAAC;IAED;;;;OAIG;IACH,UAAU;QACN,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC3D,CAAC;IAED;;;;OAIG;IACH,UAAU;QACN,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC3D,CAAC;IAED;;;;OAIG;IACH,UAAU;QACN,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC3D,CAAC;IAED;;;;OAIG;IACH,UAAU;QACN,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC3D,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACJ,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC3D,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACJ,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC3D,CAAC;IAED;;;;OAIG;IACH,OAAO;QACH,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACzD,CAAC;IAED;;;;OAIG;IACH,WAAW;QACP,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC5D,CAAC;IAED;;;;OAIG;IACH,SAAS;QACL,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC5D,CAAC;IAED;;;;OAIG;IACH,eAAe;QACX,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IAC9D,CAAC;IAED;;;;OAIG;IACH,UAAU;QACN,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IAChE,CAAC;IAED;;;;OAIG;IACH,YAAY;QACR,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IAC9D,CAAC;IAED;;;;OAIG;IACH,UAAU;QACN,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC5D,CAAC;IAED;;;;OAIG;IACH,aAAa;QACT,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC5D,CAAC;IAED;;;;OAIG;IACH,MAAM;QACF,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;IACpE,CAAC;CACJ"}
|
package/dist/lib/schema.json
CHANGED
|
@@ -182,7 +182,24 @@
|
|
|
182
182
|
},
|
|
183
183
|
"FlowTags": {
|
|
184
184
|
"additionalProperties": {
|
|
185
|
-
"
|
|
185
|
+
"anyOf": [
|
|
186
|
+
{
|
|
187
|
+
"additionalProperties": true,
|
|
188
|
+
"properties": {},
|
|
189
|
+
"type": "object"
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"type": "string"
|
|
193
|
+
}
|
|
194
|
+
]
|
|
195
|
+
},
|
|
196
|
+
"properties": {
|
|
197
|
+
"_attributes": {
|
|
198
|
+
"additionalProperties": {
|
|
199
|
+
"type": "string"
|
|
200
|
+
},
|
|
201
|
+
"type": "object"
|
|
202
|
+
}
|
|
186
203
|
},
|
|
187
204
|
"type": "object"
|
|
188
205
|
},
|
|
@@ -477,7 +494,6 @@
|
|
|
477
494
|
},
|
|
478
495
|
"required": [
|
|
479
496
|
"_attributes",
|
|
480
|
-
"detail",
|
|
481
497
|
"point"
|
|
482
498
|
],
|
|
483
499
|
"type": "object"
|
package/dist/package.json
CHANGED
package/dist/test/chat.test.js
CHANGED
|
@@ -15,74 +15,78 @@ test('DirectChat - Basic', (t) => {
|
|
|
15
15
|
t.equals(cot.is_chat(), true);
|
|
16
16
|
t.ok(cot.raw.event._attributes.uid);
|
|
17
17
|
cot.raw.event._attributes.uid = '123';
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
for (const i of ['time', 'start', 'stale']) {
|
|
21
|
-
t.equals(typeof cot.raw.event._attributes[i], 'string');
|
|
22
|
-
delete cot.raw.event._attributes[i];
|
|
23
|
-
}
|
|
24
|
-
if (!cot.raw.event.detail.__chat) {
|
|
25
|
-
t.fail();
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
t.equals(typeof cot.raw.event.detail.__chat._attributes.messageId, 'string');
|
|
29
|
-
cot.raw.event.detail.__chat._attributes.messageId = '123';
|
|
30
|
-
}
|
|
31
|
-
if (!cot.raw.event.detail.remarks || !cot.raw.event.detail.remarks._attributes) {
|
|
32
|
-
t.fail();
|
|
18
|
+
if (!cot.raw.event.detail) {
|
|
19
|
+
t.fail('No Detail Section');
|
|
33
20
|
}
|
|
34
21
|
else {
|
|
35
|
-
t.
|
|
36
|
-
cot.raw.event.detail
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
22
|
+
t.ok(cot.raw.event.detail['_flow-tags_']);
|
|
23
|
+
delete cot.raw.event.detail['_flow-tags_'];
|
|
24
|
+
for (const i of ['time', 'start', 'stale']) {
|
|
25
|
+
t.equals(typeof cot.raw.event._attributes[i], 'string');
|
|
26
|
+
delete cot.raw.event._attributes[i];
|
|
27
|
+
}
|
|
28
|
+
if (!cot.raw.event.detail.__chat) {
|
|
29
|
+
t.fail('No Detail Section');
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
t.equals(typeof cot.raw.event.detail.__chat._attributes.messageId, 'string');
|
|
33
|
+
cot.raw.event.detail.__chat._attributes.messageId = '123';
|
|
34
|
+
}
|
|
35
|
+
if (!cot.raw.event.detail.remarks || !cot.raw.event.detail.remarks._attributes) {
|
|
36
|
+
t.fail('No Detail Section');
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
t.equals(typeof cot.raw.event.detail.remarks._attributes.time, 'string');
|
|
40
|
+
cot.raw.event.detail.remarks._attributes.time = '123';
|
|
41
|
+
}
|
|
42
|
+
t.deepEquals(cot.raw, {
|
|
43
|
+
event: {
|
|
44
|
+
_attributes: {
|
|
45
|
+
uid: '123',
|
|
46
|
+
version: '2.0',
|
|
47
|
+
type: 'b-t-f',
|
|
48
|
+
how: 'h-g-i-g-o',
|
|
49
|
+
},
|
|
50
|
+
point: {
|
|
51
|
+
_attributes: { lat: '0.000000', lon: '0.000000', hae: '0.0', ce: '9999999.0', le: '9999999.0' }
|
|
52
|
+
},
|
|
53
|
+
detail: {
|
|
54
|
+
__chat: {
|
|
55
|
+
_attributes: {
|
|
56
|
+
parent: 'RootContactGroup',
|
|
57
|
+
groupOwner: 'false',
|
|
58
|
+
messageId: '123',
|
|
59
|
+
chatroom: 'Alpha Operator',
|
|
60
|
+
id: '123456',
|
|
61
|
+
senderCallsign: 'Bravo Operator'
|
|
62
|
+
},
|
|
63
|
+
chatgrp: {
|
|
64
|
+
_attributes: {
|
|
65
|
+
uid0: "654321",
|
|
66
|
+
uid1: "123456",
|
|
67
|
+
id: "123456"
|
|
68
|
+
}
|
|
69
|
+
}
|
|
59
70
|
},
|
|
60
|
-
|
|
71
|
+
link: {
|
|
61
72
|
_attributes: {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
73
|
+
uid: '654321',
|
|
74
|
+
type: 'a-f-G',
|
|
75
|
+
relation: 'p-p'
|
|
65
76
|
}
|
|
66
|
-
}
|
|
67
|
-
},
|
|
68
|
-
link: {
|
|
69
|
-
_attributes: {
|
|
70
|
-
uid: '654321',
|
|
71
|
-
type: 'a-f-G',
|
|
72
|
-
relation: 'p-p'
|
|
73
|
-
}
|
|
74
|
-
},
|
|
75
|
-
remarks: {
|
|
76
|
-
_attributes: {
|
|
77
|
-
source: '654321',
|
|
78
|
-
to: '123456',
|
|
79
|
-
time: '123'
|
|
80
77
|
},
|
|
81
|
-
|
|
78
|
+
remarks: {
|
|
79
|
+
_attributes: {
|
|
80
|
+
source: '654321',
|
|
81
|
+
to: '123456',
|
|
82
|
+
time: '123'
|
|
83
|
+
},
|
|
84
|
+
_text: 'Direct Message Test'
|
|
85
|
+
}
|
|
82
86
|
}
|
|
83
87
|
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
88
|
+
});
|
|
89
|
+
}
|
|
86
90
|
t.end();
|
|
87
91
|
});
|
|
88
92
|
//# sourceMappingURL=chat.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.test.js","sourceRoot":"","sources":["../../test/chat.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE;IAC7B,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC;QACvB,EAAE,EAAE;YACA,GAAG,EAAE,QAAQ;YACb,QAAQ,EAAE,gBAAgB;SAC7B;QACD,IAAI,EAAE;YACF,GAAG,EAAE,QAAQ;YACb,QAAQ,EAAE,gBAAgB;SAC7B;QACD,OAAO,EAAE,qBAAqB;KACjC,CAAC,CAAC;IAEH,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;IAE9B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACpC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,KAAK,CAAC;IAEtC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"chat.test.js","sourceRoot":"","sources":["../../test/chat.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,86 +3,91 @@ import CoT from '../index.js';
|
|
|
3
3
|
test('Decode iTAK COT message', (t) => {
|
|
4
4
|
const packet = '<event version="2.0" uid="C94B9215-9BD4-4DBE-BDE1-83625F09153F" type="a-f-G-E-V-C" time="2023-07-18T15:23:09.00Z" start="2023-07-18T15:23:09.00Z" stale="2023-07-18T15:25:09.00Z" how="m-g"><point lat="41.52309645" lon="-107.72376567" hae="1681.23725821" ce="9999999" le="9999999" /><detail><contact callsign="DFPC-iSchmidt" phone="7204258729" endpoint="*:-1:stcp" /><uid Droid="DFPC-iSchmidt" /><__group name="Yellow" role="Team Member" /><precisionlocation geopointsrc="GPS" altsrc="???" /><status battery="100" /><takv device="iPhone" platform="iTAK" os="16.5.1" version="2.7.0.609" /><track speed="0.00000000" course="137.23542786" /></detail></event>';
|
|
5
5
|
const cot = new CoT(packet);
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
'time': '2023-07-18T15:23:09.00Z',
|
|
15
|
-
'start': '2023-07-18T15:23:09.00Z',
|
|
16
|
-
'stale': '2023-07-18T15:25:09.00Z',
|
|
17
|
-
'how': 'm-g',
|
|
18
|
-
},
|
|
19
|
-
'point': {
|
|
6
|
+
if (!cot.raw.event.detail) {
|
|
7
|
+
t.fail('No Detail Section');
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
t.ok(cot.raw.event.detail['_flow-tags_']);
|
|
11
|
+
delete cot.raw.event.detail['_flow-tags_'];
|
|
12
|
+
t.deepEquals(cot.raw, {
|
|
13
|
+
'event': {
|
|
20
14
|
'_attributes': {
|
|
21
|
-
'
|
|
22
|
-
'
|
|
23
|
-
'
|
|
24
|
-
'
|
|
25
|
-
'
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
_attributes: {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
15
|
+
'version': '2.0',
|
|
16
|
+
'uid': 'C94B9215-9BD4-4DBE-BDE1-83625F09153F',
|
|
17
|
+
'type': 'a-f-G-E-V-C',
|
|
18
|
+
'time': '2023-07-18T15:23:09.00Z',
|
|
19
|
+
'start': '2023-07-18T15:23:09.00Z',
|
|
20
|
+
'stale': '2023-07-18T15:25:09.00Z',
|
|
21
|
+
'how': 'm-g',
|
|
22
|
+
},
|
|
23
|
+
'point': {
|
|
24
|
+
'_attributes': {
|
|
25
|
+
'lat': '41.52309645',
|
|
26
|
+
'lon': '-107.72376567',
|
|
27
|
+
'hae': '1681.23725821',
|
|
28
|
+
'ce': '9999999',
|
|
29
|
+
'le': '9999999'
|
|
34
30
|
}
|
|
35
31
|
},
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
32
|
+
detail: {
|
|
33
|
+
contact: {
|
|
34
|
+
_attributes: {
|
|
35
|
+
callsign: 'DFPC-iSchmidt',
|
|
36
|
+
phone: '7204258729',
|
|
37
|
+
endpoint: '*:-1:stcp'
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
uid: { _attributes: { Droid: 'DFPC-iSchmidt' } },
|
|
41
|
+
__group: { _attributes: { name: 'Yellow', role: 'Team Member' } },
|
|
42
|
+
precisionlocation: { _attributes: { geopointsrc: 'GPS', altsrc: '???' } },
|
|
43
|
+
status: { _attributes: { battery: '100' } },
|
|
44
|
+
takv: { _attributes: { device: 'iPhone', platform: 'iTAK', os: '16.5.1', version: '2.7.0.609' } },
|
|
45
|
+
track: { _attributes: { speed: '0.00000000', course: '137.23542786' } }
|
|
46
|
+
}
|
|
42
47
|
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
48
|
+
});
|
|
49
|
+
t.deepEquals(cot.to_geojson(), {
|
|
50
|
+
id: 'C94B9215-9BD4-4DBE-BDE1-83625F09153F',
|
|
51
|
+
type: 'Feature',
|
|
52
|
+
properties: {
|
|
53
|
+
callsign: 'DFPC-iSchmidt',
|
|
54
|
+
droid: "DFPC-iSchmidt",
|
|
55
|
+
type: 'a-f-G-E-V-C',
|
|
56
|
+
how: 'm-g',
|
|
57
|
+
center: [-107.72376567, 41.52309645, 1681.23725821],
|
|
58
|
+
time: '2023-07-18T15:23:09.00Z',
|
|
59
|
+
start: '2023-07-18T15:23:09.00Z',
|
|
60
|
+
stale: '2023-07-18T15:25:09.00Z',
|
|
61
|
+
course: 137.23542786,
|
|
62
|
+
speed: 0,
|
|
63
|
+
contact: {
|
|
64
|
+
"phone": "7204258729",
|
|
65
|
+
"endpoint": "*:-1:stcp"
|
|
66
|
+
},
|
|
67
|
+
group: {
|
|
68
|
+
name: 'Yellow',
|
|
69
|
+
role: 'Team Member'
|
|
70
|
+
},
|
|
71
|
+
precisionlocation: {
|
|
72
|
+
"geopointsrc": "GPS",
|
|
73
|
+
"altsrc": "???"
|
|
74
|
+
},
|
|
75
|
+
status: {
|
|
76
|
+
"battery": "100"
|
|
77
|
+
},
|
|
78
|
+
takv: {
|
|
79
|
+
"device": "iPhone",
|
|
80
|
+
"platform": "iTAK",
|
|
81
|
+
"os": "16.5.1",
|
|
82
|
+
"version": "2.7.0.609"
|
|
83
|
+
}
|
|
73
84
|
},
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
"os": "16.5.1",
|
|
78
|
-
"version": "2.7.0.609"
|
|
85
|
+
geometry: {
|
|
86
|
+
type: 'Point',
|
|
87
|
+
coordinates: [-107.72376567, 41.52309645, 1681.23725821]
|
|
79
88
|
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
type: 'Point',
|
|
83
|
-
coordinates: [-107.72376567, 41.52309645, 1681.23725821]
|
|
84
|
-
}
|
|
85
|
-
});
|
|
89
|
+
});
|
|
90
|
+
}
|
|
86
91
|
t.end();
|
|
87
92
|
});
|
|
88
93
|
//# sourceMappingURL=cot-itak.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cot-itak.test.js","sourceRoot":"","sources":["../../test/cot-itak.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,GAAG,MAAM,aAAa,CAAC;AAE9B,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,EAAE,EAAE;IAClC,MAAM,MAAM,GAAG,+oBAA+oB,CAAC;IAE/pB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAE5B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"cot-itak.test.js","sourceRoot":"","sources":["../../test/cot-itak.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,8 +8,8 @@ test('FlowTags - Basic', (t) => {
|
|
|
8
8
|
from: { uid: '654321', callsign: 'Bravo Operator' },
|
|
9
9
|
message: 'Direct Message Test'
|
|
10
10
|
});
|
|
11
|
-
if (!cot.raw.event.detail['_flow-tags_']) {
|
|
12
|
-
t.fail();
|
|
11
|
+
if (!cot.raw.event.detail || !cot.raw.event.detail['_flow-tags_']) {
|
|
12
|
+
t.fail('No Detail Section');
|
|
13
13
|
}
|
|
14
14
|
else {
|
|
15
15
|
t.equals(typeof cot.raw.event.detail['_flow-tags_'][`NodeCoT-${pkg.version}`], 'string');
|