@turf/line-segment 7.0.0 → 7.1.0-alpha.70
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/README.md +1 -5
- package/dist/cjs/index.cjs +1 -8
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/index.js +0 -7
- package/dist/esm/index.js.map +1 -1
- package/package.json +6 -5
package/README.md
CHANGED
|
@@ -21,7 +21,7 @@ var segments = turf.lineSegment(polygon);
|
|
|
21
21
|
var addToMap = [polygon, segments]
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
Returns **[FeatureCollection][
|
|
24
|
+
Returns **[FeatureCollection][1]<[LineString][2]>** 2-vertex line segments
|
|
25
25
|
|
|
26
26
|
[1]: https://tools.ietf.org/html/rfc7946#section-3.3
|
|
27
27
|
|
|
@@ -31,10 +31,6 @@ Returns **[FeatureCollection][5]<[LineString][6]>** 2-vertex line segments
|
|
|
31
31
|
|
|
32
32
|
[4]: https://tools.ietf.org/html/rfc7946#section-3
|
|
33
33
|
|
|
34
|
-
[5]: https://tools.ietf.org/html/rfc7946#section-3.3
|
|
35
|
-
|
|
36
|
-
[6]: https://tools.ietf.org/html/rfc7946#section-3.1.4
|
|
37
|
-
|
|
38
34
|
<!-- This file is automatically generated. Please don't edit it directly. If you find an error, edit the source file of the module in question (likely index.js or index.ts), and re-run "yarn docs" from the root of the turf project. -->
|
|
39
35
|
|
|
40
36
|
---
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true})
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
|
|
4
|
-
// index.ts
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// index.ts
|
|
5
2
|
var _helpers = require('@turf/helpers');
|
|
6
3
|
var _invariant = require('@turf/invariant');
|
|
7
4
|
var _meta = require('@turf/meta');
|
|
@@ -15,7 +12,6 @@ function lineSegment(geojson) {
|
|
|
15
12
|
});
|
|
16
13
|
return _helpers.featureCollection.call(void 0, results);
|
|
17
14
|
}
|
|
18
|
-
__name(lineSegment, "lineSegment");
|
|
19
15
|
function lineSegmentFeature(geojson, results) {
|
|
20
16
|
let coords = [];
|
|
21
17
|
const geometry = geojson.geometry;
|
|
@@ -36,7 +32,6 @@ function lineSegmentFeature(geojson, results) {
|
|
|
36
32
|
});
|
|
37
33
|
}
|
|
38
34
|
}
|
|
39
|
-
__name(lineSegmentFeature, "lineSegmentFeature");
|
|
40
35
|
function createSegments(coords, properties) {
|
|
41
36
|
const segments = [];
|
|
42
37
|
coords.reduce((previousCoords, currentCoords) => {
|
|
@@ -47,7 +42,6 @@ function createSegments(coords, properties) {
|
|
|
47
42
|
});
|
|
48
43
|
return segments;
|
|
49
44
|
}
|
|
50
|
-
__name(createSegments, "createSegments");
|
|
51
45
|
function bbox(coords1, coords2) {
|
|
52
46
|
const x1 = coords1[0];
|
|
53
47
|
const y1 = coords1[1];
|
|
@@ -59,7 +53,6 @@ function bbox(coords1, coords2) {
|
|
|
59
53
|
const north = y1 > y2 ? y1 : y2;
|
|
60
54
|
return [west, south, east, north];
|
|
61
55
|
}
|
|
62
|
-
__name(bbox, "bbox");
|
|
63
56
|
var turf_line_segment_default = lineSegment;
|
|
64
57
|
|
|
65
58
|
|
package/dist/cjs/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../index.ts"],"names":[],"mappings":";AASA,SAAS,mBAAmB,kBAAkB;AAC9C,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAgB5B,SAAS,YAGP,SAC+B;AAC/B,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,qBAAqB;AAAA,EACvC;AAEA,QAAM,UAAsC,CAAC;AAC7C,cAAY,SAAS,CAAC,YAA0B;AAC9C,uBAAmB,SAAS,OAAO;AAAA,EACrC,CAAC;AACD,SAAO,kBAAkB,OAAO;AAClC;AAUA,SAAS,mBACP,SACA,SACA;AACA,MAAI,SAAuB,CAAC;AAC5B,QAAM,WAAW,QAAQ;AACzB,MAAI,aAAa,MAAM;AACrB,YAAQ,SAAS,MAAM;AAAA,MACrB,KAAK;AACH,iBAAS,UAAU,QAAQ;AAC3B;AAAA,MACF,KAAK;AACH,iBAAS,CAAC,UAAU,QAAQ,CAAC;AAAA,IACjC;AACA,WAAO,QAAQ,CAAC,UAAU;AACxB,YAAM,WAAW,eAAe,OAAO,QAAQ,UAAU;AACzD,eAAS,QAAQ,CAAC,YAAY;AAC5B,gBAAQ,KAAK,QAAQ;AACrB,gBAAQ,KAAK,OAAO;AAAA,MACtB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;AAUA,SAAS,eAAe,QAAoB,YAAiB;AAC3D,QAAM,WAAuC,CAAC;AAC9C,SAAO,OAAO,CAAC,gBAAgB,kBAAkB;AAC/C,UAAM,UAAU,WAAW,CAAC,gBAAgB,aAAa,GAAG,UAAU;AACtE,YAAQ,OAAO,KAAK,gBAAgB,aAAa;AACjD,aAAS,KAAK,OAAO;AACrB,WAAO;AAAA,EACT,CAAC;AACD,SAAO;AACT;AAUA,SAAS,KAAK,SAAmB,SAAyB;AACxD,QAAM,KAAK,QAAQ,CAAC;AACpB,QAAM,KAAK,QAAQ,CAAC;AACpB,QAAM,KAAK,QAAQ,CAAC;AACpB,QAAM,KAAK,QAAQ,CAAC;AACpB,QAAM,OAAO,KAAK,KAAK,KAAK;AAC5B,QAAM,QAAQ,KAAK,KAAK,KAAK;AAC7B,QAAM,OAAO,KAAK,KAAK,KAAK;AAC5B,QAAM,QAAQ,KAAK,KAAK,KAAK;AAC7B,SAAO,CAAC,MAAM,OAAO,MAAM,KAAK;AAClC;AAGA,IAAO,4BAAQ","sourcesContent":["import {\n BBox,\n Feature,\n FeatureCollection,\n LineString,\n MultiLineString,\n MultiPolygon,\n Polygon,\n} from \"geojson\";\nimport { featureCollection, lineString } from \"@turf/helpers\";\nimport { getCoords } from \"@turf/invariant\";\nimport { flattenEach } from \"@turf/meta\";\n\n/**\n * Creates a {@link FeatureCollection} of 2-vertex {@link LineString} segments from a\n * {@link LineString|(Multi)LineString} or {@link Polygon|(Multi)Polygon}.\n *\n * @name lineSegment\n * @param {GeoJSON} geojson GeoJSON Polygon or LineString\n * @returns {FeatureCollection<LineString>} 2-vertex line segments\n * @example\n * var polygon = turf.polygon([[[-50, 5], [-40, -10], [-50, -10], [-40, 5], [-50, 5]]]);\n * var segments = turf.lineSegment(polygon);\n *\n * //addToMap\n * var addToMap = [polygon, segments]\n */\nfunction lineSegment<\n G extends LineString | MultiLineString | Polygon | MultiPolygon,\n>(\n geojson: Feature<G> | FeatureCollection<G> | G\n): FeatureCollection<LineString> {\n if (!geojson) {\n throw new Error(\"geojson is required\");\n }\n\n const results: Array<Feature<LineString>> = [];\n flattenEach(geojson, (feature: Feature<any>) => {\n lineSegmentFeature(feature, results);\n });\n return featureCollection(results);\n}\n\n/**\n * Line Segment\n *\n * @private\n * @param {Feature<LineString|Polygon>} geojson Line or polygon feature\n * @param {Array} results push to results\n * @returns {void}\n */\nfunction lineSegmentFeature(\n geojson: Feature<LineString | Polygon>,\n results: Array<Feature<LineString>>\n) {\n let coords: number[][][] = [];\n const geometry = geojson.geometry;\n if (geometry !== null) {\n switch (geometry.type) {\n case \"Polygon\":\n coords = getCoords(geometry);\n break;\n case \"LineString\":\n coords = [getCoords(geometry)];\n }\n coords.forEach((coord) => {\n const segments = createSegments(coord, geojson.properties);\n segments.forEach((segment) => {\n segment.id = results.length;\n results.push(segment);\n });\n });\n }\n}\n\n/**\n * Create Segments from LineString coordinates\n *\n * @private\n * @param {Array<Array<number>>} coords LineString coordinates\n * @param {*} properties GeoJSON properties\n * @returns {Array<Feature<LineString>>} line segments\n */\nfunction createSegments(coords: number[][], properties: any) {\n const segments: Array<Feature<LineString>> = [];\n coords.reduce((previousCoords, currentCoords) => {\n const segment = lineString([previousCoords, currentCoords], properties);\n segment.bbox = bbox(previousCoords, currentCoords);\n segments.push(segment);\n return currentCoords;\n });\n return segments;\n}\n\n/**\n * Create BBox between two coordinates (faster than @turf/bbox)\n *\n * @private\n * @param {Array<number>} coords1 Point coordinate\n * @param {Array<number>} coords2 Point coordinate\n * @returns {BBox} [west, south, east, north]\n */\nfunction bbox(coords1: number[], coords2: number[]): BBox {\n const x1 = coords1[0];\n const y1 = coords1[1];\n const x2 = coords2[0];\n const y2 = coords2[1];\n const west = x1 < x2 ? x1 : x2;\n const south = y1 < y2 ? y1 : y2;\n const east = x1 > x2 ? x1 : x2;\n const north = y1 > y2 ? y1 : y2;\n return [west, south, east, north];\n}\n\nexport { lineSegment };\nexport default lineSegment;\n"]}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
|
|
4
1
|
// index.ts
|
|
5
2
|
import { featureCollection, lineString } from "@turf/helpers";
|
|
6
3
|
import { getCoords } from "@turf/invariant";
|
|
@@ -15,7 +12,6 @@ function lineSegment(geojson) {
|
|
|
15
12
|
});
|
|
16
13
|
return featureCollection(results);
|
|
17
14
|
}
|
|
18
|
-
__name(lineSegment, "lineSegment");
|
|
19
15
|
function lineSegmentFeature(geojson, results) {
|
|
20
16
|
let coords = [];
|
|
21
17
|
const geometry = geojson.geometry;
|
|
@@ -36,7 +32,6 @@ function lineSegmentFeature(geojson, results) {
|
|
|
36
32
|
});
|
|
37
33
|
}
|
|
38
34
|
}
|
|
39
|
-
__name(lineSegmentFeature, "lineSegmentFeature");
|
|
40
35
|
function createSegments(coords, properties) {
|
|
41
36
|
const segments = [];
|
|
42
37
|
coords.reduce((previousCoords, currentCoords) => {
|
|
@@ -47,7 +42,6 @@ function createSegments(coords, properties) {
|
|
|
47
42
|
});
|
|
48
43
|
return segments;
|
|
49
44
|
}
|
|
50
|
-
__name(createSegments, "createSegments");
|
|
51
45
|
function bbox(coords1, coords2) {
|
|
52
46
|
const x1 = coords1[0];
|
|
53
47
|
const y1 = coords1[1];
|
|
@@ -59,7 +53,6 @@ function bbox(coords1, coords2) {
|
|
|
59
53
|
const north = y1 > y2 ? y1 : y2;
|
|
60
54
|
return [west, south, east, north];
|
|
61
55
|
}
|
|
62
|
-
__name(bbox, "bbox");
|
|
63
56
|
var turf_line_segment_default = lineSegment;
|
|
64
57
|
export {
|
|
65
58
|
turf_line_segment_default as default,
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../index.ts"],"sourcesContent":["import {\n BBox,\n Feature,\n FeatureCollection,\n LineString,\n MultiLineString,\n MultiPolygon,\n Polygon,\n} from \"geojson\";\nimport { featureCollection, lineString } from \"@turf/helpers\";\nimport { getCoords } from \"@turf/invariant\";\nimport { flattenEach } from \"@turf/meta\";\n\n/**\n * Creates a {@link FeatureCollection} of 2-vertex {@link LineString} segments from a\n * {@link LineString|(Multi)LineString} or {@link Polygon|(Multi)Polygon}.\n *\n * @name lineSegment\n * @param {GeoJSON} geojson GeoJSON Polygon or LineString\n * @returns {FeatureCollection<LineString>} 2-vertex line segments\n * @example\n * var polygon = turf.polygon([[[-50, 5], [-40, -10], [-50, -10], [-40, 5], [-50, 5]]]);\n * var segments = turf.lineSegment(polygon);\n *\n * //addToMap\n * var addToMap = [polygon, segments]\n */\nfunction lineSegment<\n G extends LineString | MultiLineString | Polygon | MultiPolygon,\n>(\n geojson: Feature<G> | FeatureCollection<G> | G\n): FeatureCollection<LineString> {\n if (!geojson) {\n throw new Error(\"geojson is required\");\n }\n\n const results: Array<Feature<LineString>> = [];\n flattenEach(geojson, (feature: Feature<any>) => {\n lineSegmentFeature(feature, results);\n });\n return featureCollection(results);\n}\n\n/**\n * Line Segment\n *\n * @private\n * @param {Feature<LineString|Polygon>} geojson Line or polygon feature\n * @param {Array} results push to results\n * @returns {void}\n */\nfunction lineSegmentFeature(\n geojson: Feature<LineString | Polygon>,\n results: Array<Feature<LineString>>\n) {\n let coords: number[][][] = [];\n const geometry = geojson.geometry;\n if (geometry !== null) {\n switch (geometry.type) {\n case \"Polygon\":\n coords = getCoords(geometry);\n break;\n case \"LineString\":\n coords = [getCoords(geometry)];\n }\n coords.forEach((coord) => {\n const segments = createSegments(coord, geojson.properties);\n segments.forEach((segment) => {\n segment.id = results.length;\n results.push(segment);\n });\n });\n }\n}\n\n/**\n * Create Segments from LineString coordinates\n *\n * @private\n * @param {Array<Array<number>>} coords LineString coordinates\n * @param {*} properties GeoJSON properties\n * @returns {Array<Feature<LineString>>} line segments\n */\nfunction createSegments(coords: number[][], properties: any) {\n const segments: Array<Feature<LineString>> = [];\n coords.reduce((previousCoords, currentCoords) => {\n const segment = lineString([previousCoords, currentCoords], properties);\n segment.bbox = bbox(previousCoords, currentCoords);\n segments.push(segment);\n return currentCoords;\n });\n return segments;\n}\n\n/**\n * Create BBox between two coordinates (faster than @turf/bbox)\n *\n * @private\n * @param {Array<number>} coords1 Point coordinate\n * @param {Array<number>} coords2 Point coordinate\n * @returns {BBox} [west, south, east, north]\n */\nfunction bbox(coords1: number[], coords2: number[]): BBox {\n const x1 = coords1[0];\n const y1 = coords1[1];\n const x2 = coords2[0];\n const y2 = coords2[1];\n const west = x1 < x2 ? x1 : x2;\n const south = y1 < y2 ? y1 : y2;\n const east = x1 > x2 ? x1 : x2;\n const north = y1 > y2 ? y1 : y2;\n return [west, south, east, north];\n}\n\nexport { lineSegment };\nexport default lineSegment;\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../index.ts"],"sourcesContent":["import {\n BBox,\n Feature,\n FeatureCollection,\n LineString,\n MultiLineString,\n MultiPolygon,\n Polygon,\n} from \"geojson\";\nimport { featureCollection, lineString } from \"@turf/helpers\";\nimport { getCoords } from \"@turf/invariant\";\nimport { flattenEach } from \"@turf/meta\";\n\n/**\n * Creates a {@link FeatureCollection} of 2-vertex {@link LineString} segments from a\n * {@link LineString|(Multi)LineString} or {@link Polygon|(Multi)Polygon}.\n *\n * @name lineSegment\n * @param {GeoJSON} geojson GeoJSON Polygon or LineString\n * @returns {FeatureCollection<LineString>} 2-vertex line segments\n * @example\n * var polygon = turf.polygon([[[-50, 5], [-40, -10], [-50, -10], [-40, 5], [-50, 5]]]);\n * var segments = turf.lineSegment(polygon);\n *\n * //addToMap\n * var addToMap = [polygon, segments]\n */\nfunction lineSegment<\n G extends LineString | MultiLineString | Polygon | MultiPolygon,\n>(\n geojson: Feature<G> | FeatureCollection<G> | G\n): FeatureCollection<LineString> {\n if (!geojson) {\n throw new Error(\"geojson is required\");\n }\n\n const results: Array<Feature<LineString>> = [];\n flattenEach(geojson, (feature: Feature<any>) => {\n lineSegmentFeature(feature, results);\n });\n return featureCollection(results);\n}\n\n/**\n * Line Segment\n *\n * @private\n * @param {Feature<LineString|Polygon>} geojson Line or polygon feature\n * @param {Array} results push to results\n * @returns {void}\n */\nfunction lineSegmentFeature(\n geojson: Feature<LineString | Polygon>,\n results: Array<Feature<LineString>>\n) {\n let coords: number[][][] = [];\n const geometry = geojson.geometry;\n if (geometry !== null) {\n switch (geometry.type) {\n case \"Polygon\":\n coords = getCoords(geometry);\n break;\n case \"LineString\":\n coords = [getCoords(geometry)];\n }\n coords.forEach((coord) => {\n const segments = createSegments(coord, geojson.properties);\n segments.forEach((segment) => {\n segment.id = results.length;\n results.push(segment);\n });\n });\n }\n}\n\n/**\n * Create Segments from LineString coordinates\n *\n * @private\n * @param {Array<Array<number>>} coords LineString coordinates\n * @param {*} properties GeoJSON properties\n * @returns {Array<Feature<LineString>>} line segments\n */\nfunction createSegments(coords: number[][], properties: any) {\n const segments: Array<Feature<LineString>> = [];\n coords.reduce((previousCoords, currentCoords) => {\n const segment = lineString([previousCoords, currentCoords], properties);\n segment.bbox = bbox(previousCoords, currentCoords);\n segments.push(segment);\n return currentCoords;\n });\n return segments;\n}\n\n/**\n * Create BBox between two coordinates (faster than @turf/bbox)\n *\n * @private\n * @param {Array<number>} coords1 Point coordinate\n * @param {Array<number>} coords2 Point coordinate\n * @returns {BBox} [west, south, east, north]\n */\nfunction bbox(coords1: number[], coords2: number[]): BBox {\n const x1 = coords1[0];\n const y1 = coords1[1];\n const x2 = coords2[0];\n const y2 = coords2[1];\n const west = x1 < x2 ? x1 : x2;\n const south = y1 < y2 ? y1 : y2;\n const east = x1 > x2 ? x1 : x2;\n const north = y1 > y2 ? y1 : y2;\n return [west, south, east, north];\n}\n\nexport { lineSegment };\nexport default lineSegment;\n"],"mappings":";AASA,SAAS,mBAAmB,kBAAkB;AAC9C,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAgB5B,SAAS,YAGP,SAC+B;AAC/B,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,qBAAqB;AAAA,EACvC;AAEA,QAAM,UAAsC,CAAC;AAC7C,cAAY,SAAS,CAAC,YAA0B;AAC9C,uBAAmB,SAAS,OAAO;AAAA,EACrC,CAAC;AACD,SAAO,kBAAkB,OAAO;AAClC;AAUA,SAAS,mBACP,SACA,SACA;AACA,MAAI,SAAuB,CAAC;AAC5B,QAAM,WAAW,QAAQ;AACzB,MAAI,aAAa,MAAM;AACrB,YAAQ,SAAS,MAAM;AAAA,MACrB,KAAK;AACH,iBAAS,UAAU,QAAQ;AAC3B;AAAA,MACF,KAAK;AACH,iBAAS,CAAC,UAAU,QAAQ,CAAC;AAAA,IACjC;AACA,WAAO,QAAQ,CAAC,UAAU;AACxB,YAAM,WAAW,eAAe,OAAO,QAAQ,UAAU;AACzD,eAAS,QAAQ,CAAC,YAAY;AAC5B,gBAAQ,KAAK,QAAQ;AACrB,gBAAQ,KAAK,OAAO;AAAA,MACtB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;AAUA,SAAS,eAAe,QAAoB,YAAiB;AAC3D,QAAM,WAAuC,CAAC;AAC9C,SAAO,OAAO,CAAC,gBAAgB,kBAAkB;AAC/C,UAAM,UAAU,WAAW,CAAC,gBAAgB,aAAa,GAAG,UAAU;AACtE,YAAQ,OAAO,KAAK,gBAAgB,aAAa;AACjD,aAAS,KAAK,OAAO;AACrB,WAAO;AAAA,EACT,CAAC;AACD,SAAO;AACT;AAUA,SAAS,KAAK,SAAmB,SAAyB;AACxD,QAAM,KAAK,QAAQ,CAAC;AACpB,QAAM,KAAK,QAAQ,CAAC;AACpB,QAAM,KAAK,QAAQ,CAAC;AACpB,QAAM,KAAK,QAAQ,CAAC;AACpB,QAAM,OAAO,KAAK,KAAK,KAAK;AAC5B,QAAM,QAAQ,KAAK,KAAK,KAAK;AAC7B,QAAM,OAAO,KAAK,KAAK,KAAK;AAC5B,QAAM,QAAQ,KAAK,KAAK,KAAK;AAC7B,SAAO,CAAC,MAAM,OAAO,MAAM,KAAK;AAClC;AAGA,IAAO,4BAAQ;","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@turf/line-segment",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.1.0-alpha.70+948cdafaf",
|
|
4
4
|
"description": "turf line-segment module",
|
|
5
5
|
"author": "Turf Authors",
|
|
6
6
|
"license": "MIT",
|
|
@@ -62,10 +62,11 @@
|
|
|
62
62
|
"write-json-file": "^5.0.0"
|
|
63
63
|
},
|
|
64
64
|
"dependencies": {
|
|
65
|
-
"@turf/helpers": "^7.0.
|
|
66
|
-
"@turf/invariant": "^7.0.
|
|
67
|
-
"@turf/meta": "^7.0.
|
|
65
|
+
"@turf/helpers": "^7.1.0-alpha.70+948cdafaf",
|
|
66
|
+
"@turf/invariant": "^7.1.0-alpha.70+948cdafaf",
|
|
67
|
+
"@turf/meta": "^7.1.0-alpha.70+948cdafaf",
|
|
68
|
+
"@types/geojson": "^7946.0.10",
|
|
68
69
|
"tslib": "^2.6.2"
|
|
69
70
|
},
|
|
70
|
-
"gitHead": "
|
|
71
|
+
"gitHead": "948cdafaf70606d2e27fcc79973fa48ee1182067"
|
|
71
72
|
}
|