@orbat-mapper/control-measures 0.22.0 → 0.24.0
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/dist/{index-BTPCaqIB.d.mts → index-CCZqdSQS.d.mts} +34 -2
- package/dist/index.d.mts +3 -3
- package/dist/index.mjs +2 -2
- package/dist/{patterns-CcQmmOuJ.d.mts → patterns-DMO-zeaM.d.mts} +21 -1
- package/dist/patterns.d.mts +1 -1
- package/dist/preview/index.d.mts +23 -3
- package/dist/preview/index.mjs +29 -3
- package/dist/{renderControlMeasure-CU_KIPdu.mjs → renderControlMeasure-CohBtiQZ.mjs} +47 -17
- package/media/antitank-ditch-completed.svg +1 -1
- package/media/antitank-ditch-under-construction.svg +1 -1
- package/media/antitank-wall.svg +1 -1
- package/media/block.svg +1 -1
- package/media/disrupt.svg +1 -1
- package/media/double-apron-fence.svg +1 -1
- package/media/double-fence.svg +1 -1
- package/media/double-strand-concertina.svg +1 -1
- package/media/fix.svg +1 -1
- package/media/high-wire-fence.svg +1 -1
- package/media/limited-access-area.svg +1 -1
- package/media/low-wire-fence.svg +1 -1
- package/media/mined-area.svg +1 -1
- package/media/minefield-dynamic.svg +1 -1
- package/media/minefield.svg +1 -1
- package/media/no-fire-area-irregular.svg +1 -1
- package/media/obstacle-belt.svg +1 -1
- package/media/obstacle-bypass-difficult.svg +1 -1
- package/media/obstacle-bypass-easy.svg +1 -1
- package/media/obstacle-bypass-impossible.svg +1 -1
- package/media/obstacle-free-zone.svg +1 -1
- package/media/obstacle-restricted-zone.svg +1 -1
- package/media/obstacle-zone.svg +1 -1
- package/media/single-concertina.svg +1 -1
- package/media/single-fence.svg +1 -1
- package/media/triple-strand-concertina.svg +1 -1
- package/media/turn.svg +1 -1
- package/media/wire-obstacle-unspecified.svg +1 -1
- package/package.json +1 -1
|
@@ -1784,10 +1784,17 @@ const line25DrawRule = {
|
|
|
1784
1784
|
const SOLID_ACCENT_FILL = { fillPattern: "solid" };
|
|
1785
1785
|
/**
|
|
1786
1786
|
* Ultimate fallback for the symbol color when no `color` or per-channel
|
|
1787
|
-
* override
|
|
1788
|
-
* black and guarantees filled parts still render filled. See ADR-0011.
|
|
1787
|
+
* override or doctrinal metadata default is supplied. Keeps other measures
|
|
1788
|
+
* monocolor black and guarantees filled parts still render filled. See ADR-0011.
|
|
1789
1789
|
*/
|
|
1790
1790
|
const DEFAULT_SYMBOL_COLOR = "#000000";
|
|
1791
|
+
/** MIL-STD-2525D Tables XV–XVI. Fill shades are neutral identity palette samples. */
|
|
1792
|
+
const MIL_STD_GREEN = {
|
|
1793
|
+
neon: "#00ff00",
|
|
1794
|
+
dark: "#00a000",
|
|
1795
|
+
medium: "#00e200",
|
|
1796
|
+
light: "#aaffaa"
|
|
1797
|
+
};
|
|
1791
1798
|
//#endregion
|
|
1792
1799
|
//#region src/portrayal.ts
|
|
1793
1800
|
const DEFAULT_STROKE_WIDTH_CSS_PIXELS = 2;
|
|
@@ -2964,6 +2971,7 @@ function definition$1(id, name, kind) {
|
|
|
2964
2971
|
name,
|
|
2965
2972
|
description: spec.description,
|
|
2966
2973
|
entity: "Protection Lines",
|
|
2974
|
+
colorRole: "obstacle",
|
|
2967
2975
|
entityType: "Wire Obstacles",
|
|
2968
2976
|
entitySubtype: spec.subtype,
|
|
2969
2977
|
value: spec.value,
|
|
@@ -6895,6 +6903,7 @@ const ANTITANK_DITCH_UNDER_CONSTRUCTION_METADATA = {
|
|
|
6895
6903
|
name: "Ditch - Under Construction",
|
|
6896
6904
|
description: "Antitank ditch obstacle under construction.",
|
|
6897
6905
|
entity: "Protection Lines",
|
|
6906
|
+
colorRole: "obstacle",
|
|
6898
6907
|
entityType: "Antitank Obstacles",
|
|
6899
6908
|
entitySubtype: "Ditch - Under Construction",
|
|
6900
6909
|
value: "290201",
|
|
@@ -6918,6 +6927,7 @@ const ANTITANK_DITCH_COMPLETED_METADATA = {
|
|
|
6918
6927
|
name: "Ditch - Completed",
|
|
6919
6928
|
description: "Completed antitank ditch obstacle.",
|
|
6920
6929
|
entity: "Protection Lines",
|
|
6930
|
+
colorRole: "obstacle",
|
|
6921
6931
|
entityType: "Antitank Obstacles",
|
|
6922
6932
|
entitySubtype: "Ditch - Completed",
|
|
6923
6933
|
value: "290202",
|
|
@@ -7052,6 +7062,7 @@ const ANTITANK_WALL_METADATA = {
|
|
|
7052
7062
|
name: "Antitank Wall",
|
|
7053
7063
|
description: "Antitank wall obstacle.",
|
|
7054
7064
|
entity: "Protection Lines",
|
|
7065
|
+
colorRole: "obstacle",
|
|
7055
7066
|
entityType: "Antitank Obstacles",
|
|
7056
7067
|
entitySubtype: "Antitank Wall",
|
|
7057
7068
|
value: "290204",
|
|
@@ -7904,6 +7915,7 @@ const BLOCK_METADATA = {
|
|
|
7904
7915
|
name: "Block",
|
|
7905
7916
|
description: "Integrates fires and obstacles to stop an attacker along an avenue of approach or prevent it from passing through an engagement area. Establishes a limit of enemy advance.",
|
|
7906
7917
|
entity: "Protection Areas",
|
|
7918
|
+
colorRole: "obstacle",
|
|
7907
7919
|
entityType: "Obstacle Effects",
|
|
7908
7920
|
entitySubtype: "Block",
|
|
7909
7921
|
value: "270501",
|
|
@@ -12900,6 +12912,7 @@ const DISRUPT_METADATA = {
|
|
|
12900
12912
|
name: "Disrupt",
|
|
12901
12913
|
description: "Integrates fires and obstacles to break up an enemy's formation and tempo, interrupt its timetable, commit breaching assets prematurely, and force a piecemeal attack.",
|
|
12902
12914
|
entity: "Protection Areas",
|
|
12915
|
+
colorRole: "obstacle",
|
|
12903
12916
|
entityType: "Obstacle Effects",
|
|
12904
12917
|
entitySubtype: "Disrupt",
|
|
12905
12918
|
value: "270502",
|
|
@@ -13557,6 +13570,7 @@ const FIX_METADATA = {
|
|
|
13557
13570
|
name: "Fix",
|
|
13558
13571
|
description: "Slows an attacker within a specified area, giving friendly forces time to acquire, target, and destroy it throughout the area's depth.",
|
|
13559
13572
|
entity: "Protection Areas",
|
|
13573
|
+
colorRole: "obstacle",
|
|
13560
13574
|
entityType: "Obstacle Effects",
|
|
13561
13575
|
entitySubtype: "Fix",
|
|
13562
13576
|
value: "270503",
|
|
@@ -16661,6 +16675,7 @@ const TURN_METADATA = {
|
|
|
16661
16675
|
name: "Turn",
|
|
16662
16676
|
description: "Diverts an enemy formation from one avenue of approach to another or into an engagement area. The arrow indicates the desired direction of turn.",
|
|
16663
16677
|
entity: "Protection Areas",
|
|
16678
|
+
colorRole: "obstacle",
|
|
16664
16679
|
entityType: "Obstacle Effects",
|
|
16665
16680
|
entitySubtype: "Turn",
|
|
16666
16681
|
value: "270504",
|
|
@@ -17353,6 +17368,7 @@ const MINEFIELD_METADATA = {
|
|
|
17353
17368
|
name: "Minefield",
|
|
17354
17369
|
description: "A static point symbol identifying a minefield and its mine type.",
|
|
17355
17370
|
entity: "Protection Areas",
|
|
17371
|
+
colorRole: "obstacle",
|
|
17356
17372
|
entityType: "Minefield Symbol",
|
|
17357
17373
|
entitySubtype: "Minefield (Static)",
|
|
17358
17374
|
value: "270701",
|
|
@@ -17767,6 +17783,7 @@ function createObstacleArea(positions, options, text, context, kind) {
|
|
|
17767
17783
|
}
|
|
17768
17784
|
const COMMON_METADATA$1 = {
|
|
17769
17785
|
entity: "Protection Areas",
|
|
17786
|
+
colorRole: "obstacle",
|
|
17770
17787
|
minCoordinates: 3,
|
|
17771
17788
|
geometry: "area",
|
|
17772
17789
|
geometryTypes: [
|
|
@@ -17860,6 +17877,7 @@ const DEFAULT_MINE_AREA_OPTIONS = {
|
|
|
17860
17877
|
};
|
|
17861
17878
|
const COMMON_METADATA = {
|
|
17862
17879
|
entity: "Protection Areas",
|
|
17880
|
+
colorRole: "obstacle",
|
|
17863
17881
|
minCoordinates: 3,
|
|
17864
17882
|
geometry: "area",
|
|
17865
17883
|
geometryTypes: [
|
|
@@ -18031,6 +18049,7 @@ const OBSTACLE_BYPASS_DIFFICULT_METADATA = {
|
|
|
18031
18049
|
name: "Obstacle Bypass Difficult",
|
|
18032
18050
|
description: "Obstacle bypass (difficult) with zigzag rear line and arrowheads.",
|
|
18033
18051
|
entity: "Protection Areas",
|
|
18052
|
+
colorRole: "obstacle",
|
|
18034
18053
|
entityType: "Obstacle Bypass",
|
|
18035
18054
|
entitySubtype: "Difficult",
|
|
18036
18055
|
value: "270602",
|
|
@@ -18171,6 +18190,7 @@ const OBSTACLE_BYPASS_EASY_METADATA = {
|
|
|
18171
18190
|
name: "Obstacle Bypass Easy",
|
|
18172
18191
|
description: "Obstacle bypass (easy) with parallel rails and two arrowheads.",
|
|
18173
18192
|
entity: "Protection Areas",
|
|
18193
|
+
colorRole: "obstacle",
|
|
18174
18194
|
entityType: "Obstacle Bypass",
|
|
18175
18195
|
entitySubtype: "Easy",
|
|
18176
18196
|
value: "270601",
|
|
@@ -18285,6 +18305,7 @@ const OBSTACLE_BYPASS_IMPOSSIBLE_METADATA = {
|
|
|
18285
18305
|
name: "Obstacle Bypass Impossible",
|
|
18286
18306
|
description: "Obstacle bypass (impossible) with rear barrier marks and arrowheads.",
|
|
18287
18307
|
entity: "Protection Areas",
|
|
18308
|
+
colorRole: "obstacle",
|
|
18288
18309
|
entityType: "Obstacle Bypass",
|
|
18289
18310
|
entitySubtype: "Impossible",
|
|
18290
18311
|
value: "270603",
|
|
@@ -19902,8 +19923,8 @@ function resolveStyleHints(graphicsStyle, measureStyle, generatorStyle) {
|
|
|
19902
19923
|
*
|
|
19903
19924
|
* A control measure is monocolor: the single `color` paints both stroke and
|
|
19904
19925
|
* fill. `strokeColor` / `fillColor` are optional per-channel overrides, and
|
|
19905
|
-
*
|
|
19906
|
-
*
|
|
19926
|
+
* the measure's doctrinal default is the fallback (otherwise black), so
|
|
19927
|
+
* filled parts still render filled without host styling.
|
|
19907
19928
|
*
|
|
19908
19929
|
* `filled` is the generator's intrinsic, color-free marker that a part is a
|
|
19909
19930
|
* solid shape. Non-filled parts never carry a `fillColor` — filledness is
|
|
@@ -19911,37 +19932,45 @@ function resolveStyleHints(graphicsStyle, measureStyle, generatorStyle) {
|
|
|
19911
19932
|
* input-only and is stripped from the result.
|
|
19912
19933
|
*
|
|
19913
19934
|
* Also folds the whole-graphic `opacity` multiplier (ADR-0040) into the
|
|
19914
|
-
* resolved `strokeColor` / `fillColor` alpha, after the
|
|
19935
|
+
* resolved `strokeColor` / `fillColor` alpha, after the default-color
|
|
19915
19936
|
* fallback so a dimmed zero-config render dims too. `opacity` is clamped to
|
|
19916
19937
|
* `[0, 1]` (non-finite treated as absent) and is never present on the
|
|
19917
19938
|
* returned `StyleHints` — it is consumed here, not passed through.
|
|
19918
19939
|
*
|
|
19919
19940
|
* Pure: the input is not mutated; a fresh object is always returned.
|
|
19920
19941
|
*/
|
|
19921
|
-
function resolveSymbolColor(merged, filled) {
|
|
19942
|
+
function resolveSymbolColor(merged, filled, defaultColor = DEFAULT_SYMBOL_COLOR) {
|
|
19922
19943
|
const { color, strokeColor, fillColor, fillPattern, opacity, ...rest } = merged ?? {};
|
|
19923
19944
|
delete rest.textHalo;
|
|
19924
|
-
const rawStroke = firstColor(strokeColor, color);
|
|
19945
|
+
const rawStroke = firstColor(defaultColor, strokeColor, color);
|
|
19925
19946
|
const resolvedStroke = foldGraphicOpacity(rawStroke, opacity);
|
|
19926
19947
|
const resolved = {
|
|
19927
19948
|
...rest,
|
|
19928
19949
|
strokeColor: resolvedStroke
|
|
19929
19950
|
};
|
|
19930
19951
|
if (filled) {
|
|
19931
|
-
const rawFill = firstColor(fillColor, color);
|
|
19952
|
+
const rawFill = firstColor(defaultColor, fillColor, color);
|
|
19932
19953
|
resolved.fillColor = rawFill === rawStroke ? resolvedStroke : foldGraphicOpacity(rawFill, opacity);
|
|
19933
19954
|
if (fillPattern !== void 0) resolved.fillPattern = fillPattern;
|
|
19934
19955
|
}
|
|
19935
19956
|
return resolved;
|
|
19936
19957
|
}
|
|
19937
19958
|
/**
|
|
19938
|
-
*
|
|
19939
|
-
*
|
|
19940
|
-
|
|
19959
|
+
* Resolve a doctrinal color role. This is the fallback *below* every authored
|
|
19960
|
+
* style layer, so it never looks at `graphicsStyle` / `cm.style`.
|
|
19961
|
+
*/
|
|
19962
|
+
function resolveDefaultSymbolColor(role, colors) {
|
|
19963
|
+
return role === "obstacle" ? colors?.obstacle || MIL_STD_GREEN.neon : DEFAULT_SYMBOL_COLOR;
|
|
19964
|
+
}
|
|
19965
|
+
/**
|
|
19966
|
+
* First usable color among the candidates, else `fallback` — the caller's
|
|
19967
|
+
* already-resolved default, so the ultimate fallback is decided in one place.
|
|
19968
|
+
* An empty string is treated as "not set" (e.g. a cleared color input) rather
|
|
19969
|
+
* than kept as an invalid paint.
|
|
19941
19970
|
*/
|
|
19942
|
-
function firstColor(...candidates) {
|
|
19971
|
+
function firstColor(fallback, ...candidates) {
|
|
19943
19972
|
for (const candidate of candidates) if (candidate !== void 0 && candidate !== "") return candidate;
|
|
19944
|
-
return
|
|
19973
|
+
return fallback;
|
|
19945
19974
|
}
|
|
19946
19975
|
function applyLayer(target, layer) {
|
|
19947
19976
|
if (!layer) return;
|
|
@@ -19961,6 +19990,7 @@ function applyLayer(target, layer) {
|
|
|
19961
19990
|
*/
|
|
19962
19991
|
function renderControlMeasure(cm, opts) {
|
|
19963
19992
|
const raw = dispatchControlMeasure(cm, opts);
|
|
19993
|
+
const defaultSymbolColor = resolveDefaultSymbolColor(DEFINITIONS[cm.kind].metadata.colorRole, opts?.symbolColors);
|
|
19964
19994
|
const generatedLabelOrdinals = /* @__PURE__ */ new Map();
|
|
19965
19995
|
const features = raw.features.map((feature, index) => {
|
|
19966
19996
|
const sourceProps = feature.properties ?? {};
|
|
@@ -19968,7 +19998,7 @@ function renderControlMeasure(cm, opts) {
|
|
|
19968
19998
|
const isGeneratedLabel = sourceProps.labelPlacement !== false && !(typeof sourceProps.amplifierField === "string" && canonicalTextAmplifierKey(sourceProps.amplifierField)) && !(typeof sourceProps.labelPlacementKey === "string" && sourceProps.labelPlacementKey.length > 0) && typeof sourceProps.text === "string" && feature.geometry.type === "Point";
|
|
19969
19999
|
const generatedLabelOrdinal = isGeneratedLabel ? generatedLabelOrdinals.get(part) ?? 0 : index;
|
|
19970
20000
|
if (isGeneratedLabel) generatedLabelOrdinals.set(part, generatedLabelOrdinal + 1);
|
|
19971
|
-
return normalizeFeature(cm.id, feature, index, generatedLabelOrdinal, cm.style, opts?.graphicsStyle, cm.amplifierPlacements);
|
|
20001
|
+
return normalizeFeature(cm.id, feature, index, generatedLabelOrdinal, cm.style, opts?.graphicsStyle, cm.amplifierPlacements, defaultSymbolColor);
|
|
19972
20002
|
});
|
|
19973
20003
|
const bbox = computeBBox(features);
|
|
19974
20004
|
return {
|
|
@@ -20052,13 +20082,13 @@ function resolveLabelPlacementKey(sourceProps, amplifierField, text, geometryTyp
|
|
|
20052
20082
|
if (amplifierField) return amplifierField;
|
|
20053
20083
|
if (text !== void 0 && geometryType === "Point") return `label:${part}:${generatedLabelOrdinal}`;
|
|
20054
20084
|
}
|
|
20055
|
-
function normalizeFeature(id, feature, index, generatedLabelOrdinal, measureStyle, graphicsStyle, amplifierPlacements) {
|
|
20085
|
+
function normalizeFeature(id, feature, index, generatedLabelOrdinal, measureStyle, graphicsStyle, amplifierPlacements, defaultSymbolColor) {
|
|
20056
20086
|
const sourceProps = feature.properties ?? {};
|
|
20057
20087
|
const part = typeof sourceProps.part === "string" && sourceProps.part.length > 0 ? sourceProps.part : "main";
|
|
20058
20088
|
const generatorStyle = typeof sourceProps.style === "object" && sourceProps.style !== null ? sourceProps.style : void 0;
|
|
20059
20089
|
const filled = sourceProps.fill === true;
|
|
20060
20090
|
const merged = resolveStyleHints(graphicsStyle, measureStyle, generatorStyle);
|
|
20061
|
-
const style = resolveSymbolColor(merged, filled);
|
|
20091
|
+
const style = resolveSymbolColor(merged, filled, defaultSymbolColor);
|
|
20062
20092
|
const text = typeof sourceProps.text === "string" ? sourceProps.text : void 0;
|
|
20063
20093
|
const rotation = typeof sourceProps.rotation === "number" ? sourceProps.rotation : void 0;
|
|
20064
20094
|
const textSizePixels = typeof sourceProps.textSizePixels === "number" ? sourceProps.textSizePixels : void 0;
|
|
@@ -20149,4 +20179,4 @@ function assertNever(value) {
|
|
|
20149
20179
|
throw new Error(`Unhandled control measure kind: ${String(value)}`);
|
|
20150
20180
|
}
|
|
20151
20181
|
//#endregion
|
|
20152
|
-
export {
|
|
20182
|
+
export { DEFAULT_INFILTRATION_LANE_OPTIONS as $, snapToMidpointPerpendicular as $n, DEFAULT_ENGAGEMENT_AREA_OPTIONS as $t, DEFAULT_EVACUATE_OPTIONS as A, line26DrawRule as An, DEFAULT_GENERIC_POLYGON_OPTIONS as At, DEFAULT_FRONTAL_ATTACK_OPTIONS as B, point12DrawRule as Bn, DEFAULT_LIGHT_LINE_OPTIONS as Bt, DEFAULT_MINEFIELD_OPTIONS as C, rectangleDrawRule as Cn, DEFAULT_CLEAR_OPTIONS as Ct, DEFAULT_TURN_OPTIONS as D, supportByFireDrawRule as Dn, DEFAULT_GENERIC_TEXT_OPTIONS as Dt, DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS as E, computeInitialWidthPoint as En, RADAR_SEARCH_DOCTRINE_STROKE_COLOR as Et, DEFAULT_RELIEF_IN_PLACE_OPTIONS as F, ambushDrawRule as Fn, DEFAULT_BYPASS_OPTIONS as Ft, DEFAULT_LINE_OF_DEPARTURE_CONTACT_OPTIONS as G, blockDrawRule as Gn, DEFAULT_BATTLE_POSITION_OPTIONS as Gt, DEFAULT_FORTIFIED_LINE_OPTIONS as H, penetrateDrawRule as Hn, DEFAULT_BLOCK_ARROW_OPTIONS as Ht, DEFAULT_REARWARD_PASSAGE_OF_LINES_OPTIONS as I, attackByFireDrawRule as In, DEFAULT_BREACH_OPTIONS as It, DEFAULT_BATTLE_HANDOVER_LINE_OPTIONS as J, area27DrawRule as Jn, DEFAULT_ANTITANK_WALL_OPTIONS as Jt, DEFAULT_LINE_OF_DEPARTURE_OPTIONS as K, centerRadiusDrawRule as Kn, DEFAULT_ATTACK_HELICOPTER_OPTIONS as Kt, DEFAULT_PENETRATE_OPTIONS as L, dynamicPointDrawRule as Ln, DEFAULT_BLOCK_MISSION_TASK_OPTIONS as Lt, DEFAULT_SECURE_OPTIONS as M, line23DrawRule as Mn, DEFAULT_GENERIC_CIRCLE_OPTIONS as Mt, DEFAULT_SCREEN_OPTIONS as N, turnDrawRule as Nn, DEFAULT_CLASSIC_ARROW_OPTIONS as Nt, DEFAULT_WITHDRAW_UNDER_PRESSURE_OPTIONS as O, polyline1DrawRule as On, DEFAULT_GENERIC_SECTOR_OPTIONS as Ot, DEFAULT_RETIRE_OPTIONS as P, line1DrawRule as Pn, DEFAULT_CANALIZE_OPTIONS as Pt, DEFAULT_HOLDING_LINE_OPTIONS as Q, pointOnMidpointPerpendicularAxis as Qn, DEFAULT_MOBILE_DEFENSE_OPTIONS as Qt, DEFAULT_OCCUPY_OPTIONS as R, sectorDrawRule as Rn, DEFAULT_GENERIC_C2_LINE_OPTIONS as Rt, DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS as S, MIL_STD_GREEN as Sn, DEFAULT_ISOLATE_OPTIONS as St, DEFAULT_LANDING_ZONE_OPTIONS as T, calculateMetrics as Tn, RADAR_SEARCH_DOCTRINE_FILL_COLOR as Tt, DEFAULT_PROBABLE_LINE_OF_DEPLOYMENT_OPTIONS as U, occupyDrawRule as Un, DEFAULT_BLOCK_OPTIONS as Ut, DEFAULT_FORTIFIED_AREA_OPTIONS as V, secureDrawRule as Vn, DEFAULT_BOUNDARY_OPTIONS as Vt, PROBABLE_LINE_OF_DEPLOYMENT_DASH as W, disruptDrawRule as Wn, DEFAULT_CONTAIN_OPTIONS as Wt, DEFAULT_FORWARD_EDGE_OF_BATTLE_AREA_OPTIONS as X, createMidpointPerpendicularDrawRule as Xn, DEFAULT_ASSEMBLY_AREA_OPTIONS as Xt, DEFAULT_HANDOVER_LINE_OPTIONS as Y, computeDefaultMidpointPerpendicularPoint as Yn, DEFAULT_ANTITANK_DITCH_OPTIONS as Yt, DEFAULT_RELEASE_LINE_OPTIONS as Z, getMidpointPerpendicularSignedDistance as Zn, DEFAULT_AREA_OF_OPERATIONS_OPTIONS as Zt, SECONDARY_DIRECTION_OF_FIRE_DASH as _, DEFAULT_LINE_JOIN as _n, DEFAULT_COUNTERATTACK_BY_FIRE_OPTIONS as _t, CONTROL_MEASURE_IDS as a, canonicalTextAmplifierKey as an, EPSILON as ar, DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS as at, DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS as b, DEFAULT_STROKE_WIDTH_CSS_PIXELS as bn, DEFAULT_CORDON_AND_SEARCH_OPTIONS as bt, getControlMeasureMetadata as c, DEFAULT_AMBUSH_OPTIONS as cn, roundToFixed as cr, DEFAULT_GUARD_OPTIONS as ct, listControlMeasureMetadata as d, DEFAULT_NEUTRALIZE_OPTIONS as dn, DEFAULT_DISRUPT_MISSION_TASK_OPTIONS as dt, DEFAULT_AREA_DEFENSE_OPTIONS as en, createBaselineFrame as er, DEFAULT_BRIDGEHEAD_LINE_OPTIONS as et, DEFAULT_TURNING_MOVEMENT_OPTIONS as f, DEFAULT_SUPPRESS_OPTIONS as fn, DEFAULT_DISENGAGE_OPTIONS as ft, DEFAULT_SECONDARY_DIRECTION_OF_FIRE_OPTIONS as g, DEFAULT_LINE_CAP as gn, DEFAULT_TACTICAL_ARROW_OPTIONS as gt, DEFAULT_STRONG_POINT_OPTIONS as h, DEFAULT_LABEL_SIZE_CLAMP_CSS_PIXELS as hn, DEFAULT_COVER_OPTIONS as ht, resolveSymbolColor as i, TEXT_AMPLIFIER_FIELDS as in, unproject as ir, DEFAULT_FIX_OPTIONS as it, DEFAULT_SEIZE_OPTIONS as j, line24DrawRule as jn, DEFAULT_GENERIC_LINE_OPTIONS as jt, DEFAULT_WITHDRAW_OPTIONS as k, line27DrawRule as kn, DEFAULT_GENERIC_RECTANGLE_OPTIONS as kt, getControlMeasureMetadataByValue as l, DEFAULT_AIRBORNE_ATTACK_OPTIONS as ln, createFollowAndSupport as lt, DEFAULT_RETAIN_OPTIONS as m, DEFAULT_LABEL_HEIGHT_CSS_PIXELS as mn, DEFAULT_DELAY_OPTIONS as mt, resolveDefaultSymbolColor as n, DEFAULT_DIRECTION_OF_MAIN_ATTACK_OPTIONS as nn, project as nr, DEFAULT_FLOT_OPTIONS as nt, CONTROL_MEASURE_METADATA as o, normalizeTextAmplifiers as on, getMetersPerPixel as or, DEFAULT_ENCIRCLEMENT_OPTIONS as ot, DEFAULT_SUPPORT_BY_FIRE_OPTIONS as p, DEFAULT_DEFEAT_OPTIONS as pn, DEFAULT_DEMONSTRATE_OPTIONS as pt, DEFAULT_LIMIT_OF_ADVANCE_OPTIONS as q, containDrawRule as qn, DEFAULT_ATTACK_BY_FIRE_OPTIONS as qt, resolveStyleHints as r, DEFAULT_DIRECTION_OF_ATTACK_AVIATION_OPTIONS as rn, sphericalBearing as rr, DEFAULT_FIX_MISSION_TASK_OPTIONS as rt, DEFINITIONS as s, resolveAmplifierPlacement as sn, isFiniteNumber as sr, DEFAULT_DISRUPT_OPTIONS as st, renderControlMeasure as t, DEFAULT_DIRECTION_OF_SUPPORTING_ATTACK_OPTIONS as tn, haversineDistance as tr, DEFAULT_PHASE_LINE_OPTIONS as tt, getDefaultOptions as u, DEFAULT_DESTROY_OPTIONS as un, createFollowAndAssume as ut, DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS as v, DEFAULT_PORTRAYAL as vn, DEFAULT_COUNTERATTACK_OPTIONS as vt, DEFAULT_MAIN_ATTACK_OPTIONS as w, axis1DrawRule as wn, DEFAULT_RADAR_SEARCH_DOCTRINE_OPTIONS as wt, DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS as x, DEFAULT_SYMBOL_COLOR as xn, DEFAULT_CORDON_AND_KNOCK_OPTIONS as xt, DEFAULT_PICKUP_ZONE_OPTIONS as y, DEFAULT_STROKE_DASH_CSS_PIXELS as yn, DEFAULT_SUPPORTING_ATTACK_OPTIONS as yt, DEFAULT_MOVEMENT_TO_CONTACT_OPTIONS as z, staticPointDrawRule as zn, DEFAULT_ENGINEER_WORK_LINE_OPTIONS as zt };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Ditch - Completed"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M5.00 25.93 L7.26 22.07 L9.52 25.93 L5.00 25.93 Z" fill="#
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Ditch - Completed"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M5.00 25.93 L7.26 22.07 L9.52 25.93 L5.00 25.93 Z" fill="#00ff00" fill-opacity="1" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round"/><path d="M9.52 25.93 L11.79 22.07 L14.06 25.93 L9.52 25.93 Z" fill="#00ff00" fill-opacity="1" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round"/><path d="M14.06 25.93 L16.32 22.07 L18.58 25.93 L14.06 25.93 Z" fill="#00ff00" fill-opacity="1" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round"/><path d="M18.58 25.93 L20.84 22.07 L23.10 25.93 L18.58 25.93 Z" fill="#00ff00" fill-opacity="1" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round"/><path d="M23.10 25.93 L25.36 22.07 L27.64 25.93 L23.10 25.93 Z" fill="#00ff00" fill-opacity="1" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round"/><path d="M27.64 25.93 L29.90 22.07 L32.16 25.93 L27.64 25.93 Z" fill="#00ff00" fill-opacity="1" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round"/><path d="M32.16 25.93 L34.42 22.07 L36.68 25.93 L32.16 25.93 Z" fill="#00ff00" fill-opacity="1" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round"/><path d="M36.68 25.93 L38.94 22.07 L41.21 25.93 L36.68 25.93 Z" fill="#00ff00" fill-opacity="1" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round"/><path d="M41.21 25.93 L43.48 22.07 L45.74 25.93 L41.21 25.93 Z" fill="#00ff00" fill-opacity="1" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round"/><path d="M45.74 25.93 L48.00 22.07 L50.26 25.93 L45.74 25.93 Z" fill="#00ff00" fill-opacity="1" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round"/><path d="M50.26 25.93 L52.52 22.07 L54.79 25.93 L50.26 25.93 Z" fill="#00ff00" fill-opacity="1" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round"/><path d="M54.79 25.93 L57.06 22.07 L59.32 25.93 L54.79 25.93 Z" fill="#00ff00" fill-opacity="1" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round"/><path d="M59.32 25.93 L61.58 22.07 L63.84 25.93 L59.32 25.93 Z" fill="#00ff00" fill-opacity="1" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round"/><path d="M63.84 25.93 L66.10 22.07 L68.36 25.93 L63.84 25.93 Z" fill="#00ff00" fill-opacity="1" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round"/><path d="M68.36 25.93 L70.64 22.07 L72.90 25.93 L68.36 25.93 Z" fill="#00ff00" fill-opacity="1" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round"/><path d="M72.90 25.93 L75.16 22.07 L77.42 25.93 L72.90 25.93 Z" fill="#00ff00" fill-opacity="1" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round"/><path d="M77.42 25.93 L79.68 22.07 L81.94 25.93 L77.42 25.93 Z" fill="#00ff00" fill-opacity="1" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round"/><path d="M81.94 25.93 L84.21 22.07 L86.48 25.93 L81.94 25.93 Z" fill="#00ff00" fill-opacity="1" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round"/><path d="M86.48 25.93 L88.74 22.07 L91.00 25.93 L86.48 25.93 Z" fill="#00ff00" fill-opacity="1" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round"/></svg>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Ditch - Under Construction"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M5.00 25.93 L91.00 25.93" fill="none" stroke="#
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Ditch - Under Construction"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M5.00 25.93 L91.00 25.93" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M5.00 25.93 L7.26 22.07 L9.52 25.93" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M9.52 25.93 L11.79 22.07 L14.06 25.93" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M14.06 25.93 L16.32 22.07 L18.58 25.93" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M18.58 25.93 L20.84 22.07 L23.10 25.93" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M23.10 25.93 L25.36 22.07 L27.64 25.93" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M27.64 25.93 L29.90 22.07 L32.16 25.93" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M32.16 25.93 L34.42 22.07 L36.68 25.93" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M36.68 25.93 L38.94 22.07 L41.21 25.93" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M41.21 25.93 L43.48 22.07 L45.74 25.93" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M45.74 25.93 L48.00 22.07 L50.26 25.93" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M50.26 25.93 L52.52 22.07 L54.79 25.93" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M54.79 25.93 L57.06 22.07 L59.32 25.93" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M59.32 25.93 L61.58 22.07 L63.84 25.93" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M63.84 25.93 L66.10 22.07 L68.36 25.93" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M68.36 25.93 L70.64 22.07 L72.90 25.93" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M72.90 25.93 L75.16 22.07 L77.42 25.93" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M77.42 25.93 L79.68 22.07 L81.94 25.93" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M81.94 25.93 L84.21 22.07 L86.48 25.93" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M86.48 25.93 L88.74 22.07 L91.00 25.93" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/></svg>
|
package/media/antitank-wall.svg
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Antitank Wall"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M5.00 22.07 L7.47 22.07 L9.30 25.93 L11.13 22.07 L16.07 22.07 L17.90 25.93 L19.73 22.07 L24.67 22.07 L26.50 25.93 L28.33 22.07 L33.27 22.07 L35.10 25.93 L36.93 22.07 L41.87 22.07 L43.70 25.93 L45.53 22.07 L50.47 22.07 L52.30 25.93 L54.13 22.07 L59.07 22.07 L60.90 25.93 L62.73 22.07 L67.67 22.07 L69.50 25.93 L71.33 22.07 L76.27 22.07 L78.10 25.93 L79.93 22.07 L84.87 22.07 L86.70 25.93 L88.53 22.07 L91.00 22.07" fill="none" stroke="#
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Antitank Wall"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M5.00 22.07 L7.47 22.07 L9.30 25.93 L11.13 22.07 L16.07 22.07 L17.90 25.93 L19.73 22.07 L24.67 22.07 L26.50 25.93 L28.33 22.07 L33.27 22.07 L35.10 25.93 L36.93 22.07 L41.87 22.07 L43.70 25.93 L45.53 22.07 L50.47 22.07 L52.30 25.93 L54.13 22.07 L59.07 22.07 L60.90 25.93 L62.73 22.07 L67.67 22.07 L69.50 25.93 L71.33 22.07 L76.27 22.07 L78.10 25.93 L79.93 22.07 L84.87 22.07 L86.70 25.93 L88.53 22.07 L91.00 22.07" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/></svg>
|
package/media/block.svg
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Block"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M76.50 5.00 L76.50 43.00 L76.50 24.00 L19.50 24.00" fill="none" stroke="#
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Block"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M76.50 5.00 L76.50 43.00 L76.50 24.00 L19.50 24.00" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/></svg>
|
package/media/disrupt.svg
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Disrupt"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M40.33 9.38 L40.33 38.62" fill="none" stroke="#
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Disrupt"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M40.33 9.38 L40.33 38.62" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M40.33 9.38 L75.40 9.38" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M40.33 24.00 L60.06 24.00" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M40.33 38.62 L51.29 38.62" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M11.83 24.00 L40.33 24.00" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M75.40 5.00 L84.17 9.38 L75.40 13.77 L75.40 5.00 Z" fill="#00ff00" fill-opacity="1" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round"/><path d="M60.06 19.62 L68.83 24.00 L60.06 28.38 L60.06 19.62 Z" fill="#00ff00" fill-opacity="1" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round"/><path d="M51.29 34.23 L60.06 38.62 L51.29 43.00 L51.29 34.23 Z" fill="#00ff00" fill-opacity="1" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round"/></svg>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Double Apron Fence"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M91.00 24.00 L5.00 24.00" fill="none" stroke="#
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Double Apron Fence"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M91.00 24.00 L5.00 24.00" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M89.14 20.29 L83.21 27.71" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M89.14 27.71 L83.21 20.29" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M78.24 20.29 L72.30 27.71" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M78.24 27.71 L72.30 20.29" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M67.33 20.29 L61.40 27.71" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M67.33 27.71 L61.40 20.29" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M56.42 20.29 L50.49 27.71" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M56.42 27.71 L50.49 20.29" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M45.51 20.29 L39.58 27.71" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M45.51 27.71 L39.58 20.29" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M34.60 20.29 L28.67 27.71" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M34.60 27.71 L28.67 20.29" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M23.70 20.29 L17.76 27.71" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M23.70 27.71 L17.76 20.29" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M12.79 20.29 L6.86 27.71" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M12.79 27.71 L6.86 20.29" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/></svg>
|
package/media/double-fence.svg
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Double Fence"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M91.00 24.00 L5.00 24.00" fill="none" stroke="#
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Double Fence"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M91.00 24.00 L5.00 24.00" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M88.78 19.55 L81.67 28.45" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M88.78 28.45 L81.67 19.55" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M81.67 19.55 L74.57 28.45" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M81.67 28.45 L74.57 19.55" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M55.10 19.55 L48.00 28.45" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M55.10 28.45 L48.00 19.55" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M48.00 19.55 L40.90 28.45" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M48.00 28.45 L40.90 19.55" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M21.43 19.55 L14.33 28.45" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M21.43 28.45 L14.33 19.55" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M14.33 19.55 L7.22 28.45" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M14.33 28.45 L7.22 19.55" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/></svg>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Double Strand Concertina"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M91.00 27.71 L5.00 27.71" fill="none" stroke="#
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Double Strand Concertina"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M91.00 27.71 L5.00 27.71" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M91.00 24.00 L5.00 24.00" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M84.33 24.00 L84.34 24.36 L84.36 24.72 L84.40 25.07 L84.46 25.42 L84.54 25.75 L84.64 26.06 L84.75 26.35 L84.87 26.62 L85.01 26.86 L85.15 27.08 L85.31 27.27 L85.47 27.42 L85.64 27.54 L85.81 27.64 L85.99 27.69 L86.18 27.71 L86.36 27.69 L86.55 27.64 L86.72 27.54 L86.89 27.42 L87.05 27.27 L87.21 27.08 L87.35 26.86 L87.49 26.62 L87.61 26.35 L87.72 26.06 L87.82 25.75 L87.90 25.42 L87.96 25.07 L88.00 24.72 L88.02 24.36 L88.03 24.00 L88.02 23.64 L88.00 23.28 L87.96 22.92 L87.90 22.58 L87.82 22.25 L87.72 21.94 L87.61 21.64 L87.49 21.38 L87.35 21.13 L87.21 20.91 L87.05 20.73 L86.89 20.57 L86.72 20.45 L86.55 20.36 L86.36 20.31 L86.18 20.29 L85.99 20.31 L85.81 20.36 L85.64 20.45 L85.47 20.57 L85.31 20.73 L85.15 20.91 L85.01 21.13 L84.87 21.38 L84.75 21.64 L84.64 21.94 L84.54 22.25 L84.46 22.58 L84.40 22.92 L84.36 23.28 L84.34 23.64 L84.33 24.00" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M74.78 24.00 L74.79 24.36 L74.81 24.72 L74.86 25.07 L74.92 25.42 L75.00 25.75 L75.09 26.06 L75.20 26.35 L75.32 26.62 L75.46 26.86 L75.61 27.08 L75.76 27.27 L75.92 27.42 L76.10 27.54 L76.28 27.64 L76.45 27.69 L76.64 27.71 L76.82 27.69 L77.00 27.64 L77.17 27.54 L77.34 27.42 L77.51 27.27 L77.66 27.08 L77.81 26.86 L77.95 26.62 L78.07 26.35 L78.18 26.06 L78.27 25.75 L78.35 25.42 L78.41 25.07 L78.45 24.72 L78.48 24.36 L78.49 24.00 L78.48 23.64 L78.45 23.28 L78.41 22.92 L78.35 22.58 L78.27 22.25 L78.18 21.94 L78.07 21.64 L77.95 21.38 L77.81 21.13 L77.66 20.91 L77.51 20.73 L77.34 20.57 L77.17 20.45 L77.00 20.36 L76.82 20.31 L76.64 20.29 L76.45 20.31 L76.28 20.36 L76.10 20.45 L75.92 20.57 L75.76 20.73 L75.61 20.91 L75.46 21.13 L75.32 21.38 L75.20 21.64 L75.09 21.94 L75.00 22.25 L74.92 22.58 L74.86 22.92 L74.81 23.28 L74.79 23.64 L74.78 24.00" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M65.23 24.00 L65.24 24.36 L65.27 24.72 L65.31 25.07 L65.38 25.42 L65.46 25.75 L65.54 26.06 L65.66 26.35 L65.78 26.62 L65.91 26.86 L66.06 27.08 L66.21 27.27 L66.38 27.42 L66.55 27.54 L66.73 27.64 L66.91 27.69 L67.09 27.71 L67.27 27.69 L67.45 27.64 L67.63 27.54 L67.80 27.42 L67.96 27.27 L68.12 27.08 L68.26 26.86 L68.40 26.62 L68.52 26.35 L68.63 26.06 L68.73 25.75 L68.80 25.42 L68.86 25.07 L68.91 24.72 L68.93 24.36 L68.94 24.00 L68.93 23.64 L68.91 23.28 L68.86 22.92 L68.80 22.58 L68.73 22.25 L68.63 21.94 L68.52 21.64 L68.40 21.38 L68.26 21.13 L68.12 20.91 L67.96 20.73 L67.80 20.57 L67.63 20.45 L67.45 20.36 L67.27 20.31 L67.09 20.29 L66.91 20.31 L66.73 20.36 L66.55 20.45 L66.38 20.57 L66.21 20.73 L66.06 20.91 L65.91 21.13 L65.78 21.38 L65.66 21.64 L65.54 21.94 L65.46 22.25 L65.38 22.58 L65.31 22.92 L65.27 23.28 L65.24 23.64 L65.23 24.00" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M55.69 24.00 L55.70 24.36 L55.72 24.72 L55.77 25.07 L55.83 25.42 L55.91 25.75 L56.01 26.06 L56.11 26.35 L56.23 26.62 L56.37 26.86 L56.51 27.08 L56.67 27.27 L56.83 27.42 L57.00 27.54 L57.18 27.64 L57.37 27.69 L57.55 27.71 L57.73 27.69 L57.91 27.64 L58.08 27.54 L58.25 27.42 L58.41 27.27 L58.58 27.08 L58.72 26.86 L58.85 26.62 L58.98 26.35 L59.09 26.06 L59.18 25.75 L59.26 25.42 L59.32 25.07 L59.36 24.72 L59.39 24.36 L59.39 24.00 L59.39 23.64 L59.36 23.28 L59.32 22.92 L59.26 22.58 L59.18 22.25 L59.09 21.94 L58.98 21.64 L58.85 21.38 L58.72 21.13 L58.58 20.91 L58.41 20.73 L58.25 20.57 L58.08 20.45 L57.91 20.36 L57.73 20.31 L57.55 20.29 L57.37 20.31 L57.18 20.36 L57.00 20.45 L56.83 20.57 L56.67 20.73 L56.51 20.91 L56.37 21.13 L56.23 21.38 L56.11 21.64 L56.01 21.94 L55.91 22.25 L55.83 22.58 L55.77 22.92 L55.72 23.28 L55.70 23.64 L55.69 24.00" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M46.14 24.00 L46.15 24.36 L46.19 24.72 L46.23 25.07 L46.29 25.42 L46.37 25.75 L46.46 26.06 L46.56 26.35 L46.69 26.62 L46.82 26.86 L46.97 27.08 L47.12 27.27 L47.29 27.42 L47.46 27.54 L47.64 27.64 L47.82 27.69 L48.00 27.71 L48.18 27.69 L48.36 27.64 L48.54 27.54 L48.71 27.42 L48.88 27.27 L49.03 27.08 L49.18 26.86 L49.31 26.62 L49.44 26.35 L49.54 26.06 L49.63 25.75 L49.71 25.42 L49.77 25.07 L49.81 24.72 L49.85 24.36 L49.86 24.00 L49.85 23.64 L49.81 23.28 L49.77 22.92 L49.71 22.58 L49.63 22.25 L49.54 21.94 L49.44 21.64 L49.31 21.38 L49.18 21.13 L49.03 20.91 L48.88 20.73 L48.71 20.57 L48.54 20.45 L48.36 20.36 L48.18 20.31 L48.00 20.29 L47.82 20.31 L47.64 20.36 L47.46 20.45 L47.29 20.57 L47.12 20.73 L46.97 20.91 L46.82 21.13 L46.69 21.38 L46.56 21.64 L46.46 21.94 L46.37 22.25 L46.29 22.58 L46.23 22.92 L46.19 23.28 L46.15 23.64 L46.14 24.00" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M36.61 24.00 L36.61 24.36 L36.64 24.72 L36.68 25.07 L36.74 25.42 L36.82 25.75 L36.91 26.06 L37.02 26.35 L37.15 26.62 L37.28 26.86 L37.42 27.08 L37.59 27.27 L37.75 27.42 L37.92 27.54 L38.09 27.64 L38.27 27.69 L38.45 27.71 L38.63 27.69 L38.82 27.64 L39.00 27.54 L39.17 27.42 L39.33 27.27 L39.49 27.08 L39.63 26.86 L39.77 26.62 L39.89 26.35 L39.99 26.06 L40.09 25.75 L40.17 25.42 L40.23 25.07 L40.28 24.72 L40.30 24.36 L40.31 24.00 L40.30 23.64 L40.28 23.28 L40.23 22.92 L40.17 22.58 L40.09 22.25 L39.99 21.94 L39.89 21.64 L39.77 21.38 L39.63 21.13 L39.49 20.91 L39.33 20.73 L39.17 20.57 L39.00 20.45 L38.82 20.36 L38.63 20.31 L38.45 20.29 L38.27 20.31 L38.09 20.36 L37.92 20.45 L37.75 20.57 L37.59 20.73 L37.42 20.91 L37.28 21.13 L37.15 21.38 L37.02 21.64 L36.91 21.94 L36.82 22.25 L36.74 22.58 L36.68 22.92 L36.64 23.28 L36.61 23.64 L36.61 24.00" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M27.06 24.00 L27.07 24.36 L27.09 24.72 L27.14 25.07 L27.20 25.42 L27.27 25.75 L27.37 26.06 L27.48 26.35 L27.60 26.62 L27.74 26.86 L27.88 27.08 L28.04 27.27 L28.20 27.42 L28.37 27.54 L28.55 27.64 L28.73 27.69 L28.91 27.71 L29.09 27.69 L29.27 27.64 L29.45 27.54 L29.62 27.42 L29.79 27.27 L29.94 27.08 L30.09 26.86 L30.22 26.62 L30.34 26.35 L30.46 26.06 L30.54 25.75 L30.62 25.42 L30.69 25.07 L30.73 24.72 L30.76 24.36 L30.77 24.00 L30.76 23.64 L30.73 23.28 L30.69 22.92 L30.62 22.58 L30.54 22.25 L30.46 21.94 L30.34 21.64 L30.22 21.38 L30.09 21.13 L29.94 20.91 L29.79 20.73 L29.62 20.57 L29.45 20.45 L29.27 20.36 L29.09 20.31 L28.91 20.29 L28.73 20.31 L28.55 20.36 L28.37 20.45 L28.20 20.57 L28.04 20.73 L27.88 20.91 L27.74 21.13 L27.60 21.38 L27.48 21.64 L27.37 21.94 L27.27 22.25 L27.20 22.58 L27.14 22.92 L27.09 23.28 L27.07 23.64 L27.06 24.00" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M17.51 24.00 L17.52 24.36 L17.55 24.72 L17.59 25.07 L17.65 25.42 L17.73 25.75 L17.82 26.06 L17.93 26.35 L18.05 26.62 L18.19 26.86 L18.34 27.08 L18.49 27.27 L18.66 27.42 L18.83 27.54 L19.00 27.64 L19.18 27.69 L19.36 27.71 L19.55 27.69 L19.72 27.64 L19.90 27.54 L20.08 27.42 L20.24 27.27 L20.39 27.08 L20.54 26.86 L20.68 26.62 L20.80 26.35 L20.91 26.06 L21.00 25.75 L21.08 25.42 L21.14 25.07 L21.19 24.72 L21.21 24.36 L21.22 24.00 L21.21 23.64 L21.19 23.28 L21.14 22.92 L21.08 22.58 L21.00 22.25 L20.91 21.94 L20.80 21.64 L20.68 21.38 L20.54 21.13 L20.39 20.91 L20.24 20.73 L20.08 20.57 L19.90 20.45 L19.72 20.36 L19.55 20.31 L19.36 20.29 L19.18 20.31 L19.00 20.36 L18.83 20.45 L18.66 20.57 L18.49 20.73 L18.34 20.91 L18.19 21.13 L18.05 21.38 L17.93 21.64 L17.82 21.94 L17.73 22.25 L17.65 22.58 L17.59 22.92 L17.55 23.28 L17.52 23.64 L17.51 24.00" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M7.97 24.00 L7.98 24.36 L8.00 24.72 L8.04 25.07 L8.10 25.42 L8.18 25.75 L8.28 26.06 L8.39 26.35 L8.51 26.62 L8.65 26.86 L8.79 27.08 L8.95 27.27 L9.11 27.42 L9.28 27.54 L9.45 27.64 L9.64 27.69 L9.82 27.71 L10.01 27.69 L10.19 27.64 L10.36 27.54 L10.53 27.42 L10.69 27.27 L10.85 27.08 L10.99 26.86 L11.13 26.62 L11.25 26.35 L11.36 26.06 L11.46 25.75 L11.54 25.42 L11.60 25.07 L11.64 24.72 L11.67 24.36 L11.67 24.00 L11.67 23.64 L11.64 23.28 L11.60 22.92 L11.54 22.58 L11.46 22.25 L11.36 21.94 L11.25 21.64 L11.13 21.38 L10.99 21.13 L10.85 20.91 L10.69 20.73 L10.53 20.57 L10.36 20.45 L10.19 20.36 L10.01 20.31 L9.82 20.29 L9.64 20.31 L9.45 20.36 L9.28 20.45 L9.11 20.57 L8.95 20.73 L8.79 20.91 L8.65 21.13 L8.51 21.38 L8.39 21.64 L8.28 21.94 L8.18 22.25 L8.10 22.58 L8.04 22.92 L8.00 23.28 L7.98 23.64 L7.97 24.00" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/></svg>
|
package/media/fix.svg
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Fix"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M5.00 24.00 L22.20 24.00 L32.52 31.89 L48.00 16.11 L63.48 31.89 L73.80 24.00 L91.00 24.00" fill="none" stroke="#
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Fix"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M5.00 24.00 L22.20 24.00 L32.52 31.89 L48.00 16.11 L63.48 31.89 L73.80 24.00 L91.00 24.00" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M91.00 24.00 L79.73 31.89" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M91.00 24.00 L79.73 16.11" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/></svg>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="High Wire Fence"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M91.00 27.71 L5.00 27.71" fill="none" stroke="#
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="High Wire Fence"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M91.00 27.71 L5.00 27.71" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M91.00 20.29 L5.00 20.29" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M89.14 20.29 L83.21 27.71" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M89.14 27.71 L83.21 20.29" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M78.24 20.29 L72.30 27.71" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M78.24 27.71 L72.30 20.29" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M67.33 20.29 L61.40 27.71" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M67.33 27.71 L61.40 20.29" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M56.42 20.29 L50.49 27.71" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M56.42 27.71 L50.49 20.29" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M45.51 20.29 L39.58 27.71" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M45.51 27.71 L39.58 20.29" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M34.60 20.29 L28.67 27.71" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M34.60 27.71 L28.67 20.29" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M23.70 20.29 L17.76 27.71" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M23.70 27.71 L17.76 20.29" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M12.79 20.29 L6.86 27.71" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M12.79 27.71 L6.86 20.29" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/></svg>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Limited Access Area"><defs><pattern id="reverse-hatch" width="8" height="8" patternUnits="userSpaceOnUse"><path d="M9,-1 L-1,9 M1,-1 L-1,1 M9,7 L7,9" fill="none" stroke="#1e293b" stroke-width="1.25"/></pattern></defs><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M10.00 43.00 L86.00 43.00 L86.00 5.00 L10.00 5.00 L10.00 43.00 Z" fill="url(#reverse-hatch)" fill-opacity="1" stroke="#1e293b" stroke-width="1.25" stroke-linejoin="round"/><g transform="rotate(0.000 48.000 24.000)"><rect x="38.90470715055695" y="18.72296083363277" width="18.190585698886096" height="10.55407833273446" rx="1.5" fill="#f8fafc"/><text x="48" y="24" fill="#1e293b" font-family="sans-serif" font-size="6.554078332734459" font-weight="600" text-anchor="middle" dominant-baseline="central">LAA</text></g></svg>
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Limited Access Area"><defs><pattern id="reverse-hatch-63-75-72-72-65-6e-74-43-6f-6c-6f-72" width="8" height="8" patternUnits="userSpaceOnUse"><path d="M9,-1 L-1,9 M1,-1 L-1,1 M9,7 L7,9" fill="none" stroke="#1e293b" stroke-width="1.25"/></pattern></defs><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M10.00 43.00 L86.00 43.00 L86.00 5.00 L10.00 5.00 L10.00 43.00 Z" fill="url(#reverse-hatch-63-75-72-72-65-6e-74-43-6f-6c-6f-72)" fill-opacity="1" stroke="#1e293b" stroke-width="1.25" stroke-linejoin="round"/><g transform="rotate(0.000 48.000 24.000)"><rect x="38.90470715055695" y="18.72296083363277" width="18.190585698886096" height="10.55407833273446" rx="1.5" fill="#f8fafc"/><text x="48" y="24" fill="#1e293b" font-family="sans-serif" font-size="6.554078332734459" font-weight="600" text-anchor="middle" dominant-baseline="central">LAA</text></g></svg>
|
package/media/low-wire-fence.svg
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Low Wire Fence"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M91.00 27.71 L5.00 27.71" fill="none" stroke="#
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Low Wire Fence"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M91.00 27.71 L5.00 27.71" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M89.14 20.29 L83.21 27.71" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M89.14 27.71 L83.21 20.29" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M78.24 20.29 L72.30 27.71" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M78.24 27.71 L72.30 20.29" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M67.33 20.29 L61.40 27.71" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M67.33 27.71 L61.40 20.29" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M56.42 20.29 L50.49 27.71" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M56.42 27.71 L50.49 20.29" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M45.51 20.29 L39.58 27.71" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M45.51 27.71 L39.58 20.29" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M34.60 20.29 L28.67 27.71" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M34.60 27.71 L28.67 20.29" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M23.70 20.29 L17.76 27.71" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M23.70 27.71 L17.76 20.29" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M12.79 20.29 L6.86 27.71" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M12.79 27.71 L6.86 20.29" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/></svg>
|
package/media/mined-area.svg
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -0.5 96 49" width="96" height="48" role="img" aria-label="Mined Area"><defs><pattern id="mine-unspecified" width="16" height="16" patternUnits="userSpaceOnUse"><path d="M10.5,8 A2.5,2.5 0 1,1 5.5,8 A2.5,2.5 0 1,1 10.5,8" fill="none" stroke="#
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -0.5 96 49" width="96" height="48" role="img" aria-label="Mined Area"><defs><pattern id="mine-unspecified-23-30-30-66-66-30-30" width="16" height="16" patternUnits="userSpaceOnUse"><path d="M10.5,8 A2.5,2.5 0 1,1 5.5,8 A2.5,2.5 0 1,1 10.5,8" fill="none" stroke="#00ff00" stroke-width="1.25"/></pattern></defs><rect x="0" y="-0.5" width="96" height="49" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M13.45 43.00 L82.55 43.00 L82.55 5.00 L13.45 5.00 L13.45 43.00 Z" fill="url(#mine-unspecified-23-30-30-66-66-30-30)" fill-opacity="1" stroke="transparent" stroke-width="1.25" stroke-linejoin="round"/><path d="M13.45 43.00 L43.97 43.00" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M52.03 43.00 L82.55 43.00 L82.55 28.66" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M82.55 19.34 L82.55 5.00 L52.03 5.00" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M43.97 5.00 L13.45 5.00 L13.45 19.34" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M13.45 28.66 L13.45 43.00" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><g transform="rotate(0.000 48.000 5.000)"><text x="48" y="5" fill="#00ff00" font-family="sans-serif" font-size="11" font-weight="600" text-anchor="middle" dominant-baseline="central">M</text></g><g transform="rotate(0.000 82.545 24.000)"><text x="82.54545454545456" y="24" fill="#00ff00" font-family="sans-serif" font-size="11" font-weight="600" text-anchor="middle" dominant-baseline="central">M</text></g><g transform="rotate(0.000 48.000 43.000)"><text x="48" y="43" fill="#00ff00" font-family="sans-serif" font-size="11" font-weight="600" text-anchor="middle" dominant-baseline="central">M</text></g><g transform="rotate(0.000 13.455 24.000)"><text x="13.454545454545446" y="24" fill="#00ff00" font-family="sans-serif" font-size="11" font-weight="600" text-anchor="middle" dominant-baseline="central">M</text></g></svg>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Minefield (Dynamic)"><defs><pattern id="mine-unspecified" width="16" height="16" patternUnits="userSpaceOnUse"><path d="M10.5,8 A2.5,2.5 0 1,1 5.5,8 A2.5,2.5 0 1,1 10.5,8" fill="none" stroke="#
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Minefield (Dynamic)"><defs><pattern id="mine-unspecified-23-30-30-66-66-30-30" width="16" height="16" patternUnits="userSpaceOnUse"><path d="M10.5,8 A2.5,2.5 0 1,1 5.5,8 A2.5,2.5 0 1,1 10.5,8" fill="none" stroke="#00ff00" stroke-width="1.25"/></pattern></defs><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M13.45 43.00 L82.55 43.00 L82.55 5.00 L13.45 5.00 L13.45 43.00 Z" fill="url(#mine-unspecified-23-30-30-66-66-30-30)" fill-opacity="1" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round"/></svg>
|
package/media/minefield.svg
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Minefield"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M20.33 36.91 L20.33 30.20" fill="none" stroke="#
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Minefield"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M20.33 36.91 L20.33 30.20" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M20.33 17.80 L20.33 11.09 L75.67 11.09 L75.67 17.80" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M75.67 30.20 L75.67 36.91 L20.33 36.91" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><g transform="rotate(0.000 48.000 5.000)"><text x="48" y="5" fill="#00ff00" font-family="sans-serif" font-size="7.68" font-weight="600" text-anchor="middle" dominant-baseline="central">+S</text></g><g transform="rotate(0.000 20.326 24.000)"><text x="20.325551232166013" y="24" fill="#00ff00" font-family="sans-serif" font-size="7.68" font-weight="600" text-anchor="middle" dominant-baseline="central">ENY</text></g><g transform="rotate(0.000 75.674 24.000)"><text x="75.67444876783398" y="24" fill="#00ff00" font-family="sans-serif" font-size="7.68" font-weight="600" text-anchor="middle" dominant-baseline="central">ENY</text></g><g transform="rotate(0.000 48.000 43.000)"><text x="48" y="43" fill="#00ff00" font-family="sans-serif" font-size="4.423963133640553" font-weight="600" text-anchor="middle" dominant-baseline="central">032400ZJUL2007</text></g><path d="M36.93 24.00 L36.82 22.92 L36.51 21.88 L36.00 20.93 L35.31 20.09 L34.47 19.40 L33.52 18.89 L32.47 18.57 L31.40 18.47 L30.32 18.57 L29.28 18.89 L28.32 19.40 L27.48 20.09 L26.79 20.93 L26.28 21.88 L25.97 22.92 L25.86 24.00 L25.97 25.08 L26.28 26.12 L26.79 27.07 L27.48 27.91 L28.32 28.60 L29.28 29.11 L30.32 29.43 L31.40 29.53 L32.47 29.43 L33.52 29.11 L34.47 28.60 L35.31 27.91 L36.00 27.07 L36.51 26.12 L36.82 25.08 L36.93 24.00" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M53.53 24.00 L53.43 22.92 L53.11 21.88 L52.60 20.93 L51.91 20.09 L51.07 19.40 L50.12 18.89 L49.08 18.57 L48.00 18.47 L46.92 18.57 L45.88 18.89 L44.93 19.40 L44.09 20.09 L43.40 20.93 L42.89 21.88 L42.57 22.92 L42.47 24.00 L42.57 25.08 L42.89 26.12 L43.40 27.07 L44.09 27.91 L44.93 28.60 L45.88 29.11 L46.92 29.43 L48.00 29.53 L49.08 29.43 L50.12 29.11 L51.07 28.60 L51.91 27.91 L52.60 27.07 L53.11 26.12 L53.43 25.08 L53.53 24.00" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M70.14 24.00 L70.03 22.92 L69.72 21.88 L69.21 20.93 L68.52 20.09 L67.68 19.40 L66.72 18.89 L65.68 18.57 L64.60 18.47 L63.53 18.57 L62.48 18.89 L61.53 19.40 L60.69 20.09 L60.00 20.93 L59.49 21.88 L59.18 22.92 L59.07 24.00 L59.18 25.08 L59.49 26.12 L60.00 27.07 L60.69 27.91 L61.53 28.60 L62.48 29.11 L63.53 29.43 L64.60 29.53 L65.68 29.43 L66.72 29.11 L67.68 28.60 L68.52 27.91 L69.21 27.07 L69.72 26.12 L70.03 25.08 L70.14 24.00" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/></svg>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="No Fire Area (NFA) – Irregular"><defs><pattern id="reverse-hatch" width="8" height="8" patternUnits="userSpaceOnUse"><path d="M9,-1 L-1,9 M1,-1 L-1,1 M9,7 L7,9" fill="none" stroke="#1e293b" stroke-width="1.25"/></pattern></defs><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M14.96 29.78 L29.83 43.00 L69.48 41.35 L81.04 19.87 L62.87 5.00 L31.48 8.30 L14.96 29.78 Z" fill="url(#reverse-hatch)" fill-opacity="1" stroke="#1e293b" stroke-width="1.25" stroke-linejoin="round"/><g transform="rotate(0.000 48.687 16.777)"><rect x="41.71211335905889" y="12.639496195847459" width="13.95038197753441" height="8.27439891265291" rx="1.5" fill="#f8fafc"/><text x="48.68730434782609" y="16.776695652173913" fill="#1e293b" font-family="sans-serif" font-size="4.2743989126529085" font-weight="600" text-anchor="middle" dominant-baseline="central">NFA</text></g><g transform="rotate(0.000 48.687 24.899)"><rect x="43.550104891499636" y="20.761583152369198" width="10.27439891265291" height="8.27439891265291" rx="1.5" fill="#f8fafc"/><text x="48.68730434782609" y="24.898782608695655" fill="#1e293b" font-family="sans-serif" font-size="4.2743989126529085" font-weight="600" text-anchor="middle" dominant-baseline="central">T</text></g><g transform="rotate(0.000 40.995 33.021)"><rect x="33.720383696042745" y="28.883670108890932" width="10.27439891265291" height="8.27439891265291" rx="1.5" fill="#f8fafc"/><text x="40.99478260869566" y="33.02086956521739" fill="#1e293b" font-family="sans-serif" font-size="4.2743989126529085" font-weight="600" text-anchor="end" dominant-baseline="central">W</text></g><g transform="rotate(0.000 48.687 33.021)"><rect x="43.550104891499636" y="28.883670108890932" width="10.27439891265291" height="8.27439891265291" rx="1.5" fill="#f8fafc"/><text x="48.68730434782609" y="33.02086956521739" fill="#1e293b" font-family="sans-serif" font-size="4.2743989126529085" font-weight="600" text-anchor="middle" dominant-baseline="central">–</text></g><g transform="rotate(0.000 56.380 33.021)"><rect x="53.37982608695653" y="28.883670108890932" width="11.300254651689606" height="8.27439891265291" rx="1.5" fill="#f8fafc"/><text x="56.37982608695653" y="33.02086956521739" fill="#1e293b" font-family="sans-serif" font-size="4.2743989126529085" font-weight="600" text-anchor="start" dominant-baseline="central">W1</text></g></svg>
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="No Fire Area (NFA) – Irregular"><defs><pattern id="reverse-hatch-63-75-72-72-65-6e-74-43-6f-6c-6f-72" width="8" height="8" patternUnits="userSpaceOnUse"><path d="M9,-1 L-1,9 M1,-1 L-1,1 M9,7 L7,9" fill="none" stroke="#1e293b" stroke-width="1.25"/></pattern></defs><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M14.96 29.78 L29.83 43.00 L69.48 41.35 L81.04 19.87 L62.87 5.00 L31.48 8.30 L14.96 29.78 Z" fill="url(#reverse-hatch-63-75-72-72-65-6e-74-43-6f-6c-6f-72)" fill-opacity="1" stroke="#1e293b" stroke-width="1.25" stroke-linejoin="round"/><g transform="rotate(0.000 48.687 16.777)"><rect x="41.71211335905889" y="12.639496195847459" width="13.95038197753441" height="8.27439891265291" rx="1.5" fill="#f8fafc"/><text x="48.68730434782609" y="16.776695652173913" fill="#1e293b" font-family="sans-serif" font-size="4.2743989126529085" font-weight="600" text-anchor="middle" dominant-baseline="central">NFA</text></g><g transform="rotate(0.000 48.687 24.899)"><rect x="43.550104891499636" y="20.761583152369198" width="10.27439891265291" height="8.27439891265291" rx="1.5" fill="#f8fafc"/><text x="48.68730434782609" y="24.898782608695655" fill="#1e293b" font-family="sans-serif" font-size="4.2743989126529085" font-weight="600" text-anchor="middle" dominant-baseline="central">T</text></g><g transform="rotate(0.000 40.995 33.021)"><rect x="33.720383696042745" y="28.883670108890932" width="10.27439891265291" height="8.27439891265291" rx="1.5" fill="#f8fafc"/><text x="40.99478260869566" y="33.02086956521739" fill="#1e293b" font-family="sans-serif" font-size="4.2743989126529085" font-weight="600" text-anchor="end" dominant-baseline="central">W</text></g><g transform="rotate(0.000 48.687 33.021)"><rect x="43.550104891499636" y="28.883670108890932" width="10.27439891265291" height="8.27439891265291" rx="1.5" fill="#f8fafc"/><text x="48.68730434782609" y="33.02086956521739" fill="#1e293b" font-family="sans-serif" font-size="4.2743989126529085" font-weight="600" text-anchor="middle" dominant-baseline="central">–</text></g><g transform="rotate(0.000 56.380 33.021)"><rect x="53.37982608695653" y="28.883670108890932" width="11.300254651689606" height="8.27439891265291" rx="1.5" fill="#f8fafc"/><text x="56.37982608695653" y="33.02086956521739" fill="#1e293b" font-family="sans-serif" font-size="4.2743989126529085" font-weight="600" text-anchor="start" dominant-baseline="central">W1</text></g></svg>
|
package/media/obstacle-belt.svg
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Obstacle Belt"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M24.41 35.80 L27.42 35.80 L30.31 43.00 L33.19 35.80 L39.22 35.80 L42.10 43.00 L44.99 35.80 L51.01 35.80 L53.90 43.00 L56.78 35.80 L62.81 35.80 L65.69 43.00 L68.58 35.80 L71.59 35.80 L71.59 32.78 L78.80 29.90 L71.59 27.01 L71.59 20.99 L78.80 18.10 L71.59 15.22 L71.59 12.20 L68.58 12.20 L65.69 5.00 L62.81 12.20 L56.78 12.20 L53.90 5.00 L51.01 12.20 L44.99 12.20 L42.10 5.00 L39.22 12.20 L33.19 12.20 L30.31 5.00 L27.42 12.20 L24.41 12.20 L24.41 15.22 L17.20 18.10 L24.41 20.99 L24.41 27.01 L17.20 29.90 L24.41 32.78 L24.41 35.80 Z" fill="#1e293b" fill-opacity="0" stroke="#
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Obstacle Belt"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M24.41 35.80 L27.42 35.80 L30.31 43.00 L33.19 35.80 L39.22 35.80 L42.10 43.00 L44.99 35.80 L51.01 35.80 L53.90 43.00 L56.78 35.80 L62.81 35.80 L65.69 43.00 L68.58 35.80 L71.59 35.80 L71.59 32.78 L78.80 29.90 L71.59 27.01 L71.59 20.99 L78.80 18.10 L71.59 15.22 L71.59 12.20 L68.58 12.20 L65.69 5.00 L62.81 12.20 L56.78 12.20 L53.90 5.00 L51.01 12.20 L44.99 12.20 L42.10 5.00 L39.22 12.20 L33.19 12.20 L30.31 5.00 L27.42 12.20 L24.41 12.20 L24.41 15.22 L17.20 18.10 L24.41 20.99 L24.41 27.01 L17.20 29.90 L24.41 32.78 L24.41 35.80 Z" fill="#1e293b" fill-opacity="0" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round"/><g transform="rotate(0.000 48.000 24.000)"><text x="48" y="24" fill="#00ff00" font-family="sans-serif" font-size="4.068834326256803" font-weight="600" text-anchor="middle" dominant-baseline="central">T</text></g></svg>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Obstacle Bypass Difficult"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M24.25 8.17 L28.05 10.80 L24.25 13.45 L28.05 16.08 L24.25 18.72 L28.05 21.36 L24.25 24.00 L28.05 26.64 L24.25 29.28 L28.05 31.92 L24.25 34.55 L28.05 37.20 L24.25 39.83" fill="none" stroke="#
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Obstacle Bypass Difficult"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M24.25 8.17 L28.05 10.80 L24.25 13.45 L28.05 16.08 L24.25 18.72 L28.05 21.36 L24.25 24.00 L28.05 26.64 L24.25 29.28 L28.05 31.92 L24.25 34.55 L28.05 37.20 L24.25 39.83" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M24.25 8.17 L65.42 8.17" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M24.25 39.83 L65.42 39.83" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M65.42 5.00 L71.75 8.17 L65.42 11.33 L65.42 5.00 Z" fill="#00ff00" fill-opacity="1" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round"/><path d="M65.42 36.67 L71.75 39.83 L65.42 43.00 L65.42 36.67 Z" fill="#00ff00" fill-opacity="1" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round"/></svg>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Obstacle Bypass Easy"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M24.25 8.17 L24.25 39.83" fill="none" stroke="#
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Obstacle Bypass Easy"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M24.25 8.17 L24.25 39.83" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M24.25 8.17 L65.42 8.17" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M24.25 39.83 L65.42 39.83" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M65.42 5.00 L71.75 8.17 L65.42 11.33 L65.42 5.00 Z" fill="#00ff00" fill-opacity="1" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round"/><path d="M65.42 36.67 L71.75 39.83 L65.42 43.00 L65.42 36.67 Z" fill="#00ff00" fill-opacity="1" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round"/></svg>
|